[petsc-dev] Transpose and AXPY
Smith, Barry F.
bsmith at mcs.anl.gov
Tue Apr 9 16:53:42 CDT 2019
Pierre,
Go ahead and make a pull request.
Please add a PetscInfo() line when it does the transposes that says something like "Explicitly transposing MATTRANSPOSEMAT matrix to perform MatAXPY()"
Barry
I don't like aesthetically the trick of calling PetscObjectQueryFunction((PetscObject)X,"MatTransposeGetMat_C",&f); to determine if it should do a transpose or Hermitian transpose but I don't have a better way so I guess with live with it.
> On Apr 9, 2019, at 1:45 PM, Pierre Jolivet via petsc-dev <petsc-dev at mcs.anl.gov> wrote:
>
> We are trying to solve a generalized eigenvalue problem with -st_type sinvert using a MATNEST as a RHS and a nonzero shift.
> Some Mats in the MATNEST are either created with MatCreateHermitianTranspose or MatCreateTranspose.
>
> MatAXPY (needed by -st_type sinvert) is failing us because there is obviously no MatGetRow for MATTRANSPOSE.
> What I would like to do is get the associated matrix and explicitly (Hermitian) transpose it, then call MatAXPY.
>
> Would such an ugly code (that fixes our solver) be mergeable to master https://bitbucket.org/petsc/petsc/branch/jolivet/axpy-transpose#diff?
> If not, do you have some suggestions?
>
> Thanks,
> Pierre
More information about the petsc-dev
mailing list