#include "slepcpep.h" PetscErrorCode PEPSetScale(PEP pep,PEPScale scale,PetscReal alpha,PetscInt its,PetscReal lambda)Logically Collective on PEP
pep | - the eigensolver context | |
scale | - scaling strategy | |
alpha | - the scaling factor used in the scalar strategy | |
its | - number of iterations of the diagonal scaling algorithm | |
lambda | - approximation to wanted eigenvalues (modulus) |
-pep_scale <type> | - scaling type, one of <none,scalar,diagonal,both> | |
-pep_scale_factor <alpha> | - the scaling factor | |
-pep_scale_its <its> | - number of iterations | |
-pep_scale_lambda <lambda> | - approximation to eigenvalues |
In the scalar strategy, scaling is applied to the eigenvalue, that is, mu = lambda/alpha is the new eigenvalue and all matrices are scaled accordingly. After solving the scaled problem, the original lambda is recovered. Parameter 'alpha' must be positive. Use PETSC_DECIDE to let the solver compute a reasonable scaling factor.
In the diagonal strategy, the solver works implicitly with matrix Dr*A*Dl, where Dr and Dl are appropriate diagonal matrices. This improves the accuracy of the computed results in some cases. This option requires MATAIJ matrices. The parameter 'its' is the number of iterations performed by the method. Parameter 'lambda' must be positive. Use PETSC_DECIDE or set lambda = 1.0 if no information about eigenvalues is available.
Location: src/pep/interface/pepopts.c
Index of all PEP routines
Table of Contents for all manual pages
Index of all manual pages