Linear System Speed Up Ax=b
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Dear All,
I have a linear solve embedded in the right hand side function of a large system of ODEs that I am trying to solve using ode45 or ode15s.
I see that the profiling result on my code indicates that most of my time is spent evaluating the linear solves...
I have a right hand side matrix b continuously changing at each time point. There are three types of linear solves that I am calling: (1) a constant tri-diagonal matrix of dimension nxn where n is around 1000, (2) an upper triangular matrix with the diagonal and a line above the diagonal filled with numbers but all others are zero, (3) a lower triangular matrix with the diagonal and a line below the diagonal filled with numbers buit all others are zero.
in each case, I am specifying an option to indicate if matrix is either upper or lower triangular matrix. Then, I am using linsolve... but the code is slow... Do you think there is a practical way to speed up the linear solve evaluation in the code? the coefficient matrices are so sparse in this case and I think that there may be ways that we can exploit this... But not sure what exactly to do...
Thank you so much! :)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/512492/image.png)
Réponse acceptée
Matt J
le 8 Fév 2021
the coefficient matrices are so sparse in this case and I think that there may be ways that we can exploit this
If those matrices are being held in sparse data form, then the sparsity should be exploited alread
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Operating on Diagonal Matrices 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!