Reference documentation for deal.II version 8.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Public Member Functions | Private Attributes | List of all members
PreconditionedMatrix< MATRIX, PRECOND, VECTOR > Class Template Reference

#include <precondition.h>

Inheritance diagram for PreconditionedMatrix< MATRIX, PRECOND, VECTOR >:
[legend]

Public Member Functions

 PreconditionedMatrix (const MATRIX &A, const PRECOND &P, VectorMemory< VECTOR > &mem)
 
void vmult (VECTOR &dst, const VECTOR &src) const
 
void Tvmult (VECTOR &dst, const VECTOR &src) const
 
double residual (VECTOR &dst, const VECTOR &src, const VECTOR &rhs) const
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
void subscribe (const char *identifier=0) const
 
void unsubscribe (const char *identifier=0) const
 
unsigned int n_subscriptions () const
 
void list_subscribers () const
 
 DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects.\n"<< "(Additional information: "<< arg3<< ")\n"<< "Note the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "more information on what this error means.")
 
 DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier \""<< arg2<< "\" did subscribe to this object of class "<< arg1)
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

const MATRIXA
 
const PRECOND & P
 
VectorMemory< VECTOR > & mem
 

Detailed Description

template<class MATRIX, class PRECOND, class VECTOR>
class PreconditionedMatrix< MATRIX, PRECOND, VECTOR >

Deprecated:
Use ProductMatrix instead.

Matrix with preconditioner. Given a matrix $A$ and a preconditioner $P$, this class implements a new matrix with the matrix-vector product $PA$. It needs an auxiliary vector for that.

By this time, this is considered a temporary object to be plugged into eigenvalue solvers. Therefore, no SmartPointer is used for A and P.

Author
Guido Kanschat, 2000

Definition at line 848 of file precondition.h.

Constructor & Destructor Documentation

template<class MATRIX , class PRECOND , class VECTOR >
PreconditionedMatrix< MATRIX, PRECOND, VECTOR >::PreconditionedMatrix ( const MATRIX A,
const PRECOND &  P,
VectorMemory< VECTOR > &  mem 
)

Constructor. Provide matrix, preconditioner and a memory pool to obtain the auxiliary vector.

Member Function Documentation

template<class MATRIX , class PRECOND , class VECTOR >
void PreconditionedMatrix< MATRIX, PRECOND, VECTOR >::vmult ( VECTOR &  dst,
const VECTOR &  src 
) const

Preconditioned matrix-vector-product.

template<class MATRIX , class PRECOND , class VECTOR >
void PreconditionedMatrix< MATRIX, PRECOND, VECTOR >::Tvmult ( VECTOR &  dst,
const VECTOR &  src 
) const

Transposed preconditioned matrix-vector-product.

template<class MATRIX , class PRECOND , class VECTOR >
double PreconditionedMatrix< MATRIX, PRECOND, VECTOR >::residual ( VECTOR &  dst,
const VECTOR &  src,
const VECTOR &  rhs 
) const

Residual $b-PAx$.

Member Data Documentation

template<class MATRIX , class PRECOND , class VECTOR >
const MATRIX& PreconditionedMatrix< MATRIX, PRECOND, VECTOR >::A
private

Storage for the matrix.

Definition at line 882 of file precondition.h.

template<class MATRIX , class PRECOND , class VECTOR >
const PRECOND& PreconditionedMatrix< MATRIX, PRECOND, VECTOR >::P
private

Storage for preconditioner.

Definition at line 886 of file precondition.h.

template<class MATRIX , class PRECOND , class VECTOR >
VectorMemory<VECTOR>& PreconditionedMatrix< MATRIX, PRECOND, VECTOR >::mem
private

Memory pool for vectors.

Definition at line 890 of file precondition.h.


The documentation for this class was generated from the following file: