PEPSetDimensions — SLEPc 3.25.1 documentation

Skip to main content
`Ctrl`+`K`

# PEPSetDimensions

Sets the number of eigenvalues to compute and the dimension of the subspace.

## Synopsis

    #include "slepcpep.h"
    PetscErrorCode PEPSetDimensions(PEP pep,PetscInt nev,PetscInt ncv,PetscInt mpd)

Logically Collective

## Input Parameters

- pep - the polynomial 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

- -pep_nev nev - sets the number of eigenvalues

- -pep_ncv ncv - sets the dimension of the subspace

- -pep_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:

1. in cases where `nev` is small, the user sets `ncv` (a reasonable default is `2*nev`).

2. in cases where `nev` is large, the user sets `mpd`.

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 `PEPSetInterval()`, these parameters lose relevance, and tuning must be done with `PEPSTOARSetDimensions()`.

## See Also

PEP: Polynomial Eigenvalue Problems, `PEPGetDimensions()`, `PEPSetInterval()`, `PEPSTOARSetDimensions()`

## Level

intermediate

## Location

src/pep/interface/pepopts.c

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