依特征向量的性质,相应的特征向量可以取为
幂法的算法为:
的按模最大特征值和相应的特征向量
After64steps----Step:61[4.65661287e+209.31322575e+202.53997066e+20]跟前1步的比值[inf2.1.5]跟前2步的比值[5.5.5.]----Step:62[0.00000000e+002.32830644e+218.46656886e+20]跟前1步的比值[0.2.53.33333333]跟前2步的比值[nan5.5.]----Step:63[2.32830644e+214.65661287e+211.26998533e+21]跟前1步的比值[inf2.1.5]跟前2步的比值[5.5.5.]----Step:64[0.00000000e+001.16415322e+224.23328443e+21]跟前1步的比值[0.2.53.33333333]跟前2步的比值[nan5.5.]----Step:65[1.16415322e+222.32830644e+226.34992665e+21]跟前1步的比值[inf2.1.5]跟前2步的比值[5.5.5.]根据数据,可以判断特征值分布为?特征向量是?
After125steps----Step:123[2.87805266e+120-3.45499252e+119-5.18248878e+119]跟前1步的比值[-9.66025404-9.66025404-9.66025404]跟前2步的比值[93.3205080893.3205080893.32050808]----Step:124[-2.78027198e+1213.33761055e+1205.00641582e+120]跟前1步的比值[-9.66025404-9.66025404-9.66025404]跟前2步的比值[93.3205080893.3205080893.32050808]----Step:125[2.68581336e+122-3.22421658e+121-4.83632486e+121]跟前1步的比值[-9.66025404-9.66025404-9.66025404]跟前2步的比值[93.3205080893.3205080893.32050808]----Step:126[-2.59456394e+1233.11467512e+1224.67201268e+122]跟前1步的比值[-9.66025404-9.66025404-9.66025404]跟前2步的比值[93.3205080893.3205080893.32050808]根据数据,可以判断特征值分布为?特征向量是?
按模最大只有一个-9.660254037755953特征向量:[array([2.50641467e+124,-3.00885529e+123,-4.51328293e+123])]由
可以看到,
规范的幂法运算就是在每一步计算中添加一个规范化的操作
依算法,有
不防设
则
注意到
因此,
此时,需要借助幂法的操作来得到特征值和特征向量。
不防记
则做2步幂法,
类似与幂法时的分析,可以得到
及
规范幂法的算法:
After58steps----Step:55[array([0.5,1.,0.27272727])]----Step:56[array([0.,1.,0.36363636])]----Step:57[array([0.5,1.,0.27272727])]----Step:58[array([0.,1.,0.36363636])]----Step:59[array([0.5,1.,0.27272727])]根据数据,可以判断特征值分布为?特征向量是?
按模最大有互为反号的2个2.23606797749979特征向量:[array([1.,2.,0.54545455]),array([0.,5.,1.81818182])]与幂法的结果比较
RegularPowermethod:----Step:99[array([1.,-0.12004619,-0.18006928])]----Step:100[array([-1.,0.12004619,0.18006928])]----Step:101[array([1.,-0.12004619,-0.18006928])]----Step:102[array([-1.,0.12004619,0.18006928])]----Step:103[array([1.,-0.12004619,-0.18006928])]根据数据,可以判断特征值分布为?特征向量是?
按模最大只有一个且<0-9.66025403842121特征向量:[-1.0.120046190.18006928]与幂法的结果相比
RegularPowermethod:----Step:40[array([1.,0.4174243,0.79128785])]----Step:41[array([1.,0.4174243,0.79128785])]----Step:42[array([1.,0.4174243,0.79128785])]----Step:43[array([1.,0.4174243,0.79128785])]----Step:44[array([1.,0.4174243,0.79128785])]根据数据,可以判断特征值分布为?特征向量是?
按模最大只有一个且>011.791287847526174特征向量:[1.0.41742430.79128785]与幂法的结果相比
解.用Python的numpy.linalg.eig得到的
特征值:[0.350663730.199336270.34]用幂法的计算结果
幂法
到达步数上限----Step:497[6.73673188e-2264.47136945e-2261.39643836e-233]跟前1步的比值[0.350663730.350663730.34]跟前2步的比值[0.122965050.122965050.1156]----Step:498[2.36232754e-2261.56794710e-2264.74789042e-234]跟前1步的比值[0.350663730.350663730.34]跟前2步的比值[0.122965050.122965050.1156]----Step:499[8.28382592e-2275.49822179e-2271.61428274e-234]跟前1步的比值[0.350663730.350663730.34]跟前2步的比值[0.122965050.122965050.1156]----Step:500[2.90483731e-2271.92802697e-2275.48856133e-235]跟前1步的比值[0.350663730.350663730.34]跟前2步的比值[0.122965050.122965050.1156]规范的幂法
RegularPowermethod:----Step:553[array([1.00000000e+00,6.63729754e-01,3.67709048e-09])]----Step:554[array([1.00000000e+00,6.63729754e-01,3.56526968e-09])]----Step:555[array([1.00000000e+00,6.63729754e-01,3.45684936e-09])]----Step:556[array([1.00000000e+00,6.63729754e-01,3.35172612e-09])]----Step:557[array([1.00000000e+00,6.63729754e-01,3.24979968e-09])]按模最大只有一个且>00.35066373006863033特征向量:[1.00000000e+006.63729754e-013.15097285e-09]由
前面算例中的数值实验结果也可以看到这点。
可以使用原点位移法来加速幂法的收敛。
(array([0.19933627,0.34,0.35066373]),步数:556,比值:0.97)(array([-0.00066373,0.14,0.15066373]),步数:245,比值:0.93)问题.若初值
反幂法用来求解矩阵的按模最小的特征值和相应的特征向量。