怎么用Mathematica对矩阵进行LU分解?

作者:如沐春风 | 创建时间: 2023-04-12
最近学了一下python,感觉实在是太繁琐了,相对于Mathematica。 所以,大多数数学问题,我还是喜欢用Mathematica来处理。 本文介绍一下矩阵的LU分解,也就是把矩阵分解为上三角矩阵和下三角矩阵的乘积的形式。...
怎么用Mathematica对矩阵进行LU分解?

操作方法

先给出一个6*6的随机正整数矩阵: a = Table[RandomInteger[9], 6, 6];

对矩阵a进行LU分解: b = LUDecomposition[a]

其中,c是分解出来的上三角矩阵: c = b[[1]] SparseArray[{i_, j_} /; j >= i -> 1, {6, 6}];

分解出来的下三角矩阵是: d = b[[1]] SparseArray[{i_, j_} /; j < i -> 1, {6, 6}] +  IdentityMatrix[6];

验证一下,d和c的矩阵积是不是原矩阵a。 经过对比,发现得到的不是原矩阵,因为出现了行变换。 实际上,d.c代表了原矩阵的行置换。

点击展开全文

更多推荐