Namespaces | Functions

/data/development/ViennaCL/dev/viennacl/linalg/prod.hpp File Reference

Generic interface for matrix-vector and matrix-matrix products. See viennacl/linalg/vector_operations.hpp, viennacl/linalg/matrix_operations.hpp, viennacl/linalg/compressed_matrix_operations.hpp and viennacl/linalg/coordinate_matrix_operations.hpp for implementations. More...

#include "viennacl/forwards.h"
#include "viennacl/tools/tools.hpp"
#include "viennacl/meta/enable_if.hpp"
#include "viennacl/meta/tag_of.hpp"
#include <vector>
#include <map>

Go to the source code of this file.

Namespaces

namespace  viennacl
namespace  viennacl::linalg

Functions

template<typename T , typename A1 , typename A2 , typename VectorT >
VectorT prod_impl (std::vector< std::vector< T, A1 >, A2 > const &matrix, VectorT const &vector)
template<typename KEY , typename DATA , typename COMPARE , typename AMAP , typename AVEC , typename VectorT >
VectorT prod_impl (std::vector< std::map< KEY, DATA, COMPARE, AMAP >, AVEC > const &matrix, VectorT const &vector)
template<typename MatrixT , typename VectorT >
VectorT prod (MatrixT const &matrix, VectorT const &vector, typename viennacl::enable_if< viennacl::is_stl< typename viennacl::traits::tag_of< MatrixT >::type >::value >::type *dummy=0)
template<typename MatrixT1 , typename MatrixT2 >
viennacl::matrix_expression
< const MatrixT1, const
viennacl::matrix_range
< MatrixT2 >
, viennacl::op_prod > 
prod (MatrixT1 const &A, viennacl::matrix_range< MatrixT2 > const &B, typename viennacl::enable_if< viennacl::is_viennacl< typename viennacl::traits::tag_of< MatrixT1 >::type >::value >::type *dummy=0)
template<typename MatrixT1 , typename MatrixT2 >
viennacl::matrix_expression
< const MatrixT1, const
viennacl::matrix_expression
< const viennacl::matrix_range
< MatrixT2 >, const
viennacl::matrix_range
< MatrixT2 >, op_trans >
, viennacl::op_prod > 
prod (MatrixT1 const &A, viennacl::matrix_expression< const viennacl::matrix_range< MatrixT2 >, const viennacl::matrix_range< MatrixT2 >, op_trans > const &B, typename viennacl::enable_if< viennacl::is_viennacl< typename viennacl::traits::tag_of< MatrixT2 >::type >::value >::type *dummy=0)
template<typename MatrixT , typename NumericT , unsigned int ALIGNMENT>
viennacl::vector_expression
< const MatrixT, const
viennacl::vector< NumericT,
ALIGNMENT >, viennacl::op_prod > 
prod (MatrixT const &matrix, viennacl::vector< NumericT, ALIGNMENT > const &vector, typename viennacl::enable_if< viennacl::is_viennacl< typename viennacl::traits::tag_of< MatrixT >::type >::value >::type *dummy=0)
template<typename MatrixT , typename NumericT , typename F , unsigned int ALIGNMENT>
viennacl::matrix_expression
< const MatrixT, const
viennacl::matrix< NumericT, F,
ALIGNMENT >, viennacl::op_prod > 
prod (MatrixT const &matrix_A, viennacl::matrix< NumericT, F, ALIGNMENT > const &matrix_B, typename viennacl::enable_if< viennacl::is_viennacl< typename viennacl::traits::tag_of< MatrixT >::type >::value >::type *dummy=0)
template<typename MatrixT , typename NumericT , typename F , unsigned int ALIGNMENT>
viennacl::matrix_expression
< const MatrixT, const
viennacl::matrix_expression
< const viennacl::matrix
< NumericT, F, ALIGNMENT >
, const viennacl::matrix
< NumericT, F, ALIGNMENT >
, viennacl::op_trans >
, viennacl::op_prod > 
prod (MatrixT const &matrix_A, const viennacl::matrix_expression< const viennacl::matrix< NumericT, F, ALIGNMENT >, const viennacl::matrix< NumericT, F, ALIGNMENT >, viennacl::op_trans > &matrix_B, typename viennacl::enable_if< viennacl::is_viennacl< typename viennacl::traits::tag_of< MatrixT >::type >::value >::type *dummy=0)

Detailed Description

Generic interface for matrix-vector and matrix-matrix products. See viennacl/linalg/vector_operations.hpp, viennacl/linalg/matrix_operations.hpp, viennacl/linalg/compressed_matrix_operations.hpp and viennacl/linalg/coordinate_matrix_operations.hpp for implementations.