11.6. Over-Determined Systems Homework

  1. When does the vector projection solution to an over-determined system of matrix equations give an exact solution to \(\mathbf{A}\,\bm{x} = \bm{b}\)?

  2. Notice that this problem has more equations than unknowns. Still, form the \(\bf{A}\) and \(\bm{b}\) matrices in Python and compute the ranks of \(\bf{A}\) and \(\left[\mathbf{A}\,\bm{b}\right]\). Is \(\bm{b}\) in the column space of \(\bm{A}\)? Can we find an exact solution, or only an approximate solution?

    \[\begin{split}\begin{bmatrix} 15 & -3 & 15 \\ 10 & -6 & -7 \\ 5 & 8 & 1 \\ 0 & 6 & 2 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} = \begin{bmatrix} 24 \\ -9 \\ 22 \\ 14 \end{bmatrix}\end{split}\]
    A = np.array([[15, -3, 15],
    [10, -6, -7],
    [5, 8, 1],
    [0, 6, 2]]).astype(float); print(A)
    
    b = np.array([[24, -9, 22, 14]]).astype(float).T; print(b)
    
  3. For the previous system of equations, use Python to find the solution from the projection equation and using the QR factorization.

  4. For the previous \(\bf{A}\) matrix, use Python to find its pseudo-inverse, \(\mathbf{A}^+\). Verify that \(\bm{x} = \mathbf{A}^+\,\bm{b}\) finds the same result as found from the projection equation and from QR.