octave:2> A=randn(4) A = -1.006664 -0.564261 0.334150 -0.416688 -0.030683 -1.855266 1.690597 0.816748 0.434690 0.911120 -0.889656 -1.292324 1.979668 -0.431210 -0.108652 1.041862 octave:3> A=A*A' A = 1.61705 1.30233 -0.71048 -2.21998 1.30233 6.96815 -4.26326 1.40652 -0.71048 -4.26326 3.48068 -0.78210 -2.21998 1.40652 -0.78210 5.20231 octave:4> A' ans = 1.61705 1.30233 -0.71048 -2.21998 1.30233 6.96815 -4.26326 1.40652 -0.71048 -4.26326 3.48068 -0.78210 -2.21998 1.40652 -0.78210 5.20231 octave:5> A*A' ans = 9.7440 11.0872 -7.4377 -12.7514 11.0872 70.4048 -46.5714 17.5611 -7.4377 -46.5714 31.4070 -11.2101 -12.7514 17.5611 -11.2101 34.5823 octave:6> A'*A ans = 9.7440 11.0872 -7.4377 -12.7514 11.0872 70.4048 -46.5714 17.5611 -7.4377 -46.5714 31.4070 -11.2101 -12.7514 17.5611 -11.2101 34.5823 octave:7> [Q,R]=rand(4) Q = 0.053745 0.459561 0.614867 0.694086 0.023414 0.355391 0.895807 0.282790 0.085451 0.231275 0.199424 0.174551 0.422403 0.753571 0.083728 0.935458 error: element number 2 undefined in return list octave:7> [Q,R]=qr(rand(4)) Q = -0.106553 0.697951 0.622315 -0.337986 -0.537884 0.056162 0.276385 0.794442 -0.817675 -0.269631 -0.107593 -0.497122 -0.175313 0.661067 -0.724402 0.086588 R = -1.13470 -1.03513 -0.21633 -1.15452 0.00000 1.20987 0.53020 0.95331 0.00000 0.00000 0.21081 -0.13600 0.00000 0.00000 0.00000 -0.18336 octave:8> Q*Q' ans = 1.00000 0.00000 -0.00000 -0.00000 0.00000 1.00000 0.00000 0.00000 -0.00000 0.00000 1.00000 -0.00000 -0.00000 0.00000 -0.00000 1.00000 octave:9> Q'*Q ans = 1.0000e+00 9.7145e-17 1.1102e-16 -4.3368e-17 9.7145e-17 1.0000e+00 -5.5511e-17 4.5797e-16 1.1102e-16 -5.5511e-17 1.0000e+00 -8.3267e-17 -4.3368e-17 4.5797e-16 -8.3267e-17 1.0000e+00 octave:10> A=[1,1,0;0,1,1;1,0,1] A = 1 1 0 0 1 1 1 0 1 octave:11> A*A' ans = 2 1 1 1 2 1 1 1 2 octave:12> A'*A ans = 2 1 1 1 2 1 1 1 2 octave:13> [1,2i;-2i,1] ans = 1 + 0i 0 + 2i -0 - 2i 1 + 0i octave:14> A=[1,2i;-2i,1] A = 1 + 0i 0 + 2i -0 - 2i 1 + 0i octave:15> A' ans = 1 - 0i -0 + 2i 0 - 2i 1 - 0i octave:16> v=[1+1i,2-1i] v = 1 + 1i 2 - 1i octave:17> v' ans = 1 - 1i 2 + 1i octave:18> v.' ans = 1 + 1i 2 - 1i octave:19> A=[0,1;-1,0] A = 0 1 -1 0 octave:20> A' ans = 0 -1 1 0 octave:21> A=rand(4) A = 0.085169 0.770318 0.764045 0.900867 0.584867 0.701092 0.796253 0.164080 0.738405 0.945977 0.223783 0.349782 0.921140 0.250566 0.292064 0.695213 octave:22> A=A*A' A = 1.9960 1.3461 1.2777 1.1209 1.3461 1.4945 1.3307 1.0610 1.2777 1.3307 1.6125 1.2257 1.1209 1.0610 1.2257 1.4799 octave:23> [U,Lambda]=eig(A) U = 0.163190 -0.322029 0.758304 0.542810 -0.667185 0.559852 0.030280 0.490421 0.684943 0.388911 -0.346782 0.509258 -0.243077 -0.656971 -0.551182 0.453322 Lambda = Diagonal Matrix 0.18579 0 0 0 0 0.39955 0 0 0 0 0.65067 0 0 0 0 5.34695 octave:24> U*Lambda*U' ans = 1.9960 1.3461 1.2777 1.1209 1.3461 1.4945 1.3307 1.0610 1.2777 1.3307 1.6125 1.2257 1.1209 1.0610 1.2257 1.4799 octave:25> A A = 1.9960 1.3461 1.2777 1.1209 1.3461 1.4945 1.3307 1.0610 1.2777 1.3307 1.6125 1.2257 1.1209 1.0610 1.2257 1.4799 octave:26> U*U' ans = 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000 -0.00000 0.00000 0.00000 -0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000 octave:27> norm(U) ans = 1 octave:28> norm(U,1) ans = 1.9958 octave:29> A=rand(4) A = 0.095621 0.351951 0.201757 0.053265 0.771599 0.884953 0.436571 0.730431 0.039531 0.806060 0.731018 0.775665 0.347243 0.709829 0.096233 0.549731 octave:30> [U,Lambda]=eig(A) U = Columns 1 through 3: -0.19371 + 0.00000i 0.52789 + 0.00000i 0.05732 - 0.31302i -0.63197 + 0.00000i -0.71214 + 0.00000i -0.13043 - 0.15139i -0.63905 + 0.00000i 0.26984 + 0.00000i 0.75226 + 0.00000i -0.39334 + 0.00000i 0.37600 + 0.00000i -0.34267 + 0.41891i Column 4: 0.05732 + 0.31302i -0.13043 + 0.15139i 0.75226 - 0.00000i -0.34267 - 0.41891i Lambda = Diagonal Matrix Columns 1 through 3: 2.01755 + 0.00000i 0 0 0 -0.23810 + 0.00000i 0 0 0 0.24093 + 0.25329i 0 0 0 Column 4: 0 0 0 0.24093 - 0.25329i octave:31> U*U' ans = 0.518733 -0.173691 0.352483 -0.026864 -0.173691 0.986382 0.015450 -0.056630 0.352483 0.015450 1.612974 -0.162731 -0.026864 -0.056630 -0.162731 0.881911 octave:32> A A = 0.095621 0.351951 0.201757 0.053265 0.771599 0.884953 0.436571 0.730431 0.039531 0.806060 0.731018 0.775665 0.347243 0.709829 0.096233 0.549731 octave:33> U*Lambda*inv(U) ans = 0.095621 + 0.000000i 0.351951 + 0.000000i 0.201757 - 0.000000i 0.053265 - 0.000000i 0.771599 + 0.000000i 0.884953 + 0.000000i 0.436571 - 0.000000i 0.730431 - 0.000000i 0.039531 + 0.000000i 0.806060 + 0.000000i 0.731018 - 0.000000i 0.775665 - 0.000000i 0.347243 + 0.000000i 0.709829 + 0.000000i 0.096233 - 0.000000i 0.549731 - 0.000000i octave:34> Lambda Lambda = Diagonal Matrix 2.01755 + 0.00000i 0 0 0 0 -0.23810 + 0.00000i 0 0 0 0 0.24093 + 0.25329i 0 0 0 0 0.24093 - 0.25329i octave:35> U*Lambda/U ans = 0.09562 - 0.00000i 0.35195 - 0.00000i 0.20176 + 0.00000i 0.05327 + 0.00000i 0.77160 - 0.00000i 0.88495 + 0.00000i 0.43657 - 0.00000i 0.73043 + 0.00000i 0.03953 - 0.00000i 0.80606 - 0.00000i 0.73102 + 0.00000i 0.77566 + 0.00000i 0.34724 - 0.00000i 0.70983 - 0.00000i 0.09623 + 0.00000i 0.54973 - 0.00000i octave:36> B=rand(2) B = 0.85024 0.15988 0.86871 0.50318 octave:37> A=rand(2) A = 0.078936 0.326798 0.758307 0.200759 octave:38> inv(A)*B ans = 0.48800 0.57052 2.48385 0.35141 octave:39> A\B ans = 0.48800 0.57052 2.48385 0.35141 octave:40> A=[2,1;0,2] A = 2 1 0 2 octave:41> eig(A) ans = 2 2 octave:42> X=rand(2) X = 0.56101 0.17506 0.75234 0.77308 octave:43> X*A/X ans = 0.60242 1.04216 -1.87421 3.39758 octave:44> B=X*A/X B = 0.60242 1.04216 -1.87421 3.39758 octave:45> eig(B) ans = 2.0000 2.0000 octave:46> [U,Lambda]=eig(B) U = 0.59779 0.59779 0.80166 0.80166 Lambda = Diagonal Matrix 2.0000 0 0 2.0000 octave:47> A*U ans = 1.9972 1.9972 1.6033 1.6033 octave:48> U*Lambda ans = 1.1956 1.1956 1.6033 1.6033 octave:49> octave:49> B*U ans = 1.1956 1.1956 1.6033 1.6033 octave:50> Lambda*U ans = 1.1956 1.1956 1.6033 1.6033 octave:51> format long octave:52> format long e octave:53> Lambda Lambda = Diagonal Matrix 1.99999997455270e+00 0 0 2.00000002544730e+00 octave:54> U U = 5.97785923602344e-01 5.97785909612386e-01 8.01655779959761e-01 8.01655790391919e-01 octave:55> inv(U) ans = 4.59366641719232e+07 -3.42544654522445e+07 -4.59366635741373e+07 3.42544662539003e+07 octave:56> A=[2,1;0,2] A = 2.00000000000000e+00 1.00000000000000e+00 0.00000000000000e+00 2.00000000000000e+00 octave:57> [U,Lambda]=eig(A) U = 1.00000000000000e+00 -1.00000000000000e+00 0.00000000000000e+00 4.44089209850063e-16 Lambda = Diagonal Matrix 2.00000000000000e+00 0 0 2.00000000000000e+00 octave:58> inv(U) ans = 1.00000000000000e+00 2.25179981368525e+15 0.00000000000000e+00 2.25179981368525e+15 octave:59> U*Lambda/U ans = 2.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 2.00000000000000e+00 octave:60> A=toeplitz([2,1,0,0]) A = 2.00000000000000e+00 1.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 1.00000000000000e+00 2.00000000000000e+00 1.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 1.00000000000000e+00 2.00000000000000e+00 1.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 1.00000000000000e+00 2.00000000000000e+00 octave:61> format octave:62> A=toeplitz([2,1,0,0]) A = 2 1 0 0 1 2 1 0 0 1 2 1 0 0 1 2 octave:63> eig(A) ans = 0.38197 1.38197 2.61803 3.61803 octave:64> format long e octave:65> eig(A) ans = 3.81966011250105e-01 1.38196601125011e+00 2.61803398874989e+00 3.61803398874990e+00 octave:66> eig(A+1e-8*randn(4)) ans = 3.81965993847036e-01 1.38196599537701e+00 3.61803399599893e+00 2.61803398614860e+00 octave:67> D=[2,0,0;0,2,0,;1,0,0] D = 2.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 2.00000000000000e+00 0.00000000000000e+00 1.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 octave:68> format octave:69> D=[2,0,0;0,2,0,;1,0,0] D = 2 0 0 0 2 0 1 0 0 octave:70> D=[2,0,0;0,2,0,;0,0,1] D = 2 0 0 0 2 0 0 0 1 octave:71> Lambda=[2,0,0;0,2,0,;0,0,1] Lambda = 2 0 0 0 2 0 0 0 1 octave:72> U=hilb(3) U = 1.00000 0.50000 0.33333 0.50000 0.33333 0.25000 0.33333 0.25000 0.20000 octave:73> cond(3) ans = 1 octave:74> cond(U) ans = 524.06 octave:75> octave:75> cond(hilb(10)) ans = 1.6025e+13 octave:76> cond(hilb(20)) ans = 2.5703e+18 octave:77> chol(hilb(20)) error: chol: input matrix must be positive definite octave:77> U U = 1.00000 0.50000 0.33333 0.50000 0.33333 0.25000 0.33333 0.25000 0.20000 octave:78> A=U*Lambda/U A = -8.0000 60.0000 -60.0000 -7.5000 47.0000 -45.0000 -6.0000 36.0000 -34.0000 octave:79> Lambda Lambda = 2 0 0 0 2 0 0 0 1 octave:80> eig(A) ans = 1.0000 2.0000 2.0000 octave:81> format long e octave:82> eig(A) ans = 1.00000000000029e+00 1.99999999999971e+00 2.00000000000000e+00 octave:83> eig(A+1e-8*randn(4)) error: operator +: nonconformant arguments (op1 is 3x3, op2 is 4x4) error: evaluating argument list element number 1 octave:83> eig(A+1e-8*randn(3)) ans = 1.00000160601704e+00 1.99999841275665e+00 2.00000000071599e+00 octave:84> cond(U) ans = 5.24056777586064e+02 octave:85> format octave:86> eig(A+1e-8*randn(3)) ans = 1.00000 + 0.00000i 2.00000 + 0.00000i 2.00000 - 0.00000i octave:87> format long e octave:88> eig(A+1e-8*randn(3)) ans = 9.99999233559085e-01 2.00000075259723e+00 2.00000002972748e+00 octave:89> eig(A+1e-8*randn(3)) ans = 9.99999660645926e-01 2.00000033757362e+00 1.99999999768924e+00 octave:90> eig(A+1e-8*randn(3)) ans = 1.00000034355802e+00 1.99999969092095e+00 1.99999999638687e+00 octave:91> eig(A+1e-8*randn(3)) ans = 1.00000128026348e+00 1.99999867599683e+00 1.99999998044959e+00 octave:92> eig(A+1e-8*randn(3)) ans = 1.00000039267019e+00 1.99999961741552e+00 1.99999999772870e+00 octave:93> eig(A+1e-8*randn(3)) ans = 9.99999025376499e-01 2.00000096664045e+00 2.00000003869064e+00 octave:94> eig(A+1e-8*randn(3)) ans = 9.99999269513278e-01 2.00000073414364e+00 2.00000000630172e+00 octave:95> eig(A+1e-8*randn(3)) ans = 9.99999983638986e-01 2.00000000449806e+00 2.00000002584714e+00 octave:96> help eig 'eig' is a built-in function from the file libinterp/corefcn/eig.cc -- Built-in Function: LAMBDA = eig (A) -- Built-in Function: LAMBDA = eig (A, B) -- Built-in Function: [V, LAMBDA] = eig (A) -- Built-in Function: [V, LAMBDA] = eig (A, B) Compute the eigenvalues (and optionally the eigenvectors) of a matrix or a pair of matrices The algorithm used depends on whether there are one or two input matrices, if they are real or complex and if they are symmetric (Hermitian if complex) or non-symmetric. The eigenvalues returned by 'eig' are not ordered. See also: eigs, svd. Additional help for built-in functions and operators is available in the online version of the manual. Use the command 'doc ' to search the manual index. Help and information about Octave is also available on the WWW at http://www.octave.org and via the help@octave.org mailing list. octave:97> A = [1, 2; 2, 1]; octave:98> A A = 1.00000000000000e+00 2.00000000000000e+00 2.00000000000000e+00 1.00000000000000e+00 octave:99> format octave:100> A A = 1 2 2 1 octave:101> qr_shift(A) its = 1 A = 2.60000 1.20000 1.20000 -0.60000 Invio per continuare, q per interrompere: its = 2 A = 2.95122 0.43902 0.43902 -0.95122 Invio per continuare, q per interrompere: its = 3 A = 2.99452 0.14795 0.14795 -0.99452 Invio per continuare, q per interrompere: its = 4 A = 2.999390 0.049375 0.049375 -0.999390 Invio per continuare, q per interrompere: its = 5 A = 2.999932 0.016461 0.016461 -0.999932 Invio per continuare, q per interrompere: its = 6 A = 2.9999925 0.0054870 0.0054870 -0.9999925 Invio per continuare, q per interrompere: its = 7 A = 2.9999992 0.0018290 0.0018290 -0.9999992 Invio per continuare, q per interrompere: its = 8 A = 3.0000e+00 6.0966e-04 6.0966e-04 -1.0000e+00 Invio per continuare, q per interrompere: its = 9 A = 3.0000e+00 2.0322e-04 2.0322e-04 -1.0000e+00 Invio per continuare, q per interrompere: its = 10 A = 3.0000e+00 6.7740e-05 6.7740e-05 -1.0000e+00 Invio per continuare, q per interrompere: its = 11 A = 3.0000e+00 2.2580e-05 2.2580e-05 -1.0000e+00 Invio per continuare, q per interrompere: its = 12 A = 3.0000e+00 7.5267e-06 7.5267e-06 -1.0000e+00 Invio per continuare, q per interrompere: its = 13 A = 3.0000e+00 2.5089e-06 2.5089e-06 -1.0000e+00 Invio per continuare, q per interrompere: its = 14 A = 3.00000 0.00000 0.00000 -1.00000 Invio per continuare, q per interrompere: q ans = 3.00000 0.00000 0.00000 -1.00000 octave:102> A = [0, 0, 2; 1, 0, 1; 0, 1, 1]; octave:103> qr_shift(A) its = 1 A = 0 1 -1 1 1 0 0 -2 0 Invio per continuare, q per interrompere: its = 2 A = 1.00000 -0.44721 -0.89443 -2.23607 0.40000 -0.20000 0.00000 0.80000 -0.40000 Invio per continuare, q per interrompere: its = 3 A = 1.50000 0.76376 -1.87083 0.76376 -0.21429 0.29161 0.00000 -0.93314 -0.28571 Invio per continuare, q per interrompere: its = 4 A = 1.76471 -1.45171 0.55476 -0.48862 -0.21398 -0.98420 0.00000 0.95608 -0.55072 Invio per continuare, q per interrompere: its = 5 A = 2.12281 -1.10179 0.26309 0.30030 -0.61086 0.89734 0.00000 -0.82456 -0.51195 Invio per continuare, q per interrompere: its = 6 A = 1.95802 -0.36362 -1.47096 -0.13161 -0.48198 -0.79680 0.00000 0.87126 -0.47603 Invio per continuare, q per interrompere: its = 7 A = 1.98018 1.12397 0.88087 0.06755 -0.47254 0.88763 0.00000 -0.87533 -0.50764 Invio per continuare, q per interrompere: its = 8 A = 2.01792 1.31010 0.43868 -0.03455 -0.51603 -0.87147 0.00000 0.86044 -0.50190 Invio per continuare, q per interrompere: its = 9 A = 1.99535 0.27981 -1.39938 0.01698 -0.49829 0.85754 0.00000 -0.86660 -0.49706 Invio per continuare, q per interrompere: its = 10 A = 1.99770 -1.07599 0.92024 -0.00852 -0.49672 -0.86883 0.00000 0.86716 -0.50097 Invio per continuare, q per interrompere: its = 11 A = 2.00227 -1.33308 0.45989 0.00427 -0.50203 0.86673 0.00000 -0.86532 -0.50024 Invio per continuare, q per interrompere: its = 12 A = 1.99943 -0.26884 -1.39007 -0.00213 -0.49980 -0.86497 0.00000 0.86610 -0.49963 Invio per continuare, q per interrompere: its = 13 A = 1.99971 1.06991 0.92512 0.00107 -0.49959 0.86638 0.00000 -0.86617 -0.50012 Invio per continuare, q per interrompere: its = 14 A = 2.00028 1.33590 0.46253 -0.00053 -0.50025 -0.86611 0.00000 0.86594 -0.50003 Invio per continuare, q per interrompere: its = 15 A = 1.99993 0.26746 -1.38890 0.00027 -0.49997 0.86589 0.00000 -0.86603 -0.49995 Invio per continuare, q per interrompere: its = 16 A = 1.99996 -1.06915 0.92573 -0.00013 -0.49995 -0.86607 0.00000 0.86604 -0.50002 Invio per continuare, q per interrompere: its = 17 A = 2.00004 -1.33626 0.46286 0.00007 -0.50003 0.86604 0.00000 -0.86601 -0.50000 Invio per continuare, q per interrompere: its = 18 A = 1.99999 -0.26729 -1.38875 -0.00003 -0.50000 -0.86601 0.00000 0.86603 -0.49999 Invio per continuare, q per interrompere: its = 19 A = 2.00000 1.06906 0.92581 0.00002 -0.49999 0.86603 0.00000 -0.86603 -0.50000 Invio per continuare, q per interrompere: its = 20 A = 2.00000 1.33630 0.46290 -0.00001 -0.50000 -0.86603 0.00000 0.86602 -0.50000 Invio per continuare, q per interrompere: its = 21 A = 2.00000 0.26726 -1.38873 0.00000 -0.50000 0.86602 0.00000 -0.86603 -0.50000 Invio per continuare, q per interrompere: its = 22 A = 2.00000 -1.06905 0.92582 -0.00000 -0.50000 -0.86603 0.00000 0.86603 -0.50000 Invio per continuare, q per interrompere: its = 23 A = 2.00000 -1.33631 0.46291 0.00000 -0.50000 0.86603 0.00000 -0.86603 -0.50000 Invio per continuare, q per interrompere: its = 24 A = 2.00000 -0.26726 -1.38873 0.00000 -0.50000 -0.86603 0.00000 0.86603 -0.50000 Invio per continuare, q per interrompere: its = 25 A = 2.00000 -1.06905 -0.92582 0.00000 -0.50000 0.86603 0.00000 -0.86603 -0.50000 Invio per continuare, q per interrompere: its = 26 A = 2.00000 1.33631 0.46291 0.00000 -0.50000 -0.86603 0.00000 0.86603 -0.50000 Invio per continuare, q per interrompere: its = 27 A = 2.00000 -0.26726 1.38873 0.00000 -0.50000 0.86603 0.00000 -0.86603 -0.50000 Invio per continuare, q per interrompere: its = 28 A = 2.00000 -1.06905 0.92582 0.00000 -0.50000 -0.86603 0.00000 0.86603 -0.50000 Invio per continuare, q per interrompere: its = 29 A = 2.00000 1.33631 -0.46291 0.00000 -0.50000 0.86603 0.00000 -0.86603 -0.50000 Invio per continuare, q per interrompere: its = 30 A = 2.00000 -0.26726 -1.38873 0.00000 -0.50000 -0.86603 0.00000 0.86603 -0.50000 Invio per continuare, q per interrompere: its = 31 A = 2.00000 -1.06905 -0.92582 0.00000 -0.50000 0.86603 0.00000 -0.86603 -0.50000 Invio per continuare, q per interrompere: its = 32 A = 2.00000 1.33631 0.46291 0.00000 -0.50000 -0.86603 0.00000 0.86603 -0.50000 Invio per continuare, q per interrompere: its = 33 A = 2.00000 -0.26726 1.38873 0.00000 -0.50000 0.86603 0.00000 -0.86603 -0.50000 Invio per continuare, q per interrompere: its = 34 A = 2.00000 -1.06905 0.92582 0.00000 -0.50000 -0.86603 0.00000 0.86603 -0.50000 Invio per continuare, q per interrompere: its = 35 A = 2.00000 1.33631 -0.46291 0.00000 -0.50000 0.86603 0.00000 -0.86603 -0.50000 Invio per continuare, q per interrompere: its = 36 A = 2.00000 -0.26726 -1.38873 0.00000 -0.50000 -0.86603 0.00000 0.86603 -0.50000 Invio per continuare, q per interrompere: its = 37 A = 2.00000 -1.06905 -0.92582 0.00000 -0.50000 0.86603 0.00000 -0.86603 -0.50000 Invio per continuare, q per interrompere: its = 38 A = 2.00000 1.33631 0.46291 0.00000 -0.50000 -0.86603 0.00000 0.86603 -0.50000 Invio per continuare, q per interrompere: its = 39 A = 2.00000 -0.26726 1.38873 0.00000 -0.50000 0.86603 0.00000 -0.86603 -0.50000 Invio per continuare, q per interrompere: its = 40 A = 2.00000 -1.06905 0.92582 0.00000 -0.50000 -0.86603 0.00000 0.86603 -0.50000 Invio per continuare, q per interrompere: q ans = 2.00000 -1.06905 0.92582 0.00000 -0.50000 -0.86603 0.00000 0.86603 -0.50000 octave:104> A = [0, 0, 2; 1, 0, 1; 0, 1, 1]; octave:105> A=toeplitz([2,1,0,0]) A = 2 1 0 0 1 2 1 0 0 1 2 1 0 0 1 2 octave:106> qr_shift(A) its = 1 A = 2.80000 0.74833 0.00000 0.00000 0.74833 2.34286 0.87482 0.00000 0.00000 0.87482 2.19048 -0.62361 0.00000 0.00000 -0.62361 0.66667 Invio per continuare, q per interrompere: its = 2 A = 3.14286 0.58029 0.00000 0.00000 0.58029 2.63492 0.70073 0.00000 0.00000 0.70073 1.82222 0.14771 0.00000 0.00000 0.14771 0.40000 Invio per continuare, q per interrompere: its = 3 A = 3.33333 0.46893 0.00000 0.00000 0.46893 2.75854 0.42702 0.00000 0.00000 0.42702 1.52493 -0.03612 0.00000 0.00000 -0.03612 0.38319 Invio per continuare, q per interrompere: its = 4 A = 3.45155 0.37617 0.00000 0.00000 0.37617 2.74448 0.22761 0.00000 0.00000 0.22761 1.42191 0.00959 0.00000 0.00000 0.00959 0.38206 Invio per continuare, q per interrompere: its = 5 A = 3.52428 0.29222 0.00000 0.00000 0.29222 2.70091 0.11796 0.00000 0.00000 0.11796 1.39284 -0.00262 0.00000 0.00000 -0.00262 0.38197 Invio per continuare, q per interrompere: its = 6 A = 3.56679 0.22064 0.00000 0.00000 0.22064 2.66630 0.06124 0.00000 0.00000 0.06124 1.38494 0.00072 0.00000 0.00000 0.00072 0.38197 Invio per continuare, q per interrompere: its = 7 A = 3.59055 0.16351 0.00000 0.00000 0.16351 2.64470 0.03199 0.00000 0.00000 0.03199 1.38278 -0.00020 0.00000 0.00000 -0.00020 0.38197 Invio per continuare, q per interrompere: its = 8 A = 3.60346 0.11986 0.00000 0.00000 0.11986 2.63238 0.01678 0.00000 0.00000 0.01678 1.38219 0.00006 0.00000 0.00000 0.00006 0.38197 Invio per continuare, q per interrompere: its = 9 A = 3.61035 0.08733 0.00000 0.00000 0.08733 2.62566 0.00883 0.00000 0.00000 0.00883 1.38203 -0.00002 0.00000 0.00000 -0.00002 0.38197 Invio per continuare, q per interrompere: its = 10 A = 3.61399 0.06342 0.00000 0.00000 0.06342 2.62206 0.00465 0.00000 0.00000 0.00465 1.38198 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 11 A = 3.61592 0.04598 0.00000 0.00000 0.04598 2.62015 0.00245 0.00000 0.00000 0.00245 1.38197 -0.00000 0.00000 0.00000 -0.00000 0.38197 Invio per continuare, q per interrompere: its = 12 A = 3.61692 0.03331 0.00000 0.00000 0.03331 2.61914 0.00129 0.00000 0.00000 0.00129 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 13 A = 3.61745 0.02411 0.00000 0.00000 0.02411 2.61862 -0.00068 0.00000 0.00000 -0.00068 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 14 A = 3.61773 0.01745 0.00000 0.00000 0.01745 2.61834 0.00036 0.00000 0.00000 0.00036 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 15 A = 3.61787 0.01263 0.00000 0.00000 0.01263 2.61819 -0.00019 0.00000 0.00000 -0.00019 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 16 A = 3.61795 0.00914 0.00000 0.00000 0.00914 2.61812 0.00010 0.00000 0.00000 0.00010 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 17 A = 3.61799 0.00661 0.00000 0.00000 0.00661 2.61808 -0.00005 0.00000 0.00000 -0.00005 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 18 A = 3.61801 0.00479 0.00000 0.00000 0.00479 2.61806 0.00003 0.00000 0.00000 0.00003 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 19 A = 3.61802 0.00346 0.00000 0.00000 0.00346 2.61805 -0.00001 0.00000 0.00000 -0.00001 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 20 A = 3.61803 0.00251 0.00000 0.00000 0.00251 2.61804 0.00001 0.00000 0.00000 0.00001 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 21 A = 3.61803 0.00181 0.00000 0.00000 0.00181 2.61804 -0.00000 0.00000 0.00000 -0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 22 A = 3.61803 0.00131 0.00000 0.00000 0.00131 2.61804 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 23 A = 3.61803 0.00095 0.00000 0.00000 0.00095 2.61803 -0.00000 0.00000 0.00000 -0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 24 A = 3.61803 0.00069 0.00000 0.00000 0.00069 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 25 A = 3.61803 -0.00050 0.00000 0.00000 -0.00050 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 26 A = 3.61803 0.00036 0.00000 0.00000 0.00036 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 27 A = 3.61803 -0.00026 0.00000 0.00000 -0.00026 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 28 A = 3.61803 0.00019 0.00000 0.00000 0.00019 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 29 A = 3.61803 -0.00014 0.00000 0.00000 -0.00014 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 30 A = 3.61803 0.00010 0.00000 0.00000 0.00010 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 31 A = 3.61803 -0.00007 0.00000 0.00000 -0.00007 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 32 A = 3.61803 0.00005 0.00000 0.00000 0.00005 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 33 A = 3.61803 -0.00004 0.00000 0.00000 -0.00004 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 34 A = 3.61803 0.00003 0.00000 0.00000 0.00003 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 35 A = 3.61803 -0.00002 0.00000 0.00000 -0.00002 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 36 A = 3.61803 0.00001 0.00000 0.00000 0.00001 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 37 A = 3.61803 -0.00001 0.00000 0.00000 -0.00001 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 38 A = 3.61803 0.00001 0.00000 0.00000 0.00001 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 39 A = 3.61803 -0.00001 0.00000 0.00000 -0.00001 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 40 A = 3.61803 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: q ans = 3.61803 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 octave:107> qr_shift(A,0.4) its = 1 A = 2.89888 0.68769 0.00000 0.00000 0.68769 2.46791 0.82069 0.00000 0.00000 0.82069 2.24987 0.04553 0.00000 0.00000 0.04553 0.38334 Invio per continuare, q per interrompere: its = 2 A = 3.22039 0.52764 0.00000 0.00000 0.52764 2.75892 0.56094 0.00000 0.00000 0.56094 1.63872 0.00060 0.00000 0.00000 0.00060 0.38197 Invio per continuare, q per interrompere: its = 3 A = 3.39553 0.42136 0.00000 0.00000 0.42136 2.78889 0.26097 0.00000 0.00000 0.26097 1.43361 0.00001 0.00000 0.00000 0.00001 0.38197 Invio per continuare, q per interrompere: its = 4 A = 3.50001 0.32338 0.00000 0.00000 0.32338 2.72634 0.11219 0.00000 0.00000 0.11219 1.39168 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 5 A = 3.55842 0.23687 0.00000 0.00000 0.23687 2.67580 -0.04840 0.00000 0.00000 -0.04840 1.38381 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 6 A = 3.58881 0.16844 0.00000 0.00000 0.16844 2.64690 0.02112 0.00000 0.00000 0.02112 1.38232 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 7 A = 3.60394 0.11789 0.00000 0.00000 0.11789 2.63206 -0.00928 0.00000 0.00000 -0.00928 1.38204 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 8 A = 3.61129 0.08186 0.00000 0.00000 0.08186 2.62477 0.00409 0.00000 0.00000 0.00409 1.38198 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 9 A = 3.61482 0.05662 0.00000 0.00000 0.05662 2.62125 -0.00181 0.00000 0.00000 -0.00181 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 10 A = 3.61650 0.03909 0.00000 0.00000 0.03909 2.61956 0.00080 0.00000 0.00000 0.00080 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 11 A = 3.61731 0.02697 0.00000 0.00000 0.02697 2.61876 -0.00035 0.00000 0.00000 -0.00035 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 12 A = 3.61769 0.01859 0.00000 0.00000 0.01859 2.61838 0.00016 0.00000 0.00000 0.00016 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 13 A = 3.61787 0.01282 0.00000 0.00000 0.01282 2.61820 -0.00007 0.00000 0.00000 -0.00007 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 14 A = 3.61796 0.00884 0.00000 0.00000 0.00884 2.61811 0.00003 0.00000 0.00000 0.00003 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 15 A = 3.61800 0.00609 0.00000 0.00000 0.00609 2.61807 -0.00001 0.00000 0.00000 -0.00001 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 16 A = 3.61802 0.00420 0.00000 0.00000 0.00420 2.61805 0.00001 0.00000 0.00000 0.00001 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 17 A = 3.61803 0.00289 0.00000 0.00000 0.00289 2.61804 -0.00000 0.00000 0.00000 -0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 18 A = 3.61803 0.00199 0.00000 0.00000 0.00199 2.61804 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: its = 19 A = 3.61803 0.00137 0.00000 0.00000 0.00137 2.61804 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 Invio per continuare, q per interrompere: q ans = 3.61803 0.00137 0.00000 0.00000 0.00137 2.61804 0.00000 0.00000 0.00000 0.00000 1.38197 0.00000 0.00000 0.00000 0.00000 0.38197 octave:108> qr_shift(A,'auto') mu_n = 2 its = 1 A = 2.00000 -1.41421 0.00000 0.00000 -1.41421 2.00000 -0.70711 0.00000 0.00000 -0.70711 2.00000 0.70711 0.00000 0.00000 0.70711 2.00000 Invio per continuare, q per interrompere: mu_n = 2 its = 2 A = 2.00000 1.58114 0.00000 0.00000 1.58114 2.00000 0.31623 0.00000 0.00000 0.31623 2.00000 0.63246 0.00000 0.00000 0.63246 2.00000 Invio per continuare, q per interrompere: mu_n = 2 its = 3 A = 2.00000 -1.61245 0.00000 0.00000 -1.61245 2.00000 -0.12403 0.00000 0.00000 -0.12403 2.00000 0.62017 0.00000 0.00000 0.62017 2.00000 Invio per continuare, q per interrompere: mu_n = 2 its = 4 A = 2.00000 1.61722 0.00000 0.00000 1.61722 2.00000 0.04757 0.00000 0.00000 0.04757 2.00000 0.61835 0.00000 0.00000 0.61835 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 5 A = 2.00000 -1.61791 0.00000 0.00000 -1.61791 2.00000 -0.01818 0.00000 0.00000 -0.01818 2.00000 0.61808 0.00000 0.00000 0.61808 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 6 A = 2.00000 1.61802 0.00000 0.00000 1.61802 2.00000 0.00694 0.00000 0.00000 0.00694 2.00000 0.61804 0.00000 0.00000 0.61804 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 7 A = 2.00000 -1.61803 0.00000 0.00000 -1.61803 2.00000 -0.00265 0.00000 0.00000 -0.00265 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 8 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00101 0.00000 0.00000 0.00101 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 9 A = 2.00000 -1.61803 0.00000 0.00000 -1.61803 2.00000 -0.00039 0.00000 0.00000 -0.00039 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 10 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00015 0.00000 0.00000 0.00015 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 11 A = 2.00000 -1.61803 0.00000 0.00000 -1.61803 2.00000 -0.00006 0.00000 0.00000 -0.00006 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 12 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00002 0.00000 0.00000 0.00002 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 13 A = 2.00000 -1.61803 0.00000 0.00000 -1.61803 2.00000 -0.00001 0.00000 0.00000 -0.00001 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 14 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00000 0.00000 0.00000 0.00000 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 15 A = 2.00000 -1.61803 0.00000 0.00000 -1.61803 2.00000 -0.00000 0.00000 0.00000 -0.00000 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 16 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00000 0.00000 0.00000 0.00000 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 17 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00000 0.00000 0.00000 0.00000 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 18 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00000 0.00000 0.00000 0.00000 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 19 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00000 0.00000 0.00000 0.00000 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 20 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00000 0.00000 0.00000 0.00000 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 21 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00000 0.00000 0.00000 0.00000 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 22 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00000 0.00000 0.00000 0.00000 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 23 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00000 0.00000 0.00000 0.00000 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 24 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00000 0.00000 0.00000 0.00000 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 25 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00000 0.00000 0.00000 0.00000 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 26 A = 2.00000 1.61803 0.00000 0.00000 1.61803 2.00000 0.00000 0.00000 0.00000 0.00000 2.00000 0.61803 0.00000 0.00000 0.61803 2.00000 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 27 A = 2.00001 1.61803 0.00000 0.00000 1.61803 1.99999 0.00000 0.00000 0.00000 0.00000 2.00001 0.61803 0.00000 0.00000 0.61803 1.99999 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 28 A = 2.00004 1.61803 0.00000 0.00000 1.61803 1.99996 0.00000 0.00000 0.00000 0.00000 2.00004 0.61803 0.00000 0.00000 0.61803 1.99996 Invio per continuare, q per interrompere: mu_n = 2.0000 its = 29 A = 2.00013 1.61803 0.00000 0.00000 1.61803 1.99987 0.00000 0.00000 0.00000 0.00000 2.00013 0.61803 0.00000 0.00000 0.61803 1.99987 Invio per continuare, q per interrompere: mu_n = 1.9999 its = 30 A = 2.00038 1.61803 0.00000 0.00000 1.61803 1.99962 0.00000 0.00000 0.00000 0.00000 2.00038 0.61803 0.00000 0.00000 0.61803 1.99962 Invio per continuare, q per interrompere: mu_n = 1.9996 its = 31 A = 2.00113 1.61803 0.00000 0.00000 1.61803 1.99887 0.00000 0.00000 0.00000 0.00000 2.00113 0.61803 0.00000 0.00000 0.61803 1.99887 Invio per continuare, q per interrompere: mu_n = 1.9989 its = 32 A = 2.00339 1.61803 0.00000 0.00000 1.61803 1.99661 0.00000 0.00000 0.00000 0.00000 2.00339 0.61802 0.00000 0.00000 0.61802 1.99661 Invio per continuare, q per interrompere: mu_n = 1.9966 its = 33 A = 2.01016 1.61800 0.00000 0.00000 1.61800 1.98984 0.00000 0.00000 0.00000 0.00000 2.01016 0.61795 0.00000 0.00000 0.61795 1.98984 Invio per continuare, q per interrompere: mu_n = 1.9898 its = 34 A = 2.03048 1.61775 0.00000 0.00000 1.61775 1.96952 0.00000 0.00000 0.00000 0.00000 2.03046 0.61728 0.00000 0.00000 0.61728 1.96954 Invio per continuare, q per interrompere: mu_n = 1.9695 its = 35 A = 2.09130 1.61546 0.00000 0.00000 1.61546 1.90870 0.00000 0.00000 0.00000 0.00000 2.09078 0.61133 0.00000 0.00000 0.61133 1.90922 Invio per continuare, q per interrompere: mu_n = 1.9092 its = 36 A = 2.27058 1.59525 0.00000 0.00000 1.59525 1.72942 0.00000 0.00000 0.00000 0.00000 2.25762 0.56178 0.00000 0.00000 0.56178 1.74238 Invio per continuare, q per interrompere: mu_n = 1.7424 its = 37 A = 2.73492 1.44150 0.00000 0.00000 1.44150 1.26508 0.00000 0.00000 0.00000 0.00000 2.53747 0.30512 0.00000 0.00000 0.30512 1.46253 Invio per continuare, q per interrompere: mu_n = 1.4625 its = 38 A = 3.33911 0.90819 0.00000 0.00000 0.90819 0.66089 0.00000 0.00000 0.00000 0.00000 2.61762 0.02275 0.00000 0.00000 0.02275 1.38238 Invio per continuare, q per interrompere: mu_n = 1.3824 its = 39 A = 3.55805 0.43649 0.00000 0.00000 0.43649 0.44195 0.00000 0.00000 0.00000 0.00000 2.61803 0.00001 0.00000 0.00000 0.00001 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 40 A = 3.60586 0.19814 0.00000 0.00000 0.19814 0.39414 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 41 A = 3.61559 0.08888 0.00000 0.00000 0.08888 0.38441 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 42 A = 3.61755 0.03977 0.00000 0.00000 0.03977 0.38245 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 43 A = 3.61794 0.01779 0.00000 0.00000 0.01779 0.38206 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 44 A = 3.61801 0.00796 0.00000 0.00000 0.00796 0.38199 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 45 A = 3.61803 0.00356 0.00000 0.00000 0.00356 0.38197 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 46 A = 3.61803 0.00159 0.00000 0.00000 0.00159 0.38197 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 47 A = 3.61803 0.00071 0.00000 0.00000 0.00071 0.38197 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 48 A = 3.61803 0.00032 0.00000 0.00000 0.00032 0.38197 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 49 A = 3.61803 0.00014 0.00000 0.00000 0.00014 0.38197 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 50 A = 3.61803 0.00006 0.00000 0.00000 0.00006 0.38197 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 51 A = 3.61803 0.00003 0.00000 0.00000 0.00003 0.38197 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 52 A = 3.61803 0.00001 0.00000 0.00000 0.00001 0.38197 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 53 A = 3.61803 0.00001 0.00000 0.00000 0.00001 0.38197 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: mu_n = 1.3820 its = 54 A = 3.61803 0.00000 0.00000 0.00000 0.00000 0.38197 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 Invio per continuare, q per interrompere: q ans = 3.61803 0.00000 0.00000 0.00000 0.00000 0.38197 0.00000 0.00000 0.00000 0.00000 2.61803 0.00000 0.00000 0.00000 0.00000 1.38197 octave:109> A=[2,1;1,2] A = 2 1 1 2 octave:110> qr_shift(A) its = 1 A = 2.80000 -0.60000 -0.60000 1.20000 Invio per continuare, q per interrompere: its = 2 A = 2.97561 0.21951 0.21951 1.02439 Invio per continuare, q per interrompere: its = 3 A = 2.997260 -0.073973 -0.073973 1.002740 Invio per continuare, q per interrompere: its = 4 A = 2.999695 0.024688 0.024688 1.000305 Invio per continuare, q per interrompere: its = 5 A = 2.9999661 -0.0082303 -0.0082303 1.0000339 Invio per continuare, q per interrompere: its = 6 A = 2.9999962 0.0027435 0.0027435 1.0000038 Invio per continuare, q per interrompere: its = 7 A = 3.0000e+00 -9.1449e-04 -9.1449e-04 1.0000e+00 Invio per continuare, q per interrompere: its = 8 A = 3.0000e+00 3.0483e-04 3.0483e-04 1.0000e+00 Invio per continuare, q per interrompere: its = 9 A = 3.0000e+00 -1.0161e-04 -1.0161e-04 1.0000e+00 Invio per continuare, q per interrompere: its = 10 A = 3.0000e+00 3.3870e-05 3.3870e-05 1.0000e+00 Invio per continuare, q per interrompere: its = 11 A = 3.0000e+00 -1.1290e-05 -1.1290e-05 1.0000e+00 Invio per continuare, q per interrompere: its = 12 A = 3.0000e+00 3.7634e-06 3.7634e-06 1.0000e+00 Invio per continuare, q per interrompere: its = 13 A = 3.0000e+00 -1.2545e-06 -1.2545e-06 1.0000e+00 Invio per continuare, q per interrompere: its = 14 A = 3.00000 0.00000 0.00000 1.00000 Invio per continuare, q per interrompere: q ans = 3.00000 0.00000 0.00000 1.00000 octave:111> qr_shift(A,'auto') mu_n = 2 its = 1 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 2 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 3 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 4 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 5 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 6 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 7 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 8 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 9 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 10 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 11 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 12 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 13 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 14 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 15 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 16 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 17 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 18 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 19 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 20 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 21 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 22 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 23 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 24 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 25 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 26 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 27 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 28 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 29 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 30 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 31 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 32 A = 2 1 1 2 Invio per continuare, q per interrompere: mu_n = 2 its = 33 A = 2 1 1 2 Invio per continuare, q per interrompere: q ans = 2 1 1 2 octave:112> A A = 2 1 1 2 octave:113> [Q,R]=qr(A-2*eye(2)) Q = 0 -1 -1 0 R = -1 0 0 -1 octave:114> R*Q+2*eye(2) ans = 2 1 1 2 octave:115> D=diag([2,2,1]) D = Diagonal Matrix 2 0 0 0 2 0 0 0 1 octave:116> X=[1,0,1;0,1,0;1,1,2] X = 1 0 1 0 1 0 1 1 2 octave:117> A1=X*D/X A1 = 3 1 -1 0 2 0 2 2 0 octave:118> eig(A1) ans = 2 1 2 octave:119> format long e octave:120> eig(A1) ans = 2.00000000000000e+00 1.00000000000000e+00 2.00000000000000e+00 octave:121> cond(X) ans = 8.34280596666682e+00 octave:122> J=[2,1,0;0,2,0;0,0,1] J = 2.00000000000000e+00 1.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 2.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 1.00000000000000e+00 octave:123> A2=X*J/X A2 = 3.00000000000000e+00 2.00000000000000e+00 -1.00000000000000e+00 0.00000000000000e+00 2.00000000000000e+00 0.00000000000000e+00 2.00000000000000e+00 3.00000000000000e+00 0.00000000000000e+00 octave:124> eig(A2) ans = 2.00000000000000e+00 1.00000000000000e+00 2.00000000000000e+00 octave:125> D D = Diagonal Matrix 2.00000000000000e+00 0 0 0 2.00000000000000e+00 0 0 0 1.00000000000000e+00 octave:126> X=[1,1/2,1/3;1/2,1/3,1/4;1/3,1/4,1/5] X = 1.00000000000000e+00 5.00000000000000e-01 3.33333333333333e-01 5.00000000000000e-01 3.33333333333333e-01 2.50000000000000e-01 3.33333333333333e-01 2.50000000000000e-01 2.00000000000000e-01 octave:127> A1=X*D/X A1 = -8.00000000000004e+00 6.00000000000002e+01 -6.00000000000002e+01 -7.50000000000003e+00 4.70000000000002e+01 -4.50000000000002e+01 -6.00000000000002e+00 3.60000000000001e+01 -3.40000000000001e+01 octave:128> eig(A1) ans = 1.00000000000029e+00 1.99999999999971e+00 2.00000000000000e+00 octave:129> format octave:130> eig(A1) ans = 1.0000 2.0000 2.0000 octave:131> A2=X*J/X A2 = -44.000 252.000 -240.000 -25.500 143.000 -135.000 -18.000 100.000 -94.000 octave:132> eig(A2) ans = 2.0000 + 0.0000i 2.0000 - 0.0000i 1.0000 + 0.0000i octave:133> format long e octave:134> eig(A2) ans = 1.99999999999982e+00 + 1.39968169020045e-06i 1.99999999999982e+00 - 1.39968169020045e-06i 1.00000000000038e+00 + 0.00000000000000e+00i octave:135> help eig 'eig' is a built-in function from the file libinterp/corefcn/eig.cc -- Built-in Function: LAMBDA = eig (A) -- Built-in Function: LAMBDA = eig (A, B) -- Built-in Function: [V, LAMBDA] = eig (A) -- Built-in Function: [V, LAMBDA] = eig (A, B) Compute the eigenvalues (and optionally the eigenvectors) of a matrix or a pair of matrices The algorithm used depends on whether there are one or two input matrices, if they are real or complex and if they are symmetric (Hermitian if complex) or non-symmetric. The eigenvalues returned by 'eig' are not ordered. See also: eigs, svd. Additional help for built-in functions and operators is available in the online version of the manual. Use the command 'doc ' to search the manual index. Help and information about Octave is also available on the WWW at http://www.octave.org and via the help@octave.org mailing list. octave:136> A=rand(4) A = 6.32396973470048e-01 9.05710820108575e-01 3.46049474169076e-02 6.71570905811942e-01 5.04864165223453e-01 7.67142224237522e-01 5.66342255309972e-01 1.81229692734841e-01 7.38322307695211e-01 5.18968746017810e-02 3.58197915176523e-01 6.04630574456394e-02 2.80721526663009e-02 4.01075883466085e-01 8.76940876232924e-01 7.32938211559711e-01 octave:137> format octave:138> B=rand(4) B = 0.5074212 0.5906194 0.6567177 0.6052943 0.1118080 0.7058657 0.5036532 0.4267330 0.5410770 0.7282638 0.5819339 0.0084656 0.0806325 0.9195456 0.9820057 0.6741088 octave:139> B=B*B' B = 1.40397 1.06269 1.09197 1.63695 1.06269 0.94652 0.87126 1.44035 1.09197 0.87126 1.16185 1.29047 1.63695 1.44035 1.29047 2.27082 octave:140> eig(B\A) ans = 27.01298 + 0.00000i -0.09635 + 3.37083i -0.09635 - 3.37083i 0.31146 + 0.00000i octave:141> eig(A,B) ans = 27.01298 + 0.00000i -0.09635 + 3.37083i -0.09635 - 3.37083i 0.31146 + 0.00000i octave:142> diary off