矩阵乘法还有一种理解方式是
A=BC可以视为
A
=
∑
L
i
∗
R
i
A=\sum L_i*R_i
A=∑Li∗Ri
L
i
L_i
Li是A的列向量,
R
i
R_i
Ri自然是C的行向量
给定一个矩阵A
[
1
2
3
4
2
5
6
5
3
8
6
9
]
\begin{bmatrix} 1 & 2& 3&4\\ 2 & 5& 6&5\\ 3 & 8& 6&9 \end{bmatrix}
123258366459
先进行一波消元得到
[
0
0
0
0
0
1
0
−
3
0
2
−
3
−
3
]
\begin{bmatrix} 0& 0& 0&0\\ 0& 1& 0&-3\\ 0 & 2& -3&-3 \end{bmatrix}
00001200−30−3−3
这个操作用矩阵语言描述就是,原始矩阵减去下面这个矩阵
[
1
2
3
]
\begin{bmatrix} 1\\2\\3 \end{bmatrix}
123
*
[
1
2
3
4
]
\begin{bmatrix} 1 & 2& 3&4\end{bmatrix}
[1234]
同理,对下面两行再消元得到
[
0
0
0
0
0
0
0
0
0
0
−
3
3
]
\begin{bmatrix} 0& 0& 0&0\\ 0& 0& 0&0\\ 0 & 0& -3&3 \end{bmatrix}
00000000−3003
所以原始矩阵用消元的方式可以表示成如下形式
[
1
2
3
]
\begin{bmatrix} 1\\2\\3 \end{bmatrix}
123
*
[
1
2
3
4
]
\begin{bmatrix} 1 & 2& 3&4\end{bmatrix}
[1234] +
[
0
1
2
]
\begin{bmatrix} 0\\1\\2 \end{bmatrix}
012
[
0
1
0
−
3
]
\begin{bmatrix} 0& 1& 0&-3\end{bmatrix}
[010−3]+
[
0
0
1
]
\begin{bmatrix} 0\\0\\1 \end{bmatrix}
001
[
0
0
−
3
3
]
\begin{bmatrix}0 & 0& -3&3 \end{bmatrix}
[00−33]
回到最初对矩阵乘法理解方式,可以知道
A =
[
1
0
0
2
1
0
3
2
1
]
\begin{bmatrix} 1& 0& 0\\ 2& 1& 0\\ 3 & 2& 1 \end{bmatrix}
123012001
*
[
1
2
3
4
0
1
0
−
3
0
0
−
3
3
]
\begin{bmatrix} 1 & 2& 3&4\\ 0& 1& 0&-3\\ 0 & 0& -3&3 \end{bmatrix}
10021030−34−33
这就是LU分解,把A拆成下三角矩阵L和上三角矩阵U的积