EPSSetBalance#

Specifies the balancing technique to be employed by the eigensolver, and some parameters associated to it.

Synopsis#

#include "slepceps.h" 
PetscErrorCode EPSSetBalance(EPS eps,EPSBalance bal,PetscInt its,PetscReal cutoff)

Logically Collective

Input Parameters#

  • eps - the linear eigensolver context

  • bal - the balancing method, see EPSBalance for possible values

  • its - number of iterations of the balancing algorithm

  • cutoff - cutoff value

Options Database Keys#

  • -eps_balance <bal> - the balancing method, one of none, oneside, twoside, or user

  • -eps_balance_its <its> - number of iterations

  • -eps_balance_cutoff <cutoff> - cutoff value

Notes#

When balancing is enabled, the solver works implicitly with matrix \(DAD^{-1}\), where \(D\) is an appropriate diagonal matrix. This improves the accuracy of the computed results in some cases, see Balancing for Non-Hermitian Problems.

Balancing makes sense only for non-Hermitian problems when the required precision is high (i.e., a small tolerance such as 1e-14).

By default, balancing is disabled. The two-sided method is much more effective than the one-sided counterpart, but it requires the system matrices to have the MatMultTranspose() operation defined. The methods are described in [Chen and Demmel, 2000].

The parameter its is the number of iterations performed by the method. The cutoff value is used only in the two-side variant. Use PETSC_DETERMINE to assign a reasonably good value, or PETSC_CURRENT to leave the value unchanged.

User-defined balancing is allowed provided that the corresponding matrix is set via STSetBalanceMatrix().

References#

[Che00]

T.-Y. Chen and J. W. Demmel. Balancing sparse matrices for computing eigenvalues. Linear Algebra Appl., 309(1–3):261–287, 2000. doi:10.1016/S0024-3795(00)00014-8.

See Also#

EPS: Eigenvalue Problem Solver, Balancing for Non-Hermitian Problems, EPSGetBalance(), EPSBalance, STSetBalanceMatrix()

Level#

intermediate

Location#

src/eps/interface/epsopts.c


Index of all EPS routines Table of Contents for all manual pages Index of all manual pages