Effacer les filtres
Effacer les filtres

Calculating specific elements of a large symbolic matrix

2 vues (au cours des 30 derniers jours)
Muhammad Anique Aslam
Muhammad Anique Aslam le 9 Mai 2017
I have a big matrix with order of multiples of 3 e.g 150*150,300*300 etc. The matrix is in symbolic form. I want to calculate first three elements of first three rows of its inverse. I have tried; guasian elimination, block wise inversion, co factor approach and LU decomposition. All these algorithms work fine. The problem is that the matrix is in symbolic form and it is very large (300*300). So, it takes a lot of time. Is there any method which could save the time?

Réponses (1)

Stephen Jue
Stephen Jue le 12 Mai 2017
Hi,
One thing you can do to possibly speed up the computation is to only calculate the first three columns of the inverse (As in slide 2 of this presentation ). However, from what I have found, this tends to be slower than just calculating the inverse of the entire matrix.
If at all possible, consider replacing some of the symbolic values of your matrix with numbers to reduce the computation time using subs. You can also factor out any common terms.
If you do not need exact precision, but instead precision up to n digits, consider using variable precision arithmetic instead of symbolic. This will speed up the computation quite a bit.

Catégories

En savoir plus sur Symbolic Math Toolbox 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