<div dir="ltr">That is correct... I will try with -pc_type cholesky and useĀ <span style="font-size:13px">MatTransposeMatMult.</span><div><br></div><div>Using cholesky I do not need to specify mumps as a solver, am I right?<div><br></div><div>A is a linearization of the Navier Stokes equation.</div><div><br></div><div>Thanks!</div><div><br></div><div>Gianluca</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 4, 2015 at 12:46 PM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Gianluca Meneghello <<a href="mailto:gianmail@gmail.com">gianmail@gmail.com</a>> writes:<br>
<br>
> Dear all,<br>
><br>
> I am trying to solve a linear system for a symmetric matrix with MUMPS.<br>
><br>
> Is there a way to tell MUMPS that the matrix is indeed symmetric?<br>
><br>
> The way I build the matrix is<br>
><br>
> Mat A,AT,ATA<br>
> MatHermitianTranspose(A,MAT_INITIAL_MATRIX,&AT);<br>
> MatMatMult(AT,A,MAT_INITIAL_MATRIX,7,&ATA);<br>
> MatSetOption(ATA,MAT_SYMMETRY_ETERNAL,PETSC_TRUE);<br>
><br>
> but MUMPS returns<br>
><br>
> L U Solver for unsymmetric matrices<br>
<br>
</span>You're probably using -pc_type lu rather than -pc_type cholesky.<br>
<span class=""><br>
> Of course, any suggestion of a better/more efficient way to build ATA or<br>
> store only half of it, that is more than welcome.<br>
<br>
</span>Where does A come from?<br>
<br>
There is MatTransposeMatMult()<br>
</blockquote></div><br></div>