AbstractLinAlgPack_MatrixVectorTemplateOp.hpp File Reference

#include <stdexcept>
#include "AbstractLinAlgPack_Types.hpp"

Include dependency graph for AbstractLinAlgPack_MatrixVectorTemplateOp.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  AbstractLinAlgPack

{\bf Templated Matrix-DVector Operations}.

These are the declarations (AbstractLinAlgPack_MatrixVectorTemplateOp.hpp) for template functions for performing selected matrix-vector and matrix-matrix operations. The templated matrix type must have the following interface: {itemize} T_Matrix::size_type# - Member type for the type returned by rows# and cols# #T_Matrix::row_type# - Member type for the type returned by #row(i)# #T_Matrix::col_type# - Member type for the type returned by #col(j)# T_Matrix::size_type T_Matrix::rows() const# T_Matrix::size_type T_Matrix::cols() const# #const T_Matrix::row_type& T_Matrix::row(size_type i) const# \
  • Returns a reference to the ith row (1,2,...,T_Matrix::rows()#). #const T_Matrix::col_type& T_Matrix::col(size_type j) const# \
  • Returns a reference to the ith row (1,2,...,T_Rect_Matrix::rows()#). {itemize}

In addition, the following operations (UML notation) must be accessible for the types #T_Matrix::row_type# and #T_Matrix::col_type# when these template functions are instantiated:

assign(v_lhs:DVector&,v_rhs:T_Matrix::const row_type&) assign(vs_lhs:DVectorSlice&,v_rhs:const T_Matrix::row_type&) dot(vs_rhs1:const DVectorSlice&, vs_rhs2: const T_Matrix::row_type&):value_type dot(vs_rhs1:const DVectorSlice&, vs_rhs2: const T_Matrix::col_type&):value_type

template<class T_Matrix>
void assign (DMatrix &gm_lhs, const T_Matrix &gm_rhs, BLAS_Cpp::Transp trans_rhs)
 gm_lhs = T_M (templated matrix type T_M)
template<class T_Matrix>
void assign (DMatrixSlice &gms_lhs, const T_Matrix &gm_rhs, BLAS_Cpp::Transp trans_rhs)
 gms_lhs = T_M (templated matrix type T_M)
template<class T_Matrix>
void V_MtV (DVector &v_lhs, const T_Matrix &gm_rhs1, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2)
 v_lhs = T_M * vs_lhs (templated matrix type T_M)
template<class T_Matrix>
void V_MtV (DVectorSlice &v_lhs, const T_Matrix &gm_rhs1, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2)
 vs_lhs = T_M * vs_lhs (templated matrix type T_M)


Function Documentation

template<class T_Matrix>
void AbstractLinAlgPack::assign DMatrix gm_lhs,
const T_Matrix &  gm_rhs,
BLAS_Cpp::Transp  trans_rhs
 

gm_lhs = T_M (templated matrix type T_M)

Definition at line 62 of file AbstractLinAlgPack_MatrixVectorTemplateOpDef.hpp.

template<class T_Matrix>
void AbstractLinAlgPack::assign DMatrixSlice gms_lhs,
const T_Matrix &  gm_rhs,
BLAS_Cpp::Transp  trans_rhs
 

gms_lhs = T_M (templated matrix type T_M)

Definition at line 72 of file AbstractLinAlgPack_MatrixVectorTemplateOpDef.hpp.

template<class T_Matrix>
void AbstractLinAlgPack::V_MtV DVector v_lhs,
const T_Matrix &  gm_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const DVectorSlice vs_rhs2
 

v_lhs = T_M * vs_lhs (templated matrix type T_M)

Definition at line 123 of file AbstractLinAlgPack_MatrixVectorTemplateOpDef.hpp.

template<class T_Matrix>
void AbstractLinAlgPack::V_MtV DVectorSlice v_lhs,
const T_Matrix &  gm_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const DVectorSlice vs_rhs2
 

vs_lhs = T_M * vs_lhs (templated matrix type T_M)

Definition at line 136 of file AbstractLinAlgPack_MatrixVectorTemplateOpDef.hpp.


Generated on Thu Sep 18 12:35:27 2008 for MOOCHO (Single Doxygen Collection) by doxygen 1.3.9.1