Exercise: Null space

Task 1: Find the null space of the given matrix $A$ using SVD.

Task 2: Find the null space of the same matrix $A$ using the QR factorization. Use the linear algebra theorem that tells us that the null space of $A$ is equal to the orthogonal complement of the range of the transpose $A^t$. (How would you extract the orthogonal complement from a full QR factorization?)

Task 3: Check that both answers above span the same space.

In [1]:
import numpy as np
from scipy.linalg import svd, qr

A = np.array([[1, -2, 9, 5, 4,], [1, -1, 6, 5, -3], [-2, 0, -6, 1, -2], [4, 1, 9, 1, -9]])
A
Out[1]:
array([[ 1, -2,  9,  5,  4],
       [ 1, -1,  6,  5, -3],
       [-2,  0, -6,  1, -2],
       [ 4,  1,  9,  1, -9]])