Computational Science Stack Exchange is a question and answer site for scientists using computers to solve scientific problems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I frequently need to solve linear systems with sparse matrices of moderate dimension (say a few thousand). These matrices are composed entirely of small dense blocks (typically 5-10 in dimension), and the overall block structure is sparse (with a pattern like in a PDE spatial discretization). Currently I am just feeding these to UMFPACK, but I am wondering if there are specialized methods that can take advantage of the dense blocks. I anticipate seeing matrices where these dense blocks can be dozens to a few hundred in dimension, with the overall block pattern maintaining sparsity. For larger dense blocks it seems like there would be a much greater advantage to knowing about the block structure.

share|improve this question
up vote 4 down vote accepted

I believe that UMFPACK will do a good job not just supporting the dense blocks in your original matrix but any dense blocks that appear in the LU factors during decomposition. UMFPACK, like most state-of-the-art sparse solvers, uses what are commonly called "supernodal" techniques to identify and then exploit these dense blocks to significantly improve performance.

The sparse solver, SuperLU, also uses supernodal techniques (that's what "Super" refers to) so you might consider comparing its performance to UMFPACK for your particular class of problem.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.