[petsc-dev] MAT_HERMITIAN

Pierre Jolivet pierre.jolivet at enseeiht.fr
Wed Sep 11 03:36:33 CDT 2019


Nevermind, this is the wrong fix.
The proper fix is in PETSc. It should not error out if the matrix is also symmetric.
Indeed, complex symmetric Hermitian => complex with no imaginary part.
Thus all operations like MatMult, MatMultHermitianTranspose, Cholesky… will work for bs > 1, since all is filled with zeroes.
I will take care of this, I’m c/c’ing petsc-dev so that they don’t have to “reverse engineer” the trivial change to MatSetOption_SeqSBAIJ.

Sorry about the noise.

Thank you,
Pierre

> On 10 Sep 2019, at 8:37 AM, Pierre Jolivet <pierre.jolivet at enseeiht.fr> wrote:
> 
> Hello,
> Could you consider not setting MAT_HERMITIAN here http://slepc.upv.es/documentation/current/src/sys/classes/st/interface/stsles.c.html#line276 <http://slepc.upv.es/documentation/current/src/sys/classes/st/interface/stsles.c.html#line276> when using SBAIJ matrices with bs > 1?
> This makes PETSc error out with
> #	[1]PETSC ERROR: No support for this operation for this object type
> #	[1]PETSC ERROR: No support for Hermitian with block size greater than 1
> 
> The change does not bring any regression, since PETSc is always giving an error without it, but on the contrary, it improves the range of applicability of SLEPc, e.g., for complex Hermitian problems with SBAIJ matrices and bs > 1 that _don’t_ require the flag MAT_HERMITIAN set to true.
> 
> Thanks,
> Pierre

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20190911/82e70aed/attachment.html>


More information about the petsc-dev mailing list