Solving large linear system AQ^{-1}A'X = B

1 view (last 30 days)
Bayes
Bayes on 10 Jun 2015
Edited: Bayes on 10 Jun 2015
Suppose that A is a m by n full row rank sparse matrix, and Q is an n by n symmetric positive definite sparse matrix with m<n. Besides, m is about 10^5, and n is about 10^6. There is no other special structure for A and Q (i.e., not circulant, not Toeplitz, etc.). Besides, Q is always changing when it has different values for its parameters. I need to solve the linear system AQ^{-1}A'X=B for X on my Mac many times, where B is an m by m matrix.
Here is what I tried:
1. [R1, p1, s1] = chol(Q, 'vector');
2. R1A(s1, :) = R1'\A(:,s1)'; % this step most of the time fails for some Q, with my Mac frozen.
3. X1 = factorize(R1A'*R1A)\B; % factorize is a function in SuiteSparse package.
Besides, I also tried to run the second line in a for loop or a parfor loop but it runs very slow, and it also make my Mac died. I tried to use UMFPACK package, and it can not solve this problem on my MAC. I preferred the direct solver. Any suggestions will be appreciated.
Thanks, Pulong

Answers (0)

Categories

Find more on Sparse Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!