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 Member Functions | Private Attributes | Related Functions | List of all members
PointerMatrix< MATRIX, VECTOR > Class Template Reference

#include <pointer_matrix.h>

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

Public Member Functions

 PointerMatrix (const MATRIX *M=0)
 
 PointerMatrix (const char *name)
 
 PointerMatrix (const MATRIX *M, const char *name)
 
virtual void clear ()
 
bool empty () const
 
const PointerMatrixoperator= (const MATRIX *M)
 
virtual void vmult (VECTOR &dst, const VECTOR &src) const
 
virtual void Tvmult (VECTOR &dst, const VECTOR &src) const
 
virtual void vmult_add (VECTOR &dst, const VECTOR &src) const
 
virtual void Tvmult_add (VECTOR &dst, const VECTOR &src) const
 
- Public Member Functions inherited from PointerMatrixBase< VECTOR >
virtual ~PointerMatrixBase ()
 
bool operator== (const PointerMatrixBase< VECTOR > &) const
 
bool operator!= (const PointerMatrixBase< VECTOR > &) const
 
bool operator< (const PointerMatrixBase< VECTOR > &) const
 
bool operator<= (const PointerMatrixBase< VECTOR > &) const
 
bool operator> (const PointerMatrixBase< VECTOR > &) const
 
bool operator>= (const PointerMatrixBase< VECTOR > &) 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 Member Functions

virtual const void * get () const
 

Private Attributes

SmartPointer< const MATRIX,
PointerMatrix< MATRIX, VECTOR > > 
m
 

Related Functions

(Note that these are not member functions.)

template<typename numberv >
PointerMatrixBase< Vector
< numberv > > * 
new_pointer_matrix_base (const IdentityMatrix &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
 
template<typename numberv , typename numberm >
PointerMatrixBase< Vector
< numberv > > * 
new_pointer_matrix_base (const FullMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
 
template<typename numberv , typename numberm >
PointerMatrixBase< Vector
< numberv > > * 
new_pointer_matrix_base (const LAPACKFullMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
 
template<typename numberv , typename numberm >
PointerMatrixBase< Vector
< numberv > > * 
new_pointer_matrix_base (const SparseMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
 
template<class VECTOR , typename numberm >
PointerMatrixBase< VECTOR > * new_pointer_matrix_base (const BlockSparseMatrix< numberm > &matrix, const VECTOR &, const char *name="PointerMatrix")
 
template<typename numberv , typename numberm >
PointerMatrixBase< Vector
< numberv > > * 
new_pointer_matrix_base (const SparseMatrixEZ< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
 
template<class VECTOR , typename numberm >
PointerMatrixBase< VECTOR > * new_pointer_matrix_base (const BlockSparseMatrixEZ< numberm > &matrix, const VECTOR &, const char *name="PointerMatrix")
 
template<typename numberv , typename numberm >
PointerMatrixBase< BlockVector
< numberv > > * 
new_pointer_matrix_base (const BlockMatrixArray< numberm > &matrix, const BlockVector< numberv > &, const char *name="PointerMatrix")
 
template<typename numberv , typename numberm >
PointerMatrixBase< Vector
< numberv > > * 
new_pointer_matrix_base (const TridiagonalMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
 

Additional Inherited Members

- Public Types inherited from PointerMatrixBase< VECTOR >
typedef VECTOR::value_type value_type
 

Detailed Description

template<class MATRIX, class VECTOR>
class PointerMatrix< MATRIX, VECTOR >

A pointer to be used as a matrix. This class stores a pointer to a matrix and can be used as a matrix itself in iterative methods.

The main purpose for the existence of this class is its base class, which only has a vector as template argument. Therefore, this interface provides an abstract base class for matrices.

Author
Guido Kanschat 2000, 2001, 2002

Definition at line 167 of file pointer_matrix.h.

Constructor & Destructor Documentation

template<class MATRIX , class VECTOR >
PointerMatrix< MATRIX, VECTOR >::PointerMatrix ( const MATRIX M = 0)

Constructor. The pointer in the argument is stored in this class. As usual, the lifetime of *M must be longer than the one of the PointerMatrix.

If M is zero, no matrix is stored.

Definition at line 754 of file pointer_matrix.h.

template<class MATRIX , class VECTOR >
PointerMatrix< MATRIX, VECTOR >::PointerMatrix ( const char *  name)

Constructor. The name argument is used to identify the SmartPointer for this object.

Definition at line 760 of file pointer_matrix.h.

template<class MATRIX , class VECTOR >
PointerMatrix< MATRIX, VECTOR >::PointerMatrix ( const MATRIX M,
const char *  name 
)

Constructor. M points to a matrix which must live longer than the PointerMatrix. The name argument is used to identify the SmartPointer for this object.

Definition at line 766 of file pointer_matrix.h.

Member Function Documentation

template<class MATRIX , class VECTOR >
void PointerMatrix< MATRIX, VECTOR >::clear ( )
inlinevirtual

Reset pointer and release the matrix pointed to.

Implements PointerMatrixBase< VECTOR >.

Definition at line 775 of file pointer_matrix.h.

template<class MATRIX , class VECTOR >
bool PointerMatrix< MATRIX, VECTOR >::empty ( ) const
inline

Return whether the object is empty.

Definition at line 792 of file pointer_matrix.h.

template<class MATRIX , class VECTOR >
const PointerMatrix< MATRIX, VECTOR > & PointerMatrix< MATRIX, VECTOR >::operator= ( const MATRIX M)
inline

Assign a new matrix pointer. Deletes the old pointer and releases its matrix.

See also
SmartPointer

Definition at line 783 of file pointer_matrix.h.

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

Matrix-vector product.

Implements PointerMatrixBase< VECTOR >.

Definition at line 801 of file pointer_matrix.h.

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

Tranposed matrix-vector product.

Implements PointerMatrixBase< VECTOR >.

Definition at line 811 of file pointer_matrix.h.

template<class MATRIX , class VECTOR >
void PointerMatrix< MATRIX, VECTOR >::vmult_add ( VECTOR &  dst,
const VECTOR &  src 
) const
inlinevirtual

Matrix-vector product, adding to dst.

Implements PointerMatrixBase< VECTOR >.

Definition at line 821 of file pointer_matrix.h.

template<class MATRIX , class VECTOR >
void PointerMatrix< MATRIX, VECTOR >::Tvmult_add ( VECTOR &  dst,
const VECTOR &  src 
) const
inlinevirtual

Tranposed matrix-vector product, adding to dst.

Implements PointerMatrixBase< VECTOR >.

Definition at line 831 of file pointer_matrix.h.

template<class MATRIX , class VECTOR >
const void * PointerMatrix< MATRIX, VECTOR >::get ( ) const
inlineprivatevirtual

Return the address of the matrix for comparison.

Implements PointerMatrixBase< VECTOR >.

Definition at line 841 of file pointer_matrix.h.

Member Data Documentation

template<class MATRIX, class VECTOR>
SmartPointer<const MATRIX,PointerMatrix<MATRIX,VECTOR> > PointerMatrix< MATRIX, VECTOR >::m
private

The pointer to the actual matrix.

Definition at line 254 of file pointer_matrix.h.


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