ViennaCL - The Vienna Computing Library  1.5.2
Namespaces | Functions
sparse_matrix_operations.hpp File Reference

Implementations of operations using sparse matrices. More...

#include "viennacl/forwards.h"
#include "viennacl/scalar.hpp"
#include "viennacl/vector.hpp"
#include "viennacl/matrix.hpp"
#include "viennacl/tools/tools.hpp"
#include "viennacl/linalg/host_based/sparse_matrix_operations.hpp"

Go to the source code of this file.

Namespaces

 viennacl
 Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
 
 viennacl::linalg
 Provides all linear algebra operations which are not covered by operator overloads.
 
 viennacl::linalg::detail
 Namespace holding implementation details for linear algebra routines. Usually not of interest for a library user.
 

Functions

template<typename SparseMatrixType , typename SCALARTYPE , unsigned int VEC_ALIGNMENT>
viennacl::enable_if
< viennacl::is_any_sparse_matrix
< SparseMatrixType >::value >
::type 
row_info (SparseMatrixType const &mat, vector< SCALARTYPE, VEC_ALIGNMENT > &vec, row_info_types info_selector)
 
template<typename SparseMatrixType , class ScalarType >
viennacl::enable_if
< viennacl::is_any_sparse_matrix
< SparseMatrixType >::value >
::type 
prod_impl (const SparseMatrixType &mat, const viennacl::vector_base< ScalarType > &vec, viennacl::vector_base< ScalarType > &result)
 Carries out matrix-vector multiplication involving a sparse matrix type. More...
 
template<typename SparseMatrixType , class ScalarType , typename F1 , typename F2 >
viennacl::enable_if
< viennacl::is_any_sparse_matrix
< SparseMatrixType >::value >
::type 
prod_impl (const SparseMatrixType &sp_mat, const viennacl::matrix_base< ScalarType, F1 > &d_mat, viennacl::matrix_base< ScalarType, F2 > &result)
 Carries out matrix-matrix multiplication first matrix being sparse. More...
 
template<typename SparseMatrixType , class ScalarType , typename F1 , typename F2 >
viennacl::enable_if
< viennacl::is_any_sparse_matrix
< SparseMatrixType >::value >
::type 
prod_impl (const SparseMatrixType &sp_mat, const viennacl::matrix_expression< const viennacl::matrix_base< ScalarType, F1 >, const viennacl::matrix_base< ScalarType, F1 >, viennacl::op_trans > &d_mat, viennacl::matrix_base< ScalarType, F2 > &result)
 Carries out matrix-matrix multiplication first matrix being sparse, and the second transposed. More...
 
template<typename SparseMatrixType , class ScalarType , typename SOLVERTAG >
viennacl::enable_if
< viennacl::is_any_sparse_matrix
< SparseMatrixType >::value >
::type 
inplace_solve (const SparseMatrixType &mat, viennacl::vector_base< ScalarType > &vec, SOLVERTAG tag)
 Carries out triangular inplace solves. More...
 
template<typename SparseMatrixType , class ScalarType , typename SOLVERTAG >
viennacl::enable_if
< viennacl::is_any_sparse_matrix
< SparseMatrixType >::value >
::type 
inplace_solve (const matrix_expression< const SparseMatrixType, const SparseMatrixType, op_trans > &mat, viennacl::vector_base< ScalarType > &vec, SOLVERTAG tag)
 Carries out transposed triangular inplace solves. More...
 
template<typename SparseMatrixType , class ScalarType , typename SOLVERTAG >
viennacl::enable_if
< viennacl::is_any_sparse_matrix
< SparseMatrixType >::value >
::type 
block_inplace_solve (const matrix_expression< const SparseMatrixType, const SparseMatrixType, op_trans > &mat, viennacl::backend::mem_handle const &block_index_array, vcl_size_t num_blocks, viennacl::vector_base< ScalarType > const &mat_diagonal, viennacl::vector_base< ScalarType > &vec, SOLVERTAG tag)
 
template<typename M1 >
viennacl::enable_if
< viennacl::is_any_sparse_matrix
< M1 >::value,
matrix_expression< const M1,
const M1, op_trans > >::type 
trans (const M1 &mat)
 Returns an expression template class representing a transposed matrix. More...
 
template<typename SCALARTYPE , typename SparseMatrixType >
viennacl::enable_if
< viennacl::is_any_sparse_matrix
< SparseMatrixType >::value,
viennacl::vector< SCALARTYPE >
>::type 
operator+ (viennacl::vector_base< SCALARTYPE > &result, const viennacl::vector_expression< const SparseMatrixType, const viennacl::vector_base< SCALARTYPE >, viennacl::op_prod > &proxy)
 Implementation of the operation 'result = v1 + A * v2', where A is a matrix. More...
 
template<typename SCALARTYPE , typename SparseMatrixType >
viennacl::enable_if
< viennacl::is_any_sparse_matrix
< SparseMatrixType >::value,
viennacl::vector< SCALARTYPE >
>::type 
operator- (viennacl::vector_base< SCALARTYPE > &result, const viennacl::vector_expression< const SparseMatrixType, const viennacl::vector_base< SCALARTYPE >, viennacl::op_prod > &proxy)
 Implementation of the operation 'result = v1 - A * v2', where A is a matrix. More...
 

Detailed Description

Implementations of operations using sparse matrices.