next up previous
Next: Additional Options Up: JDQR Previous: Preconditioning in

Subsections


Way of using a preconditioner

The way the preconditioner is used can be specified in the Options.

Options.Type$\underline{~}$Precond        (default 'left')

The preconditioner can be used as explicit left preconditioner ('left'), as explicit right preconditioner ('right'), or implicitly ('impl').


In this subsection,

$\bullet$ an MV (matrix vector multiplication) is an operation by A,

$\bullet$ a PS (preconditioner solve) is a solution of the system $Mt=v$, where $M$ is the preconditioner (i.e., the computation of M$\backslash$v),

Explicit versus implicit.

If explicit preconditioning is used, then there is an additional PS needed each time the correction equation is solved. The total number of PSs that jdqr will take is equal to the total number of MVs plus the number of Jacobi-Davidson steps (the number of outer iterations).

With implicit preconditioning the number of PSs reduces to the number of MVs plus the number of detected eigenvalues. However, implicit preconditioning requires more memory. For BiCGstab(ell), 2$\ast$ell additional n-vectors have to be stored. If GMRES is requested as linear solver, then FGMRES is used, requiring storage of an additional $m$ n-vectors. Here $m$ is the maximum number of steps that GMRES needs to achieve the required residual reduction.

Implicit preconditioning in CG does not lead to additional memory requirements and jdqr uses implicit preconditioning whenever CG is selected as linear solver.

Implicit precondioning in MINRES and in SYMMLQ does not reduce the PSs. Moreover, it requires storage of one additional n-vector. However, with implicit preconditioning, there is no need specify the factors L and L' of the preconditioner M ($M=L L^\ast$). Therefore, jdqr uses implicit preconditioning also if MINRES or SYMMLQ is selected as linear solver.

The methods CG, MINRES and SYMMLQ require a positive definite preconditioner.

By storing the preconditioned vectors of the search subspace the number of PSs can be reduced even further. Then the number of PSs will be equal to the number of MVs. However, this strategy has not been implemented in jdqr.

There may be a slight deviation in the count of PSs and MVs if jdqr detects more than one eigenpair at the same iteration step.

Right versus left.

If explicit right preconditioning is used, then the size of the residual is available in the inner loop, that is, the size of the residual of the iterative solver for the correction equation. With explicit left preconditioning, only `preconditioned' residuals are available. However, right preconditioning, as well as implicit preconditioning, requires slightly more projections in GMRES and BiCGstab(ell).


next up previous
Next: Additional Options Up: JDQR Previous: Preconditioning in
Gerard L.G. Sleijpen 2002-05-21