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()

Attachment: signature.asc
Description: PGP signature

Reply via email to