Subsection3.3.7Orthogonality of resulting $Q$

Homework3.3.7.1.

Previous programming assignments have the following routines for computing the QR factorization of a given matrix $A \text{:}$

Use these to examine the orthogonality of the computed $Q$ by writing the Matlab script Assignments/Week03/matlab/test_orthogonality.m for the matrix

\begin{equation*} \left( \begin{array}{c | c | c } 1 \amp 1 \amp 1 \\ \epsilon \amp 0 \amp 0 \\ 0 \amp \epsilon \amp 0 \\ 0 \amp 0 \amp \epsilon \end{array} \right) . \end{equation*}
Ponder This3.3.7.2.

In the last homework, we examined the orthogonality of the computed matrix $Q$ for a very specific kind of matrix. The problem with that matrix is that the columns are nearly linearly dependent (the smaller $\epsilon$ is).

How can you quantify how close to being linearly dependent the columns of a matrix are?

How could you create a matrix of arbitrary size in such a way that you can control how close to being linearly dependent the columns are?

Homework3.3.7.3. (Optional).

Program up your solution to Ponder This 3.3.7.2 and use it to compare how mutually orthonormal the columns of the computed matrices $Q$ are.