EPSSetDimensions#
Sets the number of eigenvalues to compute and the dimension of the subspace.
Synopsis#
#include "slepceps.h"
PetscErrorCode EPSSetDimensions(EPS eps,PetscInt nev,PetscInt ncv,PetscInt mpd)
Logically Collective
Input Parameters#
eps - the linear eigensolver context
nev - number of eigenvalues to compute
ncv - the maximum dimension of the subspace to be used by the solver
mpd - the maximum dimension allowed for the projected problem
Options Database Keys#
-eps_nev <nev> - sets the number of eigenvalues
-eps_ncv <ncv> - sets the dimension of the subspace
-eps_mpd <mpd> - sets the maximum projected dimension
Notes#
Use PETSC_DETERMINE for ncv and mpd to assign a reasonably good value, which is
dependent on the solution method. For any of the arguments, use PETSC_CURRENT
to preserve the current value.
The parameters ncv and mpd are intimately related, so that the user is advised
to set one of them at most. Normal usage is:
In cases where
nevis small, the user setsncv(a reasonable default is2*nev).In cases where
nevis large, the user setsmpd.
The value of ncv should always be between nev and (nev+mpd), typically
ncv=nev+mpd. If nev is not too large, mpd=nev is a reasonable choice, otherwise
a smaller value should be used.
When computing all eigenvalues in an interval, see EPSSetInterval(), these
parameters lose relevance, and tuning must be done with
EPSKrylovSchurSetDimensions().
See Also#
EPS: Eigenvalue Problem Solver, EPSGetDimensions(), EPSSetInterval(), EPSKrylovSchurSetDimensions()
Level#
intermediate
Location#
Examples#
Implementations#
EPSSetDimensions_LOBPCG() in src/eps/impls/cg/lobpcg/lobpcg.c
EPSSetDimensions_BLOPEX() in src/eps/impls/external/blopex/blopex.c
Index of all EPS routines Table of Contents for all manual pages Index of all manual pages