清华大学课程“数值分析”(No.20240033)
交互演示网站

<<主页

Cholesky分解算法

本模块演示了对称正定矩阵的Cholesky分解算法. 这个分解将原始矩阵A用一个下三角矩阵和它的转置的乘积来表示,即 A = LLT. 因为这个矩阵是对称的,所以本算法只访问下矩阵的三角部分. 将每一列除以对角元的平方根,再从余下的列中减去经放缩的列的某个倍数.

用户首先选择矩阵的尺寸(n = 2, 3, 或 4). 接下来可以选择一个预设的矩阵(Example),或随机选取一个(Random),或自行输入矩阵元素的值(修改数值后按回车键,并点击"Refresh"更新显示). 因为矩阵是对称的,演示过程中只显示其下三角部分. 不断点击NEXT按钮,可以看到Cholesky分解的执行过程,当前的步骤被高亮显示. 当前列以一个箭头来指示. 当Cholesky分解完成时,显示出下三角Cholesky因子L. 显示数据的格式支持e,f,g三种,分别表示科学计数法, 固定小数位数和统一格式,默认的是统一格式(g).

操作与思考: (1) Cholesky分解能顺利执行的条件是什么? 是否需要选主元?
                      (2) 在本演示中,随机生成的矩阵(Random)都能顺利完成算法吗? 试分析该怎样生成随机矩阵从而保证算法不失败, 并给出一个可能的方案.

参考内容: 课本3.5.1小节及相关内容