when i use inv to find the inverse matrix of A,i found inv(A)*A is not the identity matrix

2 views (last 30 days)
Why when i use inv() to find the inverse matrix of matrix H_AB'*H_AB,but their multiplication is not an identity matrix?
H_AB = sqrt(1/2)*[randn(2,7) + j*randn(2,7)];
cc=inv(H_AB'*H_AB)*(H_AB'*H_AB)
The window show me cc is not an identity matrix.So can i still use inv(H_AB'*H_AB) as the identity matrix of H_AB'*H_AB?
Because if the H_AB'*H_AB doesn't have inverser matrix,then how doee matlab calculate?

Answers (1)

Walter Roberson
Walter Roberson on 14 Nov 2019
H_AB = sqrt(1/2)*[randn(2,7) + j*randn(2,7)]
You are building a 2 x 7 matrix. When you then do H_AB'*H_AB then the result has rank 2. inv() cannot be used on rank-deficient matrices.
You could substitute
cc = (H_AB'*H_AB)\(H_AB'*H_AB)
but that will not be an identity matrix either.

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!