AbstractLinAlgPack_MatrixVectorTemplateOp.hpp File Reference

#include <stdexcept>
#include "AbstractLinAlgPack_Types.hpp"
Include dependency graph for AbstractLinAlgPack_MatrixVectorTemplateOp.hpp:

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 AbstractLinAlgPack::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 AbstractLinAlgPack::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 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)
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)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Wed Apr 13 10:12:09 2011 for MOOCHO (Single Doxygen Collection) by  doxygen 1.6.3