import numpy as np A = np.matrix([[2, -1, 0],[4,3,-2]]) u, s, vt = np.linalg.svd(A, full_matrices=True) print("A", A) print("u", u) print("s", s) print("vt", vt) ss = np.matrix([[s[0], 0, 0], [0, s[1], 0]]) a = u*ss*vt print("ss", ss) print("a", a) si = np.linalg.pinv(a) print("si", si) print(a*si)