20 cout <<
"=== EVP: complex generalised eigenvalue problem ====\n";
76 catch (
const std::runtime_error &error )
78 cout <<
" \033[1;31;48m * FAILED THROUGH EXCEPTION BEING RAISED \033[0m\n";
87 const double tol = 1.e-14;
88 if ( std::abs( lambdas[ 0 ] -
D_complex( 3.0, -1.0 ) ) > tol )
90 cout <<
"\033[1;31;48m * FAILED \033[0m\n";
92 cout <<
" Final error = " << std::abs( lambdas[ 0 ] -
D_complex( 3.0, -1.0 ) ) <<
"\n";
97 cout <<
"\033[1;32;48m * PASSED \033[0m\n";
A shorter bundled include file for ODE_EVP and general eigenvalue problems.
A linear Nth-order generalised eigensystem class.
void tag_eigenvalues_disc(const int &val, const double &radius)
Tag those eigenvalues that are within a disc centred at a point in the complex plane.
DenseVector< D_complex > get_tagged_eigenvalues() const
Get the the tagged eigenvalues.
void eigensolve()
Solve the matrix linear eigensystem.
A matrix class that constructs a DENSE matrix as a row major std::vector of DenseVectors.
An DenseVector class – a dense vector object.
void dump() const
Dump to std::cout.
void set_shift(const D_complex &z)
Set the shift value to be used in tagging.
A collection of OO numerical routines aimed at simple (typical) applied problems in continuum mechani...
std::complex< double > D_complex
A complex double precision number using std::complex.