MOOCHO (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces
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

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