LU分解计算器

使用杜利特尔消元法,将方阵分解为下三角矩阵和上三角矩阵。

分解矩阵
同一行的元素用逗号或空格分隔,矩阵各行用分号分隔。

关于LU分解

LU分解将方阵 A 表示为 L 与 U 的乘积。矩阵 L 为下三角矩阵,即主对角线上方的元素均为零;矩阵 U 为上三角矩阵,即主对角线下方的元素均为零。本工具采用杜利特尔约定,L 的所有对角元素都等于一。将显示的两个因子相乘,即可还原输入矩阵,仅存在通常的浮点舍入误差。 分解过程基于高斯消元。通常用于消去主元下方元素的每个消元乘数都会保存在 L 中,逐步形成的行阶梯矩阵则成为 U。这种组织方式保留了消元过程,而不是将其丢弃。有了 L 和 U,就能在同一系数矩阵对应多个不同右端项时重复使用,比每次从头消元高效得多。 要求解 A × x = b,先通过前代法解 L × y = b,再通过回代法解 U × x = y。三角方程组容易求解,因为每个后续方程只引入一个新的未知量。LU因子也可用于计算行列式:当 L 的对角线为一时,行列式等于 U 对角元素的乘积。矩阵求逆和数值模拟同样将这一结构作为基本模块。 本计算器接受紧凑的矩阵表示法。同一行内的数值以逗号或空格分隔,各行之间以分号分隔。每行元素个数必须与行数相同,因为这种形式的LU分解要求方阵。支持负数和小数。结果仅在显示时舍入,消元本身使用 JavaScript 双精度运算。 本实现采用不选主元的杜利特尔分解,因此消元遇到的每个主元都必须非零。某些完全可逆的矩阵起始主元为零,分解前需要进行行置换。在完整的数值计算库中,这一操作用置换矩阵 P 表示,关系为 P × A = L × U。若本计算器提示主元错误,请调整适当的行顺序后再输入,或使用带主元选择的求解器。对于条件良好的课堂示例,以及对角主元可用的矩阵,显示的分解结果清晰且便于立即核对。

LU分解示例

矩阵 A分解因子核对
4,3;6,3L: 1,0;1.5,1 和 U: 4,3;0,-1.5L 与 U 相乘可得到原来的两行矩阵。
2,0;0,5L: 单位矩阵,U: 2,0;0,5对角矩阵本身就是上三角矩阵。
2,1,1;4,-6,0;-2,7,2L: 1,0,0;2,1,0;-1,-1,1对应 U 的各行为 2,1,1;0,-8,-2;0,0,1。

如何计算LU分解

  1. 将矩阵每行写成由逗号或空格分隔的数字。
  2. 用分号连接各行,并确认矩阵为方阵。
  3. 选择“分解矩阵”,运行杜利特尔高斯消元。
  4. 查看 L 和 U,再将它们相乘,确认乘积等于输入矩阵。

LU分解常见问题

什么是LU分解?

它将方阵分解成一个下三角矩阵和一个上三角矩阵。不需要行置换时,二者的乘积就是原矩阵。

LU分解有什么用?

在求解多个具有相同系数矩阵的方程组时,可以重复利用消元结果。它也能简化行列式、逆矩阵及数值分析计算。

应该输入什么矩阵格式?

同一行内的元素以逗号或空格分隔,各行以分号分隔。每行的元素个数必须与矩阵行数相同。

为什么矩阵会出现主元错误?

不选主元的杜利特尔消元不能除以零主元。调整行顺序可能解决问题,通用软件通常使用置换矩阵和部分主元选择。

可以输入小数和负数吗?

可以,支持有限的小数和负数。为使分解因子易于阅读,显示值会舍入到小数点后八位。