A derived class of OperatorContext to encapsulate the action of a discrete operator on vectors, matrices, etc. More...
#include <RayleighRitzEigenSolver.h>
Public Types | |
using | ValueType = blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand > |
define ValueType as the superior (bigger set) of the ValueTypeOperator and ValueTypeOperand (e.g., between double and complex<double>, complex<double> is the bigger set) More... | |
using | RealType = blasLapack::real_type< ValueType > |
using | OpContext = OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > |
Public Member Functions | |
RayleighRitzEigenSolver () | |
Constructor. More... | |
~RayleighRitzEigenSolver ()=default | |
Default Destructor. More... | |
EigenSolverError | solve (const OpContext &A, MultiVector< ValueTypeOperand, memorySpace > &X, std::vector< RealType > &eigenValues, MultiVector< ValueType, memorySpace > &eigenVectors, bool computeEigenVectors=false) |
EigenSolverError | solve (const OpContext &A, const OpContext &B, MultiVector< ValueTypeOperand, memorySpace > &X, std::vector< RealType > &eigenValues, MultiVector< ValueType, memorySpace > &eigenVectors, bool computeEigenVectors=false) |
A derived class of OperatorContext to encapsulate the action of a discrete operator on vectors, matrices, etc.
ValueTypeOperator | The datatype (float, double, complex<double>, etc.) for the underlying operator |
ValueTypeOperand | The datatype (float, double, complex<double>, etc.) of the vector, matrices, etc. on which the operator will act |
memorySpace | The meory sapce (HOST, DEVICE, HOST_PINNED, etc.) in which the data of the operator and its operands reside |
using dftefe::linearAlgebra::RayleighRitzEigenSolver< ValueTypeOperator, ValueTypeOperand, memorySpace >::OpContext = OperatorContext<ValueTypeOperator, ValueTypeOperand, memorySpace> |
using dftefe::linearAlgebra::RayleighRitzEigenSolver< ValueTypeOperator, ValueTypeOperand, memorySpace >::RealType = blasLapack::real_type<ValueType> |
using dftefe::linearAlgebra::RayleighRitzEigenSolver< ValueTypeOperator, ValueTypeOperand, memorySpace >::ValueType = blasLapack::scalar_type<ValueTypeOperator, ValueTypeOperand> |
define ValueType as the superior (bigger set) of the ValueTypeOperator and ValueTypeOperand (e.g., between double and complex<double>, complex<double> is the bigger set)
dftefe::linearAlgebra::RayleighRitzEigenSolver< ValueTypeOperator, ValueTypeOperand, memorySpace >::RayleighRitzEigenSolver |
Constructor.
|
default |
Default Destructor.
EigenSolverError dftefe::linearAlgebra::RayleighRitzEigenSolver< ValueTypeOperator, ValueTypeOperand, memorySpace >::solve | ( | const OpContext & | A, |
const OpContext & | B, | ||
MultiVector< ValueTypeOperand, memorySpace > & | X, | ||
std::vector< RealType > & | eigenValues, | ||
MultiVector< ValueType, memorySpace > & | eigenVectors, | ||
bool | computeEigenVectors = false |
||
) |
EigenSolverError dftefe::linearAlgebra::RayleighRitzEigenSolver< ValueTypeOperator, ValueTypeOperand, memorySpace >::solve | ( | const OpContext & | A, |
MultiVector< ValueTypeOperand, memorySpace > & | X, | ||
std::vector< RealType > & | eigenValues, | ||
MultiVector< ValueType, memorySpace > & | eigenVectors, | ||
bool | computeEigenVectors = false |
||
) |