Skip to content

Class ae108::cppslepc::LinearEigenvalueProblemSolver

template <class Policy>

ClassList > ae108 > cppslepc > LinearEigenvalueProblemSolver

Public Types

Type Name
enum std::uint8_t Type
typedef PetscComplex complex_type
typedef cpppetsc::Matrix< Policy > matrix_type
typedef PetscReal real_type
typedef PetscInt size_type
typedef PetscScalar value_type
typedef cpppetsc::distributed< cpppetsc::Vector< Policy > > vector_type

Public Functions

Type Name
LinearEigenvalueProblemSolver ()
EPS data () const
Returns the internal solver.
void getEigenpair (const size_type n, EigenPair< Policy > * out) const
Get nth eigenpair.
complex_type getEigenvalue (const size_type n) const
Get nth eigenvalue.
size_type numberOfEigenpairs () const
Number of discovered eigenpairs.
void setOperators (const matrix_type * A, const Type type=Type::nonhermitian)
Sets the matrices associated with a standard eigenvalue problem, i.e. Ax = lambda * x.
void setOperators (const matrix_type * A, const matrix_type * B, const Type type=Type::generalized_nonhermitian)
Sets the matrices associated with a generalized eigenvalue problem, i.e. Ax = lambda * Bx.
void solve ()
Solve linear eigenvalue problem.

Public Types Documentation

enum Type

enum ae108::cppslepc::LinearEigenvalueProblemSolver::Type {
    hermitian = EPS_HEP,
    nonhermitian = EPS_NHEP,
    generalized_hermitian = EPS_GHEP,
    generalized_nonhermitian = EPS_GNHEP,
    generalized_nonhermitian_spd = EPS_PGNHEP,
    generalized_indefinite = EPS_GHIEP
};

typedef complex_type

using ae108::cppslepc::LinearEigenvalueProblemSolver< Policy >::complex_type =  PetscComplex;

typedef matrix_type

using ae108::cppslepc::LinearEigenvalueProblemSolver< Policy >::matrix_type =  cpppetsc::Matrix<Policy>;

typedef real_type

using ae108::cppslepc::LinearEigenvalueProblemSolver< Policy >::real_type =  PetscReal;

typedef size_type

using ae108::cppslepc::LinearEigenvalueProblemSolver< Policy >::size_type =  PetscInt;

typedef value_type

using ae108::cppslepc::LinearEigenvalueProblemSolver< Policy >::value_type =  PetscScalar;

typedef vector_type

using ae108::cppslepc::LinearEigenvalueProblemSolver< Policy >::vector_type =  cpppetsc::distributed<cpppetsc::Vector<Policy> >;

Public Functions Documentation

function LinearEigenvalueProblemSolver

explicit ae108::cppslepc::LinearEigenvalueProblemSolver::LinearEigenvalueProblemSolver () 

function data

Returns the internal solver.

EPS ae108::cppslepc::LinearEigenvalueProblemSolver::data () const


function getEigenpair

Get nth eigenpair.

void ae108::cppslepc::LinearEigenvalueProblemSolver::getEigenpair (
    const size_type n,
    EigenPair < Policy > * out
) const

Exception:


function getEigenvalue

Get nth eigenvalue.

complex_type ae108::cppslepc::LinearEigenvalueProblemSolver::getEigenvalue (
    const size_type n
) const

Exception:


function numberOfEigenpairs

Number of discovered eigenpairs.

size_type ae108::cppslepc::LinearEigenvalueProblemSolver::numberOfEigenpairs () const


function setOperators [1/2]

Sets the matrices associated with a standard eigenvalue problem, i.e. Ax = lambda * x.

void ae108::cppslepc::LinearEigenvalueProblemSolver::setOperators (
    const matrix_type * A,
    const Type type=Type::nonhermitian
) 

Exception:


function setOperators [2/2]

Sets the matrices associated with a generalized eigenvalue problem, i.e. Ax = lambda * Bx.

void ae108::cppslepc::LinearEigenvalueProblemSolver::setOperators (
    const matrix_type * A,
    const matrix_type * B,
    const Type type=Type::generalized_nonhermitian
) 

Exception:


function solve

Solve linear eigenvalue problem.

void ae108::cppslepc::LinearEigenvalueProblemSolver::solve () 

Exception:



The documentation for this class was generated from the following file cppslepc/src/include/ae108/cppslepc/LinearEigenvalueProblemSolver.h