|
| | ChebyshevFilteredEigenSolver (const double wantedSpectrumLowerBound, const double wantedSpectrumUpperBound, const double unWantedSpectrumUpperBound, const double polynomialDegree, const double illConditionTolerance, MultiVector< ValueTypeOperand, memorySpace > &eigenSubspaceGuess, const ElpaScalapackManager &elpaScala, bool isResidualChebyshevFilter=true, const size_type eigenVectorBatchSize=0, OrthogonalizationType orthoType=OrthogonalizationType::CHOLESKY_GRAMSCHMIDT, bool storeIntermediateSubspaces=false) |
| | Constructor. More...
|
| |
| | ~ChebyshevFilteredEigenSolver ()=default |
| | Destructor. More...
|
| |
| void | reinit (const double wantedSpectrumLowerBound, const double wantedSpectrumUpperBound, const double unWantedSpectrumUpperBound, const double polynomialDegree, const double illConditionTolerance, MultiVector< ValueTypeOperand, memorySpace > &eigenSubspaceGuess) |
| |
| EigenSolverError | solve (const OpContext &A, std::vector< RealType > &eigenValues, MultiVector< ValueType, memorySpace > &eigenVectors, bool computeEigenVectors=false, const OpContext &B=IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), const OpContext &BInv=IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >()) override |
| |
| MultiVector< ValueType, memorySpace > & | getFilteredSubspace () |
| |
| MultiVector< ValueType, memorySpace > & | getOrthogonalizedFilteredSubspace () |
| |
|
| double | d_wantedSpectrumLowerBound |
| |
| double | d_wantedSpectrumUpperBound |
| |
| double | d_unWantedSpectrumUpperBound |
| |
| double | d_polynomialDegree |
| |
| double | d_illConditionTolerance |
| |
| MultiVector< ValueTypeOperand, memorySpace > * | d_eigenSubspaceGuess |
| |
| const size_type | d_eigenVecBatchSize |
| |
| const bool | d_storeIntermediateSubspaces |
| |
| std::shared_ptr< MultiVector< ValueType, memorySpace > > | d_filteredSubspace |
| |
| std::shared_ptr< MultiVector< ValueType, memorySpace > > | d_filteredSubspaceOrtho |
| |
| std::shared_ptr< MultiVector< ValueType, memorySpace > > | d_XinBatchSmall |
| |
| std::shared_ptr< MultiVector< ValueType, memorySpace > > | d_XinBatch |
| |
| std::shared_ptr< MultiVector< ValueType, memorySpace > > | d_XoutBatchSmall |
| |
| std::shared_ptr< MultiVector< ValueType, memorySpace > > | d_XoutBatch |
| |
| std::shared_ptr< RayleighRitzEigenSolver< ValueTypeOperator, ValueType, memorySpace > > | d_rr |
| |
| std::shared_ptr< OrthonormalizationFunctions< ValueTypeOperator, ValueType, memorySpace > > | d_ortho |
| |
| utils::Profiler | d_p |
| |
| const bool | d_isResidualChebyFilter |
| |
| size_type | d_batchSizeSmall |
| |
| std::shared_ptr< const utils::mpi::MPIPatternP2P< memorySpace > > | d_mpiPatternP2P |
| |
| bool | d_printL2Norms |
| |
| OrthogonalizationType | d_orthoType |
| |
| const ElpaScalapackManager * | d_elpaScala |
| |
template<typename ValueTypeOperator, typename ValueTypeOperand,
utils::MemorySpace memorySpace>
class dftefe::linearAlgebra::ChebyshevFilteredEigenSolver< ValueTypeOperator, ValueTypeOperand, memorySpace >
A derived class of OperatorContext to encapsulate the action of a discrete operator on vectors, matrices, etc.
- Template Parameters
-
| 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 |