Logo  0.95.0-final
Finite Element Embedded Library and Language in C++
Feel++ Feel++ on Github Feel++ community
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Feel::MatrixShell< T > Class Template Referenceabstract

#include <matrixshell.hpp>

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
+ Inheritance diagram for Feel::MatrixShell< T >:

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
 

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 >.


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

Generated on Sun Dec 22 2013 13:11:20 for Feel++ by doxygen 1.8.5