Speedup Sparse Symmetric Indefinite Matrix Solution
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
i am trying to solve a general case least squares system:
N = ...
[ ...
B*Q*B' , A , 0 ;
A' , 0 , C' ;
0 , C , 0 ;
]
with the right hand side
rhs = [ -B*v0+f(x0,v0); 0 , -wc ].
N is sparse with nnz = 976328 and has 27016x27016 elements with the following pattern:
The three bands come from B*Q*B' with the size of 25464 x 25464. A is always very ill conditioned (rcond ~ 1-e17) therefore its not the usual Gauß-Markov solution:
dx = (A'*(B*Q*B')\A)\(A'*(B*Q*B')\(f(x0,v0)-B*v0);
where A will be on the main diagonal and destroy the whole N matrix condition.
After symamd the pattern shows a significant improvement:
The solution N\rhs takes usually 1-2min on my machine. In some cases it seems to end in an infinite loop. I kill the MATLAB process after 10mins.. of nothing.
1) I need some ideas how to solve it faster?
2) Will i have any benefit if i buy the parallel processing toolbox?
3) Do i need to change the code then?
0 Kommentare
Antworten (0)
Siehe auch
Kategorien
Mehr zu Sparse Matrices finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!