Function Dune::XT::LA::internal::process_eigenvalue_group¶
Function template Dune::XT::LA::internal::process_eigenvalue_group¶
-
template<class RealType, class RealMatrixType, class ComplexMatrixType, class RaiseNotReal>
void Dune::XT::LA::internal::process_eigenvalue_group(const ComplexMatrixType &eigenvectors, RealMatrixType &real_eigenvectors, const RaiseNotReal &raise_not_real, const int &group, const int multiplicity, const int rows, const int cols)¶ For a single eigenvalue, calculates an orthogonal basis of the real eigenspace from the real and imaginary parts of the complex eigenvectors, and writes the result into real_eigenvectors.
:param raise_not_real: Called (and expected to throw, via DUNE_THROW) if the eigenvectors turn out not to be recoverable as real. Left to the caller (instead of taking an exception type and building the message here) so that DUNE_THROW’s “#E” stringification of the exception type and the exact (implementation-specific) message text are preserved unchanged at each call site.