# [Trilinos-Users] Bug in Anasazi example code BlockKrylovSchurEpetraExGenAmesos.cpp?

Michael Junge junge at iam.uni-stuttgart.de
Fri Aug 15 01:24:35 MDT 2008

Hi,
I have been studying the BlockKrylovSchur (BKS) examples provided with
the Anasazi package. In the file
"/packages/anasazi/example/BlockKrylovSchur/BlockKrylovSchurEpetraExGenAmesos.cpp"
of trilinos-8.0.3 the eigenvalues of smallest magnitude of the
discretized 2D Laplacian operator using the block Krylov-Schur method
are solved by an shift-and-invert strategy.
If I understand it right, the Generalized Hermitian Eigenvalue Problem
(GHEVP) is thus transformed to the standard eigenvalue problem, by solving
K^{-1}M x = \lamba x instead of
M x=\lambda K x.
Assumed that this is correct, why is it that the eigenvalue problem is
then defined as
Teuchos::RCP<Anasazi::BasicEigenproblem<double,MV,OP> > MyProblem =
Teuchos::rcp( new Anasazi::BasicEigenproblem<double,MV,OP>(Aop, M, ivec) );
in line 219 of the file BlockKrylovSchurEpetraExGenAmesos.cpp? Would it
be rather correct to define it by
Teuchos::RCP<Anasazi::BasicEigenproblem<double,MV,OP> > MyProblem =
Teuchos::rcp( new Anasazi::BasicEigenproblem<double,MV,OP>(Aop, ivec) );
thus ommiting the M operator, since we no longer solve the original GHEVP?

It is correct, that BKS solver is also capable to solve non-symmetric
EVPs? Is the only difference in specifying the non-symmetric problem by
setting
MyProblem->setHermitian(false)?
Or do I also have to modify the Solver's parameters? Is there an example
code for this?

I would appreciate any comments on this questions.

Michael