That is correct... I will try with -pc_type cholesky and use MatTransposeMatMult.
Using cholesky I do not need to specify mumps as a solver, am I right? A is a linearization of the Navier Stokes equation. Thanks! Gianluca On Wed, Nov 4, 2015 at 12:46 PM, Jed Brown <[email protected]> wrote: > Gianluca Meneghello <[email protected]> writes: > > > Dear all, > > > > I am trying to solve a linear system for a symmetric matrix with MUMPS. > > > > Is there a way to tell MUMPS that the matrix is indeed symmetric? > > > > The way I build the matrix is > > > > Mat A,AT,ATA > > MatHermitianTranspose(A,MAT_INITIAL_MATRIX,&AT); > > MatMatMult(AT,A,MAT_INITIAL_MATRIX,7,&ATA); > > MatSetOption(ATA,MAT_SYMMETRY_ETERNAL,PETSC_TRUE); > > > > but MUMPS returns > > > > L U Solver for unsymmetric matrices > > You're probably using -pc_type lu rather than -pc_type cholesky. > > > Of course, any suggestion of a better/more efficient way to build ATA or > > store only half of it, that is more than welcome. > > Where does A come from? > > There is MatTransposeMatMult() >
