namespace ewalena  0.2.15
ewalena is not an acronym
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions
ewalena::SolverQuadratic< ValueType > Class Template Reference

#include <include/ewalena/lac/solver_quadratic.h>

Inheritance diagram for ewalena::SolverQuadratic< ValueType >:
Inheritance graph
[legend]
Collaboration diagram for ewalena::SolverQuadratic< ValueType >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void solve (const Matrix< ValueType > &A, Vector< ValueType > &lambda, VectorBasis< ValueType > &x)
 SolverQuadratic (SolverControl< ValueType > &solver_control=0)

Protected Member Functions

ValueType det (const Matrix< ValueType > &matrix)
ValueType trace (const Matrix< ValueType > &matrix)

Detailed Description

template<typename ValueType = double>
class ewalena::SolverQuadratic< ValueType >

SolverQuadratic is a standard eigenspectrum solver that finds scalar eigenvalues $\lambda_i$ and right eigenvectors $X_i$ of a quandratic eigenvalue problem such that

\[Q(\lambda_i)X_i = 0\,,\]

, where $Q(\lambda)=a\lambda^2+b\lambda+c\,$, with matrix coefficients $a,b,c\in\mathbb{C}^{n \times n}$ and $b\,\neq0,$ (nonzero leading coefficient).

In general this particular solver is useful for very small problems ( $n\eq4$) and/or for checking purposes only.

The eigenvalues are returned in decending order (highest first). Suitable for real symmetric and real not symmetric matrics.

Note:
This solver does not make use of the SolverControl object, though this can be passed in the same way as all other solvers, it is dutifully ignored.
Author:
Toby D. Young 2012.

Constructor & Destructor Documentation

template<typename ValueType = double>
ewalena::SolverQuadratic< ValueType >::SolverQuadratic ( SolverControl< ValueType > &  solver_control = 0)

Constructor.

Note:
To allow calling the constructor without a SolverControl object (which is always ignored in this particular solver), the default is declared empty by default.

Member Function Documentation

template<typename ValueType >
ValueType ewalena::SolverQuadratic< ValueType >::det ( const Matrix< ValueType > &  matrix) [inline, protected]

Get the determinant of this matrix.

Note:
This routine is hand hacked and is specifically intended to be used by the SolverQuadratic class only.
template<typename ValueType = double>
virtual void ewalena::SolverQuadratic< ValueType >::solve ( const Matrix< ValueType > &  A,
Vector< ValueType > &  lambda,
VectorBasis< ValueType > &  x 
) [virtual]

Actually solve the eigensystem $A\cdot x=\lambda x$.

Reimplemented from ewalena::SolverBase< ValueType >.

template<typename ValueType >
ValueType ewalena::SolverQuadratic< ValueType >::trace ( const Matrix< ValueType > &  matrix) [inline, protected]

Get the trace of this matrix.

Note:
This routine is hand hacked and is specifically intended to be used by the SolverQuadratic class only.

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines