Calculating specific elements of a large symbolic matrix

2 次查看(过去 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?

回答(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 CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by