[petsc-users] Shell matrices and complex NHEP SVD problems
Jose E. Roman
jroman at dsic.upv.es
Sun Jul 15 03:35:47 CDT 2012
El 15/07/2012, a las 01:41, Matthew Knepley escribió:
> On Sat, Jul 14, 2012 at 6:30 PM, Miguel Fosas <miguel.fosas at gmail.com> wrote:
> Hi everyone,
>
> I have a question concerning the usage of shell matrices with SLEPc
> and the SVD solvers. When I compute the largest singular values from a
> complex non-hermitian matrix A with SLEPc, the solver asks the user to
> provide MATOP_MULT and MATOP_MULT_TRANSPOSE operations for A.
>
> As I have observed in the documentation of SLEPc, both the cyclic and
> cross solvers require matrix-vector product of A* v, with A* the
> complex conjugate of A. After having taken a look at the source code,
> it is not clear to me how the complex case is handled.
>
> The question is: for the complex case, does the implementation of
> MatMultTranspose have to compute A* v or A^T v? Is there a reason why
> it is not implemented using MatMultHermitianTranspose?
>
> I believe it is done this way because we originally did not distinguish (they were not there in 2009). It
> should probably be updated.
>
> Matt
>
> Thanks in advance,
>
> Miguel.
>
True. I will change it for the release. Thanks.
By the way, the MatOperation names are not very consistent: MATOP_MULT_TRANSPOSE and MATOP_MULTHERMITIANTRANSPOSE. Shouldn't it be MATOP_MULT_HERMITIAN_TRANSPOSE?
Jose
More information about the petsc-users
mailing list