本模块演示计算矩阵最大或最小特征值对应的特征向量的幂法(power iteration)与反幂法 (inverse iteration). 对一个任意的非零初始向量, 幂法/反幂法反复地用该矩阵(或它的逆)乘以向量. 为了避免上溢出或下溢出,在每一步迭代中需对计算出的新向量调整大小以使其∞-范数为1(这个过程称为"规格化").
使用者首先通过选择预设例子(Example)、随机矩阵(Random)或者手工输入矩阵元素的方式设定一个2 × 2的对称矩阵. 矩阵的特征向量经规格化后在图中以箭头线表示,深色的箭头线为较大的特征值对应的特征向量(Dominant Eigenvector),浅色的箭头线为较大的特征值对应的特征向量(Subdominant Eigenvector). 使用者可通过点击绘图区任意选择一个初始向量,然后选择使用幂法或者反幂法来进行计算. 重复点击NEXT按钮让程序连续地执行相应算法中高亮的步骤. 如果选择的是幂法,用矩阵A乘以初始向量x,结果经规格化后得到下一个近似的特征向量. 如果选择的是反幂法,将求解线性方程组
操作与思考: (1)点击"Random"按钮生成随机的2阶矩阵, 发现绘图区中的特征向量总是相互垂直, 这是为什么?
(2)输入单位阵,执行幂法的演示过程,看看它能否将初始向量向最大特征值对应的向量拉近? 解释看到的现象.
(3)输入矩阵[1, 0; 0, -1], 执行幂法的演示过程,看到什么现象? 它说明什么?
参考内容: 课本第5.2节相关内容.