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

2 次查看(过去 30 天)
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?

回答(1 个)

Walter Roberson
Walter Roberson 2019-11-14
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.

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by