The result of pinv(A)*A should lead to a symmetric matrix. The pseudo-inverse returned by MATLAB does not meet this property. I am calulating the pseudoinverse in my code below and can see that the results are symmetric.
load A.matX = pinv(A) * A % Result of pinv(A) * A (must be symmetric)
X = 1.0625 0 -0.0313 0 1.0000 -0.0156 0.0313 0.0156 0.9844%%My calculation
[U, L, V] = svd(A);L1 = L;L1(1, 1) = 1 / L1(1, 1);L1(2, 2) = 1 / L1(2, 2);my_pinvA = V * L1 * U';X = my_pinvA * A % Result of pinvA * A (must be symmetric)
X = 0.6667 -0.3333 -0.3333 -0.3333 0.6667 -0.3333 -0.3333 -0.3333 0.6667
Best Answer