26#ifndef dftefeChebyshevFilter_h
27#define dftefeChebyshevFilter_h
39 namespace linearAlgebra
54 template <
typename ValueTypeOperator,
55 typename ValueTypeOperand,
59 const OperatorContext<ValueTypeOperator, ValueTypeOperand, memorySpace>
61 const OperatorContext<ValueTypeOperator, ValueTypeOperand, memorySpace>
63 MultiVector<ValueTypeOperand, memorySpace> &eigenSubspaceGuess,
65 const double wantedSpectrumLowerBound,
66 const double wantedSpectrumUpperBound,
67 const double unWantedSpectrumUpperBound,
68 MultiVector<blasLapack::scalar_type<ValueTypeOperator, ValueTypeOperand>,
69 memorySpace> & filteredSubspace);
71 template <
typename ValueTypeOperator,
72 typename ValueTypeOperand,
76 const OperatorContext<ValueTypeOperator, ValueTypeOperand, memorySpace>
78 const OperatorContext<ValueTypeOperator, ValueTypeOperand, memorySpace>
80 const OperatorContext<ValueTypeOperator, ValueTypeOperand, memorySpace>
82 MultiVector<ValueTypeOperand, memorySpace> &eigenSubspaceGuess,
84 const double wantedSpectrumLowerBound,
85 const double wantedSpectrumUpperBound,
86 const double unWantedSpectrumUpperBound,
87 MultiVector<blasLapack::scalar_type<ValueTypeOperator, ValueTypeOperand>,
88 memorySpace> & filteredSubspace);
90 template <
typename ValueTypeOperator,
91 typename ValueTypeOperand,
95 const OperatorContext<ValueTypeOperator, ValueTypeOperand, memorySpace>
97 const OperatorContext<ValueTypeOperator, ValueTypeOperand, memorySpace>
99 const OperatorContext<ValueTypeOperator, ValueTypeOperand, memorySpace>
102 blasLapack::scalar_type<ValueTypeOperator, ValueTypeOperand>>>
104 MultiVector<ValueTypeOperand, memorySpace> &eigenSubspaceGuess,
106 const double wantedSpectrumLowerBound,
107 const double wantedSpectrumUpperBound,
108 const double unWantedSpectrumUpperBound,
109 MultiVector<blasLapack::scalar_type<ValueTypeOperator, ValueTypeOperand>,
110 memorySpace> & filteredSubspace);
blas::real_type< ValueType > real_type
Definition: BlasLapackTypedef.h:64
void ResidualChebyshevFilterGEP(const OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > &A, const OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > &B, const OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > &BInv, std::vector< blasLapack::real_type< blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand > > > &eigenvalues, MultiVector< ValueTypeOperand, memorySpace > &eigenSubspaceGuess, const size_type polynomialDegree, const double wantedSpectrumLowerBound, const double wantedSpectrumUpperBound, const double unWantedSpectrumUpperBound, MultiVector< blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand >, memorySpace > &filteredSubspace)
Definition: ChebyshevFilter.t.cpp:240
void ChebyshevFilterGEP(const OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > &A, const OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > &B, const OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > &BInv, MultiVector< ValueTypeOperand, memorySpace > &eigenSubspaceGuess, const size_type polynomialDegree, const double wantedSpectrumLowerBound, const double wantedSpectrumUpperBound, const double unWantedSpectrumUpperBound, MultiVector< blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand >, memorySpace > &filteredSubspace)
Definition: ChebyshevFilter.t.cpp:142
void ChebyshevFilter(const OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > &A, const OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > &BInv, MultiVector< ValueTypeOperand, memorySpace > &eigenSubspaceGuess, const size_type polynomialDegree, const double wantedSpectrumLowerBound, const double wantedSpectrumUpperBound, const double unWantedSpectrumUpperBound, MultiVector< blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand >, memorySpace > &filteredSubspace)
A class to get chebyshevFiletered subspace "filteredSubspace" from original subspace "eigenSubspaceGu...
Definition: ChebyshevFilter.t.cpp:39
MemorySpace
Definition: MemorySpaceType.h:37
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8