System of linear equations
Posts  1 - 2  of  2
diyako
Hi
I have a linear system (Ax=b)that A is sparse matrix,square,nonsymmtric and large that 100 <(size A)<2000
and b a vector is not full.
determinant of matrix A is large but after a few repeated using the method we have ,the determinant of matrix A is vrey little.
I would understand ,how do i solve the system for MATLAB
MEANWHILE precondition for matrix A is 2*10^3.


all the best
Save
Cancel
Reply
replied to:  diyako
slakau
Replied to:  Hi I have a linear system (Ax=b)that A is sparse matrix,square,nonsymmtric...
Hi,

There are few steps that you need to solve this problem

1. store all your non-zero element using row-wise compressed data format
2. find the transpose of your matrix A, e.q: At
3. since it is non-symmetric matrix, you can mutiply the Matrix A with its transpose => AtA
4. The result of AtA = C will become a symmetric matrix and all the elements will form a diagonal matrix.
5. If the matrix still sparse, then you would need to apply STCO (strong component) algorithm to find the smaller block before any final decompisition method is applied such as: gauss elminination, cholesky decomposition.
5. Since the Matirx C is a symmetirc, you can apply Cholesky decompistion on C to save 50% of its computation cost.

Actually, step 2 and 3, are not necessary in your case, since the matrix is a square. However, you need to apply traverse algorithm before STCO can be applied to avoid any zero elements in diagonal elements. So I suggest using AtA is better, because you will save time at the final process when perform Cholskey Decomposition.

I hope this is help & good luck.

Regards,
Sjamsul

Save
Cancel
Reply
 
x
OK