Project DelphiTensors Workshop

La pseudoinversa de Moore-Penrose

A⁺ está definida para toda matriz — cuadrada o no, singular o no — y se calcula a partir de la SVD:

A = np.random.randn(5, 3) A_plus = np.linalg.pinv(A) print(A.shape, A_plus.shape) # (5, 3) (3, 5) — la forma se invierte U, S_, Vt = np.linalg.svd(A, full_matrices=False) np.allclose(A_plus, Vt.T @ np.diag(1/S_) @ U.T) # True

Fíjate en la inversión de la forma: la pseudoinversa de una matriz alta es ancha.