Reference documentation for deal.II version 8.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PointerMatrixVector< number > Class Template Reference

#include <pointer_matrix.h>

Inheritance diagram for PointerMatrixVector< number >:
[legend]

Public Member Functions

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

Additional Inherited Members

- Public Types inherited from PointerMatrixBase< Vector< number > >
typedef Vector< number >
::value_type 
value_type
 

Detailed Description

template<typename number>
class PointerMatrixVector< number >

Implement matrix multiplications for a vector using the PointerMatrixBase functionality. Objects of this class can be used in block matrices.

Implements a matrix with image dimension 1 by using the scalar product (vmult()) and scalar multiplication (Tvmult()) functions of the Vector class.

Author
Guido Kanschat, 2006

Definition at line 404 of file pointer_matrix.h.

Constructor & Destructor Documentation

template<typename number >
PointerMatrixVector< number >::PointerMatrixVector ( const Vector< number > *  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 992 of file pointer_matrix.h.

template<typename number >
PointerMatrixVector< number >::PointerMatrixVector ( const char *  name)

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

Definition at line 998 of file pointer_matrix.h.

template<typename number >
PointerMatrixVector< number >::PointerMatrixVector ( const Vector< number > *  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 1004 of file pointer_matrix.h.

Member Function Documentation

template<typename number >
void PointerMatrixVector< number >::clear ( )
inlinevirtual

Reset pointer and release the matrix pointed to.

Implements PointerMatrixBase< Vector< number > >.

Definition at line 1013 of file pointer_matrix.h.

template<typename number >
bool PointerMatrixVector< number >::empty ( ) const
inline

Return whether the object is empty.

Definition at line 1030 of file pointer_matrix.h.

template<typename number >
const PointerMatrixVector< number > & PointerMatrixVector< number >::operator= ( const Vector< number > *  M)
inline

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

See Also
SmartPointer

Definition at line 1021 of file pointer_matrix.h.

template<typename number >
void PointerMatrixVector< number >::vmult ( Vector< number > &  dst,
const Vector< number > &  src 
) const
inlinevirtual

Matrix-vector product, actually the scalar product of src and the vector representing this matrix.

The dimension of dst is 1, while that of src is the size of the vector representing this matrix.

Implements PointerMatrixBase< Vector< number > >.

Definition at line 1039 of file pointer_matrix.h.

template<typename number >
void PointerMatrixVector< number >::Tvmult ( Vector< number > &  dst,
const Vector< number > &  src 
) const
inlinevirtual

Tranposed matrix-vector product, actually the multiplication of the vector representing this matrix with src(0).

The dimension of drc is 1, while that of dst is the size of the vector representing this matrix.

Implements PointerMatrixBase< Vector< number > >.

Definition at line 1052 of file pointer_matrix.h.

template<typename number >
void PointerMatrixVector< number >::vmult_add ( Vector< number > &  dst,
const Vector< number > &  src 
) const
inlinevirtual

Matrix-vector product, adding to dst.

The dimension of dst is 1, while that of src is the size of the vector representing this matrix.

Implements PointerMatrixBase< Vector< number > >.

Definition at line 1065 of file pointer_matrix.h.

template<typename number >
void PointerMatrixVector< number >::Tvmult_add ( Vector< number > &  dst,
const Vector< number > &  src 
) const
inlinevirtual

Tranposed matrix-vector product, adding to dst.

The dimension of src is 1, while that of dst is the size of the vector representing this matrix.

Implements PointerMatrixBase< Vector< number > >.

Definition at line 1078 of file pointer_matrix.h.

template<typename number >
const void * PointerMatrixVector< number >::get ( ) const
inlineprivatevirtual

Return the address of the matrix for comparison.

Implements PointerMatrixBase< Vector< number > >.

Definition at line 1091 of file pointer_matrix.h.

Member Data Documentation

template<typename number >
SmartPointer<const Vector<number>,PointerMatrixVector<number> > PointerMatrixVector< number >::m
private

The pointer to the actual matrix.

Definition at line 522 of file pointer_matrix.h.


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