import numpy as np
import numpy.linalg as la
A = np.random.randn(5, 3)
b = np.random.randn(5)
Solve \(Ax\cong b\) using the normal equations:
x1 = ...
x1
(Edit this cell for solution.)
Solve \(Ax\cong b\) using the pseudoinverse:
U, sigma, VT = la.svd(A)
print U
print sigma
print VT
Sigma_inv = np.zeros_like(A.T)
Sigma_inv[:3,:3] = np.diag(1/sigma)
Sigma_inv
pinv = ...
x2 = np.dot(pinv, b)
x2
(Edit this cell for solution.)
la.norm(x1-x2)