介绍
矩阵分解是线性代数的基石,它使得大规模方程组的复杂运算得以简化。使用最广泛的分解之一是LU分解,它将给定的方阵A表示为下三角矩阵L和上三角矩阵U的乘积。这个免费的在线LU分解计算器——也称为LU因子分解计算器或矩阵分解计算器——能够快速执行分解,处理标准情形和行置换情形。对于需要解线性方程组、计算行列式或求逆矩阵的学生和专业人士来说,它是一个不可或缺的工具。
什么是LU分解?
LU分解将一个方阵A写为
A=LU,
其中
- L是一个下三角矩阵(主对角线以上的元素都为零),且
- U是一个上三角矩阵(主对角线以下的元素都为零)。
三角矩阵特别友好,因为它们的行列式就是对角线上元素的乘积,且解三角方程组只需要前代或回代。将矩阵分解为两个三角块大大降低了许多线性代数任务的计算成本。该方法由波兰数学家Tadeusz Banachiewicz于1938年首次提出,至今仍是数值计算的核心算法。
每个矩阵都有LU分解吗?
并非所有方阵都允许标准LU分解。一个必要条件是所有顺序主子式(左上角子矩阵的行列式)都不为零。如果某个主子式为零,分解就可能失败。
考虑2×2的例子
A=(0111).
如果我们尝试把A写为A=LU,其中L是下三角矩阵、U是上三角矩阵,方程会产生矛盾:(1,1)元素要求ℓ11=0或u11=0,但其余元素要求它们都不为零。因此,标准LU分解对于这类矩阵不成立。
不过,这一障碍可以通过行置换来克服。通过重新排列行(即交换第一行和第二行),矩阵变为
(1011),
这已经是上三角矩阵,其LU分解显而易见。一般情况下,对于任意方阵A,存在一个置换矩阵P,使得乘积PA有LU分解。这就是所谓的PA LU分解或带部分主元法的LU分解:
PA=LU,
其中P是置换矩阵(通过对单位矩阵进行相同的行交换得到),L是下三角矩阵,U是上三角矩阵。LU分解计算器会自动检测何时需要置换,并输出相应的因子,因此你总能得到有效的分解。
如何手动计算LU分解
最常用的算法是杜利特尔分解,它将L的对角线元素设为1(单位下三角)。这一约定消除了分解的歧义,对于给定的置换产生唯一的对(L,U)。
通用公式(杜利特尔法)
设A=[aij]是一个n×n矩阵。L=[ℓij](其中ℓii=1)和U=[uij]的元素系统地从左上角向下确定。
-
U的第一行和L的第一列:
对于j=1,…,n:
u1j=a1j,ℓj1=u11aj1(j>1).
-
剩余的行和列: 对于每个k=2,…,n:
- 对于j=k,…,n:
ukj=akj−∑s=1k−1ℓksusj.
- 对于i=k+1,…,n:
ℓik=ukk1(aik−∑s=1k−1ℓisusk).
该过程假设所有主元元素ukk非零;如果遇到零主元,就需要进行行置换。
2×2例子
对于2×2矩阵
A=(a11a21a12a22),
杜利特尔法给出
L=(1ℓ2101),U=(u110u12u22),
其中
u11=a11,u12=a12,ℓ21=u11a21,u22=a22−ℓ21u12.
这个小例子说明了模式:一旦知道了U的第一行和L的第一列,其余元素就可以通过减去已计算项的乘积得到。
3×3示例
对于3×3矩阵,公式生成
u11ℓ21u22ℓ32u33=a11,=u11a21,=a22−ℓ21u12,=u221(a32−ℓ31u12),=a33−ℓ31u13−ℓ32u23.u12ℓ31u23=a12,=u11a31,=a23−ℓ21u13,u13=a13,
依次求解这些方程即可得到L和U。
使用LU分解计算器
在线LU分解计算器让你免于手动执行这些算术步骤。使用方法如下:
- 从下拉菜单中选择矩阵维度(例如2×2、3×3,最大10×10)。
- 将矩阵的每个元素输入到相应的输入字段中。
- 点击计算按钮。
- 如果标准LU分解存在,工具将显示L和U。
- 如果矩阵需要行置换,计算器将显示置换矩阵P以及PA=LU的因子。你也可以在重新计算前手动交换行。
计算器在内部使用杜利特尔法,并在遇到零主元时采用部分主元法,以确保数值稳定性。
LU分解的主要应用
计算行列式
因为三角矩阵的行列式等于其对角线元素的乘积,LU分解使得行列式的计算变得简单。如果A=LU(采用杜利特尔约定),那么
det(L)=1,det(A)=det(L)det(U)=∏i=1nuii.
当使用部分主元法时(PA=LU),我们有
det(P)det(A)=det(L)det(U)⟹det(A)=det(P)det(L)det(U),
其中det(P)=±1(取决于行交换的奇偶性),且单位下三角矩阵L的det(L)=1。
求解线性方程组
给定系统Ax=b,将A分解为A=LU(或PA=LU)。然后求解两个三角系统:
- 前代:Ly=b(如果应用了置换,则为Ly=Pb)。
- 回代:Ux=y。
由于L和U是三角矩阵,每次求解只需要O(n2)次运算,这使得该方法对于多次求解不同右端项的情形比高斯消元更快。
计算矩阵的逆
如果A=LU,则逆可以表示为
A−1=U−1L−1.
求逆三角矩阵是直接的(再次利用零元素),因此LU分解在需要时提供了一条求逆的高效途径。
结论
LU分解是线性代数中一个多功能的工具,能够快速计算行列式、解线性方程组和矩阵求逆。无论你是正在学习下三角上三角矩阵分解,还是实际应用杜利特尔分解,这个免费的LU分解计算器都能即时提供准确结果,让你免于繁琐的手工运算。