Calculating specific elements of a large symbolic matrix
1 回表示 (過去 30 日間)
古いコメントを表示
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?
0 件のコメント
回答 (1 件)
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.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Linear Algebra についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!