
Classes | |
| struct | AdditionalData |
Public Member Functions | |
| EigenPower (SolverControl &cn, VectorMemory< VECTOR > &mem, const AdditionalData &data=AdditionalData()) | |
| virtual | ~EigenPower () |
| template<class MATRIX > | |
| void | solve (double &value, const MATRIX &A, VECTOR &x) |
Protected Attributes | |
| AdditionalData | additional_data |
Power method (von Mises) for eigenvalue computations.
This method determines the largest eigenvalue of a matrix by applying increasing powers of this matrix to a vector. If there is an eigenvalue
with dominant absolute value, the iteration vectors will become aligned to its eigenspace and
.
A shift parameter allows to shift the spectrum, so it is possible to compute the smallest eigenvalue, too.
Convergence of this method is known to be slow.
| EigenPower< VECTOR >::EigenPower | ( | SolverControl & | cn, | |
| VectorMemory< VECTOR > & | mem, | |||
| const AdditionalData & | data = AdditionalData() | |||
| ) | [inline] |
Constructor.
| EigenPower< VECTOR >::~EigenPower | ( | ) | [inline, virtual] |
Virtual destructor.
| void EigenPower< VECTOR >::solve | ( | double & | value, | |
| const MATRIX & | A, | |||
| VECTOR & | x | |||
| ) | [inline] |
Power method. x is the (not necessarily normalized, but nonzero) start vector for the power method. After the iteration, value is the approximated eigenvalue and x is the corresponding eigenvector, normalized with respect to the l2-norm.
References EigenPower< VECTOR >::additional_data, Assert, SolverControl::check(), Solver< VECTOR >::control(), deallog, SolverControl::iterate, Solver< VECTOR >::memory, LogStream::pop(), LogStream::push(), EigenPower< VECTOR >::AdditionalData::shift, and SolverControl::success.
AdditionalData EigenPower< VECTOR >::additional_data [protected] |
Shift parameter.
Referenced by EigenPower< VECTOR >::solve().
documentation generated on Mon Nov 23 22:57:40 2009 by
doxygen
1.6.1