Calculating specific elements of a large symbolic matrix

1 回表示 (過去 30 日間)
Muhammad Anique Aslam
Muhammad Anique Aslam 2017 年 5 月 9 日
回答済み: Stephen Jue 2017 年 5 月 12 日
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?

回答 (1 件)

Stephen Jue
Stephen Jue 2017 年 5 月 12 日
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.

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by