ViennaCL - The Vienna Computing Library  1.5.1
Namespaces | Functions
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, and viennacl/linalg/sparse_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
 

Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.


namespace  viennacl::linalg
 

Provides all linear algebra operations which are not covered by operator overloads.


Functions

template<typename T , typename A1 , typename A2 , typename VectorT >
VectorT prod (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 (std::vector< std::map< KEY, DATA, COMPARE, AMAP >, AVEC > const &matrix, VectorT const &vector)
template<typename NumericT , typename F1 , typename F2 >
viennacl::matrix_expression
< const viennacl::matrix_base
< NumericT, F1 >, const
viennacl::matrix_base
< NumericT, F2 >
, viennacl::op_mat_mat_prod
prod (viennacl::matrix_base< NumericT, F1 > const &A, viennacl::matrix_base< NumericT, F2 > const &B)
template<typename NumericT , typename F1 , typename F2 >
viennacl::matrix_expression
< const viennacl::matrix_base
< NumericT, F1 >, const
viennacl::matrix_expression
< const viennacl::matrix_base
< NumericT, F2 >, const
viennacl::matrix_base
< NumericT, F2 >, op_trans >
, viennacl::op_mat_mat_prod
prod (viennacl::matrix_base< NumericT, F1 > const &A, viennacl::matrix_expression< const viennacl::matrix_base< NumericT, F2 >, const viennacl::matrix_base< NumericT, F2 >, op_trans > const &B)
template<typename NumericT , typename F1 , typename F2 >
viennacl::matrix_expression
< const
viennacl::matrix_expression
< const viennacl::matrix_base
< NumericT, F1 >, const
viennacl::matrix_base
< NumericT, F1 >, op_trans >
, const viennacl::matrix_base
< NumericT, F2 >
, viennacl::op_mat_mat_prod
prod (viennacl::matrix_expression< const viennacl::matrix_base< NumericT, F1 >, const viennacl::matrix_base< NumericT, F1 >, op_trans > const &A, viennacl::matrix_base< NumericT, F2 > const &B)
template<typename NumericT , typename F1 , typename F2 >
viennacl::matrix_expression
< const
viennacl::matrix_expression
< const viennacl::matrix_base
< NumericT, F1 >, const
viennacl::matrix_base
< NumericT, F1 >, op_trans >
, const
viennacl::matrix_expression
< const viennacl::matrix_base
< NumericT, F2 >, const
viennacl::matrix_base
< NumericT, F2 >, op_trans >
, viennacl::op_mat_mat_prod
prod (viennacl::matrix_expression< const viennacl::matrix_base< NumericT, F1 >, const viennacl::matrix_base< NumericT, F1 >, op_trans > const &A, viennacl::matrix_expression< const viennacl::matrix_base< NumericT, F2 >, const viennacl::matrix_base< NumericT, F2 >, op_trans > const &B)
template<typename NumericT , typename F >
viennacl::vector_expression
< const viennacl::matrix_base
< NumericT, F >, const
viennacl::vector_base
< NumericT >
, viennacl::op_prod
prod (viennacl::matrix_base< NumericT, F > const &matrix, viennacl::vector_base< NumericT > const &vector)
template<typename NumericT , typename F >
viennacl::vector_expression
< const
viennacl::matrix_expression
< const viennacl::matrix_base
< NumericT, F >, const
viennacl::matrix_base
< NumericT, F >, op_trans >
, const viennacl::vector_base
< NumericT >
, viennacl::op_prod
prod (viennacl::matrix_expression< const viennacl::matrix_base< NumericT, F >, const viennacl::matrix_base< NumericT, F >, op_trans > const &matrix, viennacl::vector_base< NumericT > const &vector)
template<typename SparseMatrixType , class SCALARTYPE >
viennacl::enable_if
< viennacl::is_any_sparse_matrix
< SparseMatrixType >::value,
vector_expression< const
SparseMatrixType, const
vector_base< SCALARTYPE >
, op_prod > >::type 
prod (const SparseMatrixType &mat, const vector_base< SCALARTYPE > &vec)
template<typename SparseMatrixType , typename SCALARTYPE , typename F1 >
viennacl::enable_if
< viennacl::is_any_sparse_matrix
< SparseMatrixType >::value,
viennacl::matrix_expression
< const SparseMatrixType,
const matrix_base< SCALARTYPE,
F1 >, op_prod > >::type 
prod (const SparseMatrixType &sp_mat, const viennacl::matrix_base< SCALARTYPE, F1 > &d_mat)
template<typename SparseMatrixType , typename SCALARTYPE , typename F1 >
viennacl::enable_if
< viennacl::is_any_sparse_matrix
< SparseMatrixType >::value,
viennacl::matrix_expression
< const SparseMatrixType,
const
viennacl::matrix_expression
< const viennacl::matrix_base
< SCALARTYPE, F1 >, const
viennacl::matrix_base
< SCALARTYPE, F1 >, op_trans >
, viennacl::op_prod > >::type 
prod (const SparseMatrixType &A, viennacl::matrix_expression< const viennacl::matrix_base< SCALARTYPE, F1 >, const viennacl::matrix_base< SCALARTYPE, F1 >, op_trans > const &B)
template<typename StructuredMatrixType , class SCALARTYPE >
viennacl::enable_if
< viennacl::is_any_dense_structured_matrix
< StructuredMatrixType >
::value, vector_expression
< const StructuredMatrixType,
const vector_base< SCALARTYPE >
, op_prod > >::type 
prod (const StructuredMatrixType &mat, const vector_base< SCALARTYPE > &vec)

Detailed Description

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