Speedup Sparse Symmetric Indefinite Matrix Solution
1 view (last 30 days)
Show older comments
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 Comments
Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!