Class xlifepp::HelperTraits#
-
template<class ScalarType>
class HelperTraits#
-
Collaboration diagram for xlifepp::HelperTraits:
Class which defines basic traits for working with different scalar types.
An adapter for this traits class must exist for the
ScalarType
. If not, this class will produce a compile-time error.Public Static Functions
-
static void computeRitzResiduals(const std::vector<typename NumTraits<ScalarType>::magnitudeType> &iRV, const MatrixEigenDense<ScalarType> &S, std::vector<typename NumTraits<ScalarType>::magnitudeType> *RR)#
-
Helper function for correctly computing the Ritz residuals of the projected eigenproblem.
This allows us to use template specialization to ensure the Ritz residuals are correct.
-
static void scaleRitzVectors(const std::vector<typename NumTraits<ScalarType>::magnitudeType> &iRV, MatrixEigenDense<ScalarType> *S)#
-
Helper function for correctly scaling the eigenvectors of the projected eigenproblem.
This allows us to use template specialization to compute the right scaling so the Ritz residuals are correct.
-
static void sortRitzValueEigenSolvers(const std::vector<typename NumTraits<ScalarType>::magnitudeType> &rRV, const std::vector<typename NumTraits<ScalarType>::magnitudeType> &iRV, std::vector<ValueEigenSolver<ScalarType>> *RV, std::vector<int> *RO, std::vector<int> *RI)#
-
Helper function for correctly storing the Ritz values when the eigenproblem is non-Hermitian.
This allows us to use template specialization to compute the right index vector and correctly handle complex-conjugate pairs.
-
static void computeRitzResiduals(const std::vector<typename NumTraits<ScalarType>::magnitudeType> &iRV, const MatrixEigenDense<ScalarType> &S, std::vector<typename NumTraits<ScalarType>::magnitudeType> *RR)#