本模块演示使用Householder变化对矩阵进行QR分解的过程. 通过执行一系列的Householder变换将初始矩阵规约成上三角矩阵, 从而消去矩阵对角线下方的元素.
使用者首先选择行数(Rows)和列数(Cols)来指定矩阵的大小, 然后通过选择预设例子(Example)、随机矩阵(Random)或者手工输入矩阵元素的方式设定待处理的矩阵. 通过重复点击"NEXT"按钮或当前加亮显示的步骤,一步一步地执行Householder QR分解的过程. 在绘图区中, 用一个箭头指示当前操作的列. 依次考虑矩阵的每一列, 可确定一个Householder变换用来消去当前列下三角部分的元素. 相应的Householder向量v在右侧显示出来,而下方的文本框中列出了标量α和β的计算值. Householder变换也作用于除当前列以外的矩阵剩余的列. 当初始矩阵变为上三角矩阵, 分解过程就完成了. 显示数据的格式支持e, f, g三种,分别表示科学计数法, 固定小数位数和统一格式, 默认的是统一格式(g).
操作与思考: (1) 标量α和β分别代表什么意思?
(2)执行完一个矩阵的QR分解演示, 观察这些Householder向量有什么特点? 它将如何影响算法的数据存储方式?
参考内容: 课本5.3.3小节相关内容.