[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



More information about the Trilinos-Users mailing list