解线性方程组时,是把增广矩阵
#card=math&code=%28A%2C%20b%29&id=E6T7c)化成(简化)行阶梯形,再从最后一个非零行开始解(所谓 back substitution)。如果系数矩阵
直接就是上三角形的矩阵,那解方程就很方便了。
设是方阵。如果可以把
写成一个下三角矩阵
与上三角矩阵
的乘积:
, 那么解方程
,在
是可逆矩阵时,就能变成解
. 因为
是下三角矩阵,所以
也是下三角的,会容易计算。最后直接用back substitution就能解出
.
通常我们要求 的对角元都是1,这样当
有LU分解时,矩阵
就唯一确定了。
计算LU分解的算法,就是初等行变换!不过要注意,我们假设方阵的第1列不能全是0(这样的矩阵没有LU分解)。
设%7Bn%20%5Ctimes%20n%7D#card=math&code=A%3D%28a%7Bij%7D%29%7Bn%20%5Ctimes%20n%7D&id=YegNq). 如果, 我们取
. 如果. 假设. 我们令
是把第
行与第1行对调的初等矩阵。这时我们对
%0A#card=math&code=P_1%20A%20%3D%20%5Cleft%28%20%5Cbegin%7Barray%7D%7Bc%7Cccc%7D%0A%20%20%20%20a%20%26%20%26%20w%5E%5Ctop%20%26%20%5C%5C%20%5Chline%0A%20%20%20%20%20%20%26%20%26%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%20%5C%5C%0A%20%20%20%20v%20%26%20%26%20%20%20%20%20%20%20%20%20%20%20A%27%20%26%20%5C%5C%0A%20%20%20%20%20%20%26%20%26%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%0A%20%20%5Cend%7Barray%7D%20%5Cright%29%0A&id=BJxGF)
来计算LU分解。第一步是用把它下面的其它元素全部消成0, 即用矩阵
%0A#card=math&code=P2%20%3D%20%5Cleft%28%20%5Cbegin%7Barray%7D%7Bc%7Cccc%7D%0A%20%20%20%20%20%20%20%20%20%20%20%201%20%26%20%26%200%20%26%20%5C%5C%20%5Chline%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%20%26%20%20%20%26%20%5C%5C%0A%20%20%20%20-%20cv%20%26%20%26%20I%7Bn-1%7D%20%26%20%5C%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%20%26%20%20%20%26%0A%20%20%5Cend%7Barray%7D%20%5Cright%29%0A&id=n7d4j)
左乘, 这里
. 此时我们写:
%0A%20%20%5Cleft(%20%5Cbegin%7Barray%7D%7Bc%7Cc%7D%0A%20%20%20%20a%20%26%20%20%20%20%20%20w%5E%5Ctop%20%5C%5C%20%5Chline%0A%20%20%20%20%20%20%26%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%5C%0A%20%20%20%200%20%26%20A’-cvw%5E%5Ctop%20%5C%5C%0A%20%20%20%20%20%20%26%0A%20%20%5Cend%7Barray%7D%20%5Cright)%0A#card=math&code=P1%20A%20%3D%20%5Cleft%28%20%5Cbegin%7Barray%7D%7Bc%7Cccc%7D%0A%20%20%20%20%20%20%20%20%20%20%20%201%20%26%20%26%200%20%26%20%5C%5C%20%5Chline%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%20%26%20%20%20%26%20%5C%5C%0A%20%20%20%20%20cv%20%26%20%26%20I%7Bn-1%7D%20%26%20%5C%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%20%26%20%20%20%26%0A%20%20%5Cend%7Barray%7D%20%5Cright%29%0A%20%20%5Cleft%28%20%5Cbegin%7Barray%7D%7Bc%7Cc%7D%0A%20%20%20%20a%20%26%20%20%20%20%20%20w%5E%5Ctop%20%5C%5C%20%5Chline%0A%20%20%20%20%20%20%26%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%5C%0A%20%20%20%200%20%26%20A%27-cvw%5E%5Ctop%20%5C%5C%0A%20%20%20%20%20%20%26%0A%20%20%5Cend%7Barray%7D%20%5Cright%29%0A&id=z0trj)
这时是
阶矩阵. 我们重复上面的步骤:
%20%3D%20L’U’#card=math&code=P%27%28A%27-cvw%5E%5Ctop%29%20%3D%20L%27U%27&id=TfLZw). 设
:
%20P_1%20A%0A%20%20%3D%20%5Cleft(%20%5Cbegin%7Barray%7D%7Bc%7Cccc%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%201%20%26%20%26%20%200%20%26%20%5C%5C%20%5Chline%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%20%26%20%20%20%20%26%20%5C%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20cv’%20%26%20%26%20L’%20%26%20%5C%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%20%26%20%20%20%20%26%0A%20%20%5Cend%7Barray%7D%20%5Cright)%0A%20%20%5Cleft(%20%5Cbegin%7Barray%7D%7Bc%7Cccc%7D%0A%20%20%20%20%20%20a%20%26%20%26%20w%5E%5Ctextsf%7BT%7D%20%26%20%5C%5C%20%5Chline%0A%20%20%20%20%20%20%20%20%26%20%26%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%20%5C%5C%0A%20%20%20%20%20%200%20%26%20%26%20%20%20%20%20%20%20%20%20%20%20U’%20%26%20%5C%5C%0A%20%20%20%20%20%20%20%20%26%20%26%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%0A%20%20%5Cend%7Barray%7D%20%5Cright)%0A#card=math&code=%5Cleft%28%20%5Cbegin%7Barray%7D%7Bc%7Cccc%7D%0A%20%20%20%201%20%26%20%26%20%200%20%26%20%5C%5C%20%5Chline%0A%20%20%20%20%20%20%26%20%26%20%20%20%20%26%20%5C%5C%0A%20%20%20%200%20%26%20%26%20P%27%20%26%20%5C%5C%0A%20%20%20%20%20%20%26%20%26%20%20%20%20%26%0A%20%20%5Cend%7Barray%7D%20%5Cright%29%20P_1%20A%0A%20%20%3D%20%5Cleft%28%20%5Cbegin%7Barray%7D%7Bc%7Cccc%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%201%20%26%20%26%20%200%20%26%20%5C%5C%20%5Chline%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%20%26%20%20%20%20%26%20%5C%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20cv%27%20%26%20%26%20L%27%20%26%20%5C%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%20%26%20%20%20%20%26%0A%20%20%5Cend%7Barray%7D%20%5Cright%29%0A%20%20%5Cleft%28%20%5Cbegin%7Barray%7D%7Bc%7Cccc%7D%0A%20%20%20%20%20%20a%20%26%20%26%20w%5E%5Ctextsf%7BT%7D%20%26%20%5C%5C%20%5Chline%0A%20%20%20%20%20%20%20%20%26%20%26%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%20%5C%5C%0A%20%20%20%20%20%200%20%26%20%26%20%20%20%20%20%20%20%20%20%20%20U%27%20%26%20%5C%5C%0A%20%20%20%20%20%20%20%20%26%20%26%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%0A%20%20%5Cend%7Barray%7D%20%5Cright%29%0A&id=joLy0)
如此继续,就能逐渐下降到阶矩阵。
这里注意如果的第1列全是0,那么只要对
的第(1,1)元素的余子式矩阵来计算,即直接下降到计算一个
阶的方阵的LU分解。
最后我们得到形如的分解,其中
是(交换两行这类)初等矩阵的乘积,
是下三角矩阵,对角元全是
是上三角矩阵。这就是
的LU分解。
例:矩阵的LU分解是
矩阵 的LU分解是
为了让分解更对称,可以用LDU分解。它与LU分解的区别是,LDU的矩阵U是对角元全是1的上三角矩阵。而LU分解中的矩阵U的对角元,出现在LDU分解的对角矩阵D中。我们看下面的例子:
的LU分解是
而它的LDU分解是
实对称矩阵的LU分解或LDU分解有更漂亮的形式:如果是实对称矩阵的LU分解,那么从
可以期望
同理,可以期望形如
的分解。把实对称正定矩阵分解为
的形式,其中
的对角元素均为正数,这样的分解称为Cholesky分解。我们在对称矩阵的话题中讨论这个分解。