How to reduce the time to calculate the inverse of a matrix

17 vues (au cours des 30 derniers jours)
Raviteja Panamgipalli
Raviteja Panamgipalli le 23 Avr 2013
I have a 64 x 64 matrix,and it is taking a lot of time like 15-20 minutes to compute the inverse,Let my matrix be A,I'm using the command inv(A) to compute the inverse,Is there any alternative method to make my function work faster,Thank you in advance :)
  2 commentaires
Friedrich
Friedrich le 23 Avr 2013
Modifié(e) : Friedrich le 23 Avr 2013
Are you sure your dimension is correct? A Matrix like this shouldnt take longer than a few seconds. Can you give us an example MATRIX and a tic,toc output of tic,inv(A);toc? What machine are you running MATLAB on? I cant believe it takes 15-20min.
Edric Ellis
Edric Ellis le 23 Avr 2013
Why do you need inv? See Loren's blog on the purpose of inv here: http://blogs.mathworks.com/loren/2007/05/16/purpose-of-inv/

Connectez-vous pour commenter.

Réponses (1)

Matthias
Matthias le 23 Avr 2013
I think the inv function implemented by Mathworks is as fast as it gets for the general purpose. There are two inv-functions in the Ligthspeed library, but it seems like these are designed for special cases. Your should see if these cases apply with your Matrix.
The other possibility will be using better Hardware. Since inv() is implemented in cuda by Mathworks ill assume it is parallelizable. Make sure to load all your cores using 'matlabpool' and see if your GPU hat CUDA 1.3.

Catégories

En savoir plus sur Linear Algebra dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by