SeqSBAIJ with cholesky

Hong Zhang hzhang at
Wed Oct 25 03:57:13 CDT 2006

> I am trying to use -pc_type cholesky with a SBAIJ (MatCreateSeqSBAIJ)
> Unless I specifically ask for it, its not going to reorder the matrix,
> right? I've been used to calling it 'renumbering' the matrix but I'm
> guessing its the same thing - rearranging the rows and columns so the
> bandwidth of the matrix is reduced, am I correct?
> From this earlier email, I'm understanding that the sbaij format does not
> support reordering? Btw, I tried it anyway.. And it gave some segmentation
> violation error...maybe it can catch the incompatibility earlier on, so that
> the real problem is more obvious.

I wrote matrix reordering for seqsbaij matrix format, but found it
has bug when apply cholesky factorization to it.
Considering its performance, I feel that the matrix reordering for sbaij
matrix should be avoided, and replaced by using aij matrix.

The matrix reordering for sbaij matrix requires reordering of
entire matrix data structure (rows and columns!), causing wild
data accessing and communication, and only gains saving
half of the original sparse matrix entries.
Using aij matrix format, the matrix reordering can be done eficiently.
We provide icc and cholesky matrix factorizations for aij format,
preconditioners are stored in sbaij format (half of matrix entries).
Note, matrix factors are in general denser than the original sparse

> Do you plan on providing the reordering feature for sbaij in the future?
> Almost all structural fem codes deal with symmetric positive semi definite
> matrices. So, that would be a very useful feature...
> Also why do you say that the aij format is more efficient than the sbaij
> format? I would have thought utilizing the symmetry would make the sbaij
> format more efficient.
> is the sbaij format not supported in parallel?
icc/cholesky preconditioners save half of storage than ilu/lu
preconditioner and might be faster. If your have symmetric matrix, use
aij format for your matrix, and apply icc/cholesky preconditioner.
You can apply any symmetric ordering efficiently to the aij matrix to
the fillings in matrix factorization.
We don't have plan to support reordering for sbaij matrix -
at least it is not our priority.

Let us know if you think differently,


> With how it stands right now, is there any other solver supported by petsc
> (external or otherwise) that lets me use reordering with the symmetric
> matrix ?
> Thanks,
> Julian.
> > -----Original Message-----
> > From: owner-petsc-users at
> > [mailto:owner-petsc-users at] On Behalf Of Hong Zhang
> > Sent: Wednesday, October 11, 2006 2:14 PM
> > To: petsc-users at
> > Subject: RE: General matrix interative solver
> >
> >
> > Julian,
> >
> > If you do not perform matrix reordering, you can use petsc
> > sbaij format, which only stores the upper triangular entries.
> > aij format has more algorithmic options and is more efficient
> > and supports matrix reordering.
> >
> > Hong

More information about the petsc-users mailing list