Inverse without the determinant normalization?

When you take the inverse of square matrix M, you usually normalize with the determinant (1/det(M)). I am wondering if there is any to calculate the inverse in MATLAB without such normalization.
I am looking for solutions other than det(M)*inv(M), since in some cases det(M) is 0 in floating point arithmetic. Does anyone know? Thanks so much!

Answers (2)

As one can see from Cramer's rule, the matrix you seek can be formed from the various cofactors of the determinant of M. I see some contributions in Mathworks' File Exchange which will give you these:
http://www.mathworks.com/matlabcentral/fileexchange/28672-cofactors/content/cofactors.m
http://www.mathworks.com/matlabcentral/fileexchange/2166-introduction-to-linear-algebra/content/strang/xcofactor.m
Why do you assume, that the inverse is normalized?
M = rand(3);
P = inv(M);
Q = M * P
Now Q is the unity matrix, which implies, that P is not normalized. So what does "you usually normalize" exactly mean?

1 Comment

Jan, I don't think that is the kind of "normalization" Ellen has in mind. Very likely it is the division by det(M) that occurs in Cramer's rule that is to be omitted. If you multiply each of the elements of inv(M) by det(M) what you get is the matrix of all cofactors of the transpose of M. That is presumably the "unnormalized matrix inverse" that is being sought.

Sign in to comment.

Categories

Asked:

on 31 Jan 2014

Commented:

on 31 Jan 2014

Community Treasure Hunt

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

Start Hunting!