Inverse without the determinant normalization?

10 visualizzazioni (ultimi 30 giorni)
Ellen
Ellen il 31 Gen 2014
Commentato: Roger Stafford il 31 Gen 2014
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!

Risposte (2)

Roger Stafford
Roger Stafford il 31 Gen 2014
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

Jan
Jan il 31 Gen 2014
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 Commento
Roger Stafford
Roger Stafford il 31 Gen 2014
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.

Accedi per commentare.

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by