gslmm::_matrix_manip_vector_mult< T > Struct Template Reference
[Matrices]

#include <matrix_oper.hh>

Collaboration diagram for gslmm::_matrix_manip_vector_mult< T >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<typename T>
struct gslmm::_matrix_manip_vector_mult< T >

Class that represents a matrix-matrix product.


Public Types

typedef matrix_manip< T > matrix_manip_type
typedef matrix< T > matrix_type
typedef vector< T > vector_type
typedef type_trait< T > trait_type

Public Member Functions

size_t size () const
void apply (vector< T > &u) const

Protected Member Functions

 _matrix_manip_vector_mult (const matrix_manip_type &a, const vector_type &v)

Protected Attributes

const matrix_manip_type _lhs
const vector_type_rhs

Friends

_matrix_manip_vector_mult< T > operator * (const matrix_manip< T >, const vector< T > &)


Member Typedef Documentation

template<typename T>
typedef matrix_manip<T> gslmm::_matrix_manip_vector_mult< T >::matrix_manip_type
 

Type of matrix manipulator.

template<typename T>
typedef matrix<T> gslmm::_matrix_manip_vector_mult< T >::matrix_type
 

Type of matix.

template<typename T>
typedef type_trait<T> gslmm::_matrix_manip_vector_mult< T >::trait_type
 

Type of trait.

template<typename T>
typedef vector<T> gslmm::_matrix_manip_vector_mult< T >::vector_type
 

Type of matix.


Constructor & Destructor Documentation

template<typename T>
gslmm::_matrix_manip_vector_mult< T >::_matrix_manip_vector_mult const matrix_manip_type a,
const vector_type v
[inline, protected]
 

Constructor.

Make a defered matrix-matrix product object for the matrix product $ u = A v$

Parameters:
a The matrix $ A$
v The vector $ v$


Member Function Documentation

template<typename T>
void gslmm::_matrix_manip_vector_mult< T >::apply vector< T > &  u  )  const [inline]
 

Make the actual matrix-matrix product $ u = A v$ and store the result in the passed reference.

Parameters:
u On output, the result of $ A v$

template<typename T>
size_t gslmm::_matrix_manip_vector_mult< T >::size  )  const [inline]
 

Returns:
The number of rows in $ u = A v$


Friends And Related Function Documentation

template<typename T>
_matrix_manip_vector_mult<T> operator * const matrix_manip< T >  lhs,
const vector< T > &  rhs
[friend]
 

Friend operator.

No hanky-panky here.

Parameters:
lhs The left hand operand, the matrix $ A $
rhs The right hand operand, the vector $ x $
Returns:
new vector, $ b_{i} = A_{ij} * x_{j} $


Member Data Documentation

template<typename T>
const matrix_manip_type gslmm::_matrix_manip_vector_mult< T >::_lhs [protected]
 

The left-hand operand $ A$ of $ u = A v$.

template<typename T>
const vector_type& gslmm::_matrix_manip_vector_mult< T >::_rhs [protected]
 

The right-hand operand $ v$ of $ u = A v$.


The documentation for this struct was generated from the following file:
Top of page Last update Tue May 9 10:11:38 2006
Christian Holm
Created by DoxyGen 1.4.6