Classes | Public Member Functions | Protected Attributes

EigenPower< VECTOR > Class Template Reference
[Linear solver classes]

Inheritance diagram for EigenPower< VECTOR >:
Inheritance graph
[legend]

List of all members.

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

Detailed Description

template<class VECTOR = Vector<double>>
class EigenPower< VECTOR >

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 $l$ with dominant absolute value, the iteration vectors will become aligned to its eigenspace and $Ax = lx$.

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.

Author:
Guido Kanschat, 2000

Definition at line 50 of file eigen.h.


Constructor & Destructor Documentation

template<class VECTOR >
EigenPower< VECTOR >::EigenPower ( SolverControl cn,
VectorMemory< VECTOR > &  mem,
const AdditionalData data = AdditionalData() 
)

Constructor.

Definition at line 221 of file eigen.h.

template<class VECTOR >
EigenPower< VECTOR >::~EigenPower (  ) [virtual]

Virtual destructor.

Definition at line 232 of file eigen.h.


Member Function Documentation

template<class VECTOR >
template<class MATRIX >
void EigenPower< VECTOR >::solve ( double value,
const MATRIX A,
VECTOR &  x 
)

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.

Definition at line 240 of file eigen.h.

References Assert, deallog, StandardExceptions::ExcInternalError(), SolverControl::iterate, LogStream::pop(), LogStream::push(), SolverControl::success, and MATRIX< VECTOR >::vmult().


Member Data Documentation

template<class VECTOR = Vector<double>>
AdditionalData EigenPower< VECTOR >::additional_data [protected]

Shift parameter.

Definition at line 110 of file eigen.h.


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

deal.II documentation generated on Fri Feb 3 2012 06:04:07 by doxygen 1.7.2