Mathematica 9 is now available
Student Support Forum
-----
Student Support Forum: 'LinearSolve and Krylov Method Preconditioning' topicStudent Support Forum > General > Archives > "LinearSolve and Krylov Method Preconditioning"

Help | Reply To Topic
Author Comment/Response
James Benson
06/20/07 1:44pm

I'm trying to solve a reasonably large matrix equation A(t)X(t)=B(t), where A is a non-symmetric diagonally dominant matrix of dimensions around 4000x4000, and where all elements depend continuously on t. I descretise in time and solve the same system multiple times A_i X_i=B_i. Because the system is continuous, if the time step is small there shouldn't be too much difference between X_i and X_{i+1}.

I have been solving with LinearSolve, and know that Mathematica can use an iterative method like the Krylov method, but would like to take advantage of the known previous solution X_i as a starting point to solve for X_{i+1}.

I've tried writing my own solver using a Gauss-Seidell technique, but the code (borrowed from the Fullerton.edu website) is >10 times slower than LinearSolve, even with a "head start."

I'm not entirely sure how the Preconditioner works for the Krylov method. Does anyone have any ideas?

URL: ,
Help | Reply To Topic