# NLA-6.3

## 2445 days 전, jhlee2chn 작성

Algorithm 6.3  (inverse power method)

from numpy import argmax, argmin A=matrix([[10,-8,-4],[-8,13,5],[-4,4,4]]) Id=identity_matrix(3) x0=vector([1.0,1.0,1.0]) ## Initial guess maxit=20 # Maximum number of iterates dig=8 # number of decimal places to be shown is dig-1 tol=0.00001 # Tolerance limit for difference of two consecutive eigenvectors err=1 # Initialization of tolerance sig=1.9 # Initial Shifting number i=0 while(i<=maxit and err>=tol): y0=(A-sig*Id).inverse()*x0 ymod=y0.apply_map(abs) imax=argmax(ymod) c1=y0[imax] d1=sig+1/c1 x1=y0/c1 print "Iteration Number:", i+1 print "y"+str(i)+"=",y0.n(digits=dig), "d"+str(i)+"=", d1.n(digits=dig) print "x"+str(i+1)+"=",x0.n(digits=dig) print i=i+1 x0=x1
 Iteration Number: 1 y0= (3.0273924, -3.8029171, 13.486304) d0= 1.9741493 x1= (1.0000000, 1.0000000, 1.0000000) Iteration Number: 2 y1= (1.7493556, -3.3806960, 10.247717) d1= 1.9975827 x2= (0.22447903, -0.28198365, 1.0000000) Iteration Number: 3 y2= (1.6724019, -3.3366981, 10.017333) d2= 1.9998270 x3= (0.17070686, -0.32989747, 1.0000000) Iteration Number: 4 y3= (1.6670698, -3.3335702, 10.001219) d3= 1.9999878 x4= (0.16695081, -0.33309245, 1.0000000) Iteration Number: 5 y4= (1.6666950, -3.3333500, 10.000086) d4= 1.9999991 x5= (0.16668666, -0.33331639, 1.0000000) Iteration Number: 6 y5= (1.6666687, -3.3333345, 10.000006) d5= 1.9999999 x6= (0.16666807, -0.33333214, 1.0000000) Iteration Number: 7 y6= (1.6666668, -3.3333334, 10.000000) d6= 2.0000000 x7= (0.16666677, -0.33333325, 1.0000000) Iteration Number: 8 y7= (1.6666667, -3.3333333, 10.000000) d7= 2.0000000 x8= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 9 y8= (1.6666667, -3.3333333, 10.000000) d8= 2.0000000 x9= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 10 y9= (1.6666667, -3.3333333, 10.000000) d9= 2.0000000 x10= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 11 y10= (1.6666667, -3.3333333, 10.000000) d10= 2.0000000 x11= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 12 y11= (1.6666667, -3.3333333, 10.000000) d11= 2.0000000 x12= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 13 y12= (1.6666667, -3.3333333, 10.000000) d12= 2.0000000 x13= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 14 y13= (1.6666667, -3.3333333, 10.000000) d13= 2.0000000 x14= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 15 y14= (1.6666667, -3.3333333, 10.000000) d14= 2.0000000 x15= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 16 y15= (1.6666667, -3.3333333, 10.000000) d15= 2.0000000 x16= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 17 y16= (1.6666667, -3.3333333, 10.000000) d16= 2.0000000 x17= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 18 y17= (1.6666667, -3.3333333, 10.000000) d17= 2.0000000 x18= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 19 y18= (1.6666667, -3.3333333, 10.000000) d18= 2.0000000 x19= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 20 y19= (1.6666667, -3.3333333, 10.000000) d19= 2.0000000 x20= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 21 y20= (1.6666667, -3.3333333, 10.000000) d20= 2.0000000 x21= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 1 y0= (3.0273924, -3.8029171, 13.486304) d0= 1.9741493 x1= (1.0000000, 1.0000000, 1.0000000) Iteration Number: 2 y1= (1.7493556, -3.3806960, 10.247717) d1= 1.9975827 x2= (0.22447903, -0.28198365, 1.0000000) Iteration Number: 3 y2= (1.6724019, -3.3366981, 10.017333) d2= 1.9998270 x3= (0.17070686, -0.32989747, 1.0000000) Iteration Number: 4 y3= (1.6670698, -3.3335702, 10.001219) d3= 1.9999878 x4= (0.16695081, -0.33309245, 1.0000000) Iteration Number: 5 y4= (1.6666950, -3.3333500, 10.000086) d4= 1.9999991 x5= (0.16668666, -0.33331639, 1.0000000) Iteration Number: 6 y5= (1.6666687, -3.3333345, 10.000006) d5= 1.9999999 x6= (0.16666807, -0.33333214, 1.0000000) Iteration Number: 7 y6= (1.6666668, -3.3333334, 10.000000) d6= 2.0000000 x7= (0.16666677, -0.33333325, 1.0000000) Iteration Number: 8 y7= (1.6666667, -3.3333333, 10.000000) d7= 2.0000000 x8= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 9 y8= (1.6666667, -3.3333333, 10.000000) d8= 2.0000000 x9= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 10 y9= (1.6666667, -3.3333333, 10.000000) d9= 2.0000000 x10= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 11 y10= (1.6666667, -3.3333333, 10.000000) d10= 2.0000000 x11= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 12 y11= (1.6666667, -3.3333333, 10.000000) d11= 2.0000000 x12= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 13 y12= (1.6666667, -3.3333333, 10.000000) d12= 2.0000000 x13= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 14 y13= (1.6666667, -3.3333333, 10.000000) d13= 2.0000000 x14= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 15 y14= (1.6666667, -3.3333333, 10.000000) d14= 2.0000000 x15= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 16 y15= (1.6666667, -3.3333333, 10.000000) d15= 2.0000000 x16= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 17 y16= (1.6666667, -3.3333333, 10.000000) d16= 2.0000000 x17= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 18 y17= (1.6666667, -3.3333333, 10.000000) d17= 2.0000000 x18= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 19 y18= (1.6666667, -3.3333333, 10.000000) d18= 2.0000000 x19= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 20 y19= (1.6666667, -3.3333333, 10.000000) d19= 2.0000000 x20= (0.16666667, -0.33333333, 1.0000000) Iteration Number: 21 y20= (1.6666667, -3.3333333, 10.000000) d20= 2.0000000 x21= (0.16666667, -0.33333333, 1.0000000)