Subsection 5.3.4 Solving A x = y via LU factorization with pivoting
ΒΆGiven nonsingular matrix \(A \in \C^{m \times n} \text{,}\) the above discussions have yielded an algorithm for computing permutation matrix \(P \text{,}\) unit lower triangular matrix \(L \) and upper triangular matrix \(U \) such that \(P A = L U \text{.}\) We now discuss how these can be used to solve the system of linear equations \(A x = y \text{.}\)
Starting with
where nonsingular matrix \(A \) is \(n \times n \) (and hence square),
-
Overwrite \(A \) with its LU factorization, accumulating the pivot information in vector \(p \text{:}\)
\begin{equation*} [ A, p ] :=\mbox{LUpiv}( A ). \end{equation*}\(A \) now contains \(L \) and \(U \) and \(\widetilde P( p ) A = L U \text{.}\)
We notice that \(A x = b \) is equivalent to \(\widetilde P( p ) A x = \widetilde P( p ) b \text{.}\) Thus, we compute \(y := \widetilde P( p ) b.\) Usually, \(y \) overwrites \(b \text{.}\)
-
Next, we recognize that \(\widetilde P( p ) A x = y\) is equivalent to \(L \begin{array}[t]{c} \underbrace{(U x)}\\ z \end{array} = y \text{.}\) Hence, we can compute \(z \) by solving the unit lower triangular system
\begin{equation*} L z = y \end{equation*}and next compute \(x \) by solving the upper triangular system
\begin{equation*} U x = z. \end{equation*}