Skip to main content
`Ctrl`+`K`

# EPSSetTwoSided

Sets the solver to use a two-sided variant so that left eigenvectors are also computed.

## Synopsis

    #include "slepceps.h"
    PetscErrorCode EPSSetTwoSided(EPS eps,PetscBool twosided)

Logically Collective

## Input Parameters

- eps - the linear eigensolver context

- twosided - whether the two-sided variant is to be used or not

## Options Database Key

- -eps_two_sided (true|false) - toggles the twosided flag

## Notes

If the user sets `twosided`=`PETSC_TRUE` then the solver uses a variant of the algorithm that computes both right and left eigenvectors. This is usually much more costly. This option is not available in all solvers, see table Supported problem types for all eigensolvers available in SLEPc.

When using two-sided solvers, the problem matrices must have both the `MATOP_MULT` and `MATOP_MULT_TRANSPOSE` operations defined.

## See Also

EPS: Eigenvalue Problem Solver, `EPSGetTwoSided()`, `EPSGetLeftEigenvector()`

## Level

advanced

## Location

src/eps/interface/epsopts.c

## Examples

src/eps/tutorials/ex41.c

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