Feel++  0.91.4
Feel::MatrixShell< T > Class Template Reference

matrices that define its action against a vector More...

#include <matrixshell.hpp>

Inheritance diagram for Feel::MatrixShell< T >:
Feel::MatrixShellSparse< T >

List of all members.

Public Types

Typedefs
typedef T value_type
typedef type_traits< T >::real_type real_type
typedef Vector< T > vector_type
typedef boost::shared_ptr
< Vector< T > > 
vector_ptrtype

Public Member Functions

Constructors, destructor
 MatrixShell ()
virtual ~MatrixShell ()
Accessors
virtual size_type size1 () const =0
virtual size_type size2 () const =0
Methods
virtual void diagonal (vector_type &v) const =0
 copies the diagonal of the matrix into v.
void diagonal (boost::shared_ptr< Vector< T > > &dest) const
virtual void multVector (vector_type const &in, vector_type &out) const =0
 Multiplies the matrix with in and stores the result in out.
void multVector (const boost::shared_ptr< Vector< T > > &arg, boost::shared_ptr< Vector< T > > &dest) const
virtual void multAddVector (vector_type const &in, vector_type &out) const =0
 Multiplies the matrix with in and adds the result to out.
void multAddVector (const boost::shared_ptr< Vector< T > > &arg, boost::shared_ptr< Vector< T > > &dest) const

Detailed Description

template<typename T>
class Feel::MatrixShell< T >

matrices that define its action against a vector

Generic shell matrix, i.e. a matrix that does not define anything but its action on a vector. This class contains pure virtual members that must be overloaded in derived classes.

Author:
Christophe Prud'homme
See also:
MatrixSparse

Member Function Documentation

template<typename T>
void Feel::MatrixShell< T >::multVector ( const boost::shared_ptr< Vector< T > > &  arg,
boost::shared_ptr< Vector< T > > &  dest 
) const [inline]

Multiplies the matrix with arg and stores the result in dest.

References Feel::MatrixShell< T >::multVector().

template<typename T>
virtual size_type Feel::MatrixShell< T >::size1 ( ) const [pure virtual]
Returns:
m, the row-dimension of the matrix where the marix is $ M \times N $.

Implemented in Feel::MatrixShellSparse< T >.

template<typename T>
virtual size_type Feel::MatrixShell< T >::size2 ( ) const [pure virtual]
Returns:
n, the column-dimension of the matrix where the marix is $ M \times N $.

Implemented in Feel::MatrixShellSparse< T >.