2

I am working on a problem in which I have to solve a linear system with a sparse matrix of the general pattern shown below (please click on the link) needs to be solved.

It currently works very well using a BiCGSTAB solver and an ILU0 preconditioner. However the time required to solve the problem is too large for my purposes. I am therefore looking for a different parallel preconditioner. Problem is I am not really a mathematician so I don't know which type to try out. I am using the paralution linear solver package however I'd be happy to try other packages as well or write my own.

Any help would be greatly appreciated :-)

general sparse matrix pattern of my problem

Peter
  • 21
  • 1
  • 1
    I think your question would be more suitable for [scicomp.se] –  Jan 26 '16 at 19:59
  • Thanks for the suggestion; I will repost it there. – Peter Jan 26 '16 at 20:29
  • 1
    Is your matrix really only $600$ by $600$? The sparsity pattern looks nice. Based on my experience I think a sparse direct method would be able to solve this system extremely fast. How long does it take you to solve now, and how fast do you need it to be? How long does it take to solve using Matlab's backslash operator? – littleO Feb 20 '16 at 22:50
  • For example, on my computer I just solved a dense $600$ by $600$ linear system in .017 seconds using Matlab's backslash operator. – littleO Feb 21 '16 at 12:21

1 Answers1

0

In view of the sparsity pattern of your matrix you should extract a narrow banded matrix from around the main diagonal of your matrix. You can solve the necessary linear systems in parallel using the (P)Spike package which you can find here http://www.pspike-project.org/

There is not enough information to predict if this strategy will be successful, so do some experiment in MATLAB first before you install the new software.

Ultimately you may be able to reduce the solve time, but I doubt that you will be able to get good parallel efficiency given that your system is extremely small.

Carl Christian
  • 12,583
  • 1
  • 14
  • 37