Skip to main content

Subsection 3.2.6 Cost of Gram-Schmidt algorithms

(No video for this unit.)

Homework 3.2.6.1.

Analyze the cost of the CGS algorithm in Figure 3.2.4.2 (left) assuming that \(A \in \C^{m \times n}\text{.}\)

Solution

During the \(k \)th iteration (\(0 \leq k \lt n \)), \(A_0 \) has \(k \) columns and \(A_2 \) has \(n - k - 1 \) columns. In each iteration

\begin{equation*} \begin{array}{|l|c|} \hline {\rm Operation} \amp {\rm Approximate~cost} \\ \amp {\rm (in~flops)} \\ \hline r_{01} := A_0^H a_1 \amp 2 m k \\ a_1 := a_1 - A_0 r_{01} \amp 2 m k \\ \rho_{11} := \| a_1 \|_2 \amp 2 m \\ a_1 := a_1 / \rho_{11} \amp m \\ \hline \end{array} \end{equation*}

Thus, the total cost is (approximately)

\begin{equation*} \begin{array}{l} \sum_{k=0}^{n-1} \left[ 2 m k + 2m k + 2 m + m \right] \\ ~~~=~~~~\\ \sum_{k=0}^{n-1} \left[ 3 m + 4 m k \right] \\ ~~~=~~~~\\ 3 m n + 4 m \sum_{k=0}^{n-1} k \\ ~~~\approx~~~~\lt \sum_{k=0}^{n-1} k = n (n-1 )/2 \approx n^2 / 2 \gt \\ 3 m n + 4 m \frac{n^2}{2} \\ ~~~=~~~~\\ 3 m n + 2 m n^2 \\ ~~~\approx~~~~\lt 3 m n {\rm ~is~of~lower~order} \gt \\ 2 m n^2 \end{array} \end{equation*}
Homework 3.2.6.2.

Analyze the cost of the MGS algorithm in Figure 3.2.4.2 (right) assuming that \(A \in \C^{m \times n}\text{.}\)

Solution

During the \(k \)th iteration (\(0 \leq k \lt n \)), \(A_0 \) has \(k \) columns. and \(A_2 \) has \(n - k - 1 \) columns. In each iteration

\begin{equation*} \begin{array}{|l|c|} \hline {\rm Operation} \amp {\rm Approximate~cost} \\ \amp {\rm (in~flops)} \\ \hline \rho_{11} := \| a_1 \|_2 \amp 2 m \\ a_1 := a_1 / \rho_{11} \amp m \\ \hline r_{12}^T := a_1^H A_2 \amp 2 m (n-k-1) \\ A_2 := A_2 - a_1 r_{12}^T \amp 2 m (n-k-1) \\ \hline \end{array} \end{equation*}

Thus, the total cost is (approximately)

\begin{equation*} \begin{array}{l} \sum_{k=0}^{n-1} \left[ 2 m (n-k-1) + 2m (n-k-1) + 2 m + m \right] \\ ~~~=~~~~\\ \sum_{k=0}^{n-1} \left[ 3 m + 4 m (n-k-1) \right] \\ ~~~=~~~~\\ 3 m n + 4 m \sum_{k=0}^{n-1} (n-k-1) \\ ~~~=~~~~ \lt {\rm Substitute~} j = (n-k-1) \gt \\ 3 m n + 4 m \sum_{j=0}^{n-1} j \\ ~~~\approx~~~~\lt \sum_{j=0}^{n-1} j = n (n-1 )/2 \approx n^2 / 2 \gt \\ 3 m n + 4 m \frac{n^2}{2} \\ ~~~=~~~~\\ 3 m n + 2 m n^2 \\ ~~~\approx~~~~\lt 3 m n {\rm ~is~of~lower~order} \gt \\ 2 m n^2 \end{array} \end{equation*}
Homework 3.2.6.3.

Which algorithm requires more flops?

Solution

They require the approximately same number of flops.

A more careful analysis shows that, in exact arithmetic, they perform exactly the same computations, but in a different order. Hence the number of flops is exactly the same.