[Trilinos-Users] Bug in Anasazi example code BlockKrylovSchurEpetraExGenAmesos.cpp?
Michael Junge
junge at iam.uni-stuttgart.de
Tue Aug 19 03:17:13 MDT 2008
Chris,
thanks a lot for your reply. Just to make sure that I understand you
right. If I have a symmetric eigenvalue problem I do have to provide the
mass-operator in the definition of the eigenvalue problem. This is due
to the fact, that K^{-1}M is non-symmetric with respect to the standard
inner-product, but symmetric with respect to the inner product defined by M.
What happened with the eigenvalues and eigenvectors, if I did not
provided the mass operator or alternatively provided another symmetric
matrix?
Thanks
Michael
Chris Baker wrote:
> Michael,
>
> You are correct in all of these. The example you cited is solved by
> using a shift invert strategy, transforming the generalized eigenvalue
> problem into a standard one.
> The purpose of passing both the Krylov operator K^{-1} M as well as
> the mass matrix M to the eigenproblem is because the BKS solver
> manager will use the latter as an inner product. The benefit of doing
> this, as you noted, is that the operator K^{-1} M is symmetric with
> respect to the inner product defined by M (so long as K and M are both
> symmetric; they are in this case.) It would only be correct to omit
> the mass operator from the definition of the eigenproblem if you
> specify that the problem is non-symmetric (because the operator K^{-1}
> M is non-symmetric with respect to the standard inner product.)
>
> The BKS solver is capable of solving non-Hermitian/non-symmetric
> problems as well. In this case, you should pass only the Krylov
> operator to the eigenproblem and specify that it is non-Hermitian. If
> you pass the mass matrix, the 8.0.3 version of BKSSolMgr will use it
> for an inner product. This behavior will be different in Trilinos 9.0.
> There is an example of using the BKSSolMgr in a non-symmetric mode in
> anasazi/examples/BlockKrylovSchur/BlockKrylovSchurEpetraEx.cpp. This
> example illustrates the way that complex eigenvectors are extracted
> from the compressed storage scheme utilized by Anasazi.
>
> I apologize that these things are not better documented. We are
> currently compiling a list of FAQs, and this discussion will be
> present on that list.
>
> Chris
>
>
> On Fri, Aug 15, 2008 at 01:24, Michael Junge
> <junge at iam.uni-stuttgart.de <mailto:junge at iam.uni-stuttgart.de>> wrote:
>
> 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
>
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at software.sandia.gov
> <mailto:Trilinos-Users at software.sandia.gov>
> http://software.sandia.gov/mailman/listinfo/trilinos-users
>
>
More information about the Trilinos-Users
mailing list