矩陣分解是將矩陣拆解成多個矩陣的乘積,常見的分解方法有 三角分解法、QR分解法、奇異值分解法。三角分解法是將原方陣分解成一個上三角矩陣和一個下三角矩陣,這種分解方法叫做LU分解法。進一步,如果待分解的矩陣A是正定的,則A可以唯一的分解為
\[{\bf{A = L}}{{\bf{L}}^{\bf{T}}}\]
其中L是下三角矩陣。下面以三維矩陣進行簡單說明:
\[\begin{array}{ccccc}
{\bf{A = L}}{{\bf{L}}^{\bf{T}}}{\rm{ = }} & \left[ {\begin{array}{*{20}{c}}
{{L_{11}}}&0&0\\
{{L_{21}}}&{{L_{22}}}&0\\
{{L_{31}}}&{{L_{32}}}&{{L_{33}}}
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{L_{11}}}&{{L_{21}}}&{{L_{31}}}\\
0&{{L_{22}}}&{{L_{32}}}\\
0&0&{{L_{33}}}
\end{array}} \right]\\
= & \left[ {\begin{array}{*{20}{c}}
{L_{11}^2}&{}&{\left( {symmetric} \right)}\\
{{L_{21}}{L_{11}}}&{L_{21}^2 + L_{22}^2}&{}\\
{{L_{31}}{L_{11}}}&{{L_{31}}{L_{21}} + {L_{32}}{L_{22}}}&{L_{31}^2 + L_{32}^2 + L_{33}^2}
\end{array}} \right]\\
= & \left[ {\begin{array}{*{20}{c}}
{{A_{11}}}&{{A_{12}}}&{{A_{13}}}\\
{{A_{21}}}&{{A_{22}}}&{{A_{23}}}\\
{{A_{31}}}&{{A_{32}}}&{{A_{33}}}
\end{array}} \right]
\end{array}\]
由上式可以得到
\[{\bf{L}} = \left[ {\begin{array}{*{20}{c}}
{\sqrt {{A_{11}}} }&0&0\\
{\frac{{{A_{21}}}}{{{L_{11}}}}}&{\sqrt {{A_{22}} - L_{21}^2} }&0\\
{\frac{{{A_{31}}}}{{{L_{11}}}}}&{\frac{{{A_{32}} - {L_{31}}{L_{21}}}}{{{L_{22}}}}}&{\sqrt {{A_{33}} - L_{31}^2 - L_{32}^2} }
\end{array}} \right]\]
進一步進行多維擴展得到實數矩陣分解的表達式為
\[\begin{array}{l}
{L_{j,j}} = \sqrt {{A_{j,j}} - \sum\limits_{k = 1}^{j - 1} {L_{j,k}^2} } \\
{L_{i,j}} = \frac{{\left( {{A_{i,j}} - \sum\limits_{k = 1}^{j - 1} {{L_{i,k}}{L_{j,k}}} } \right)}}{{{L_{j,j}}}}for,i > j
\end{array}\]
對於復數矩陣可以得到類似的公式
\[\begin{array}{l}
{L_{j,j}} = \sqrt {{A_{j,j}} - \sum\limits_{k = 1}^{j - 1} {{L_{j,k}}L_{j,k}^ * } } \\
{L_{i,j}} = \frac{{\left( {{A_{i,j}} - \sum\limits_{k = 1}^{j - 1} {{L_{i,k}}L_{j,k}^ * } } \right)}}{{{L_{j,j}}}}for,i > j
\end{array}\]
上式過程叫做Cholesky分解,由公式可知,該方法存在開根號的操作,在硬件實現中復雜度較高。一般采用LDL分解法來規避這個問題。