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