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 | viennacl::linalg::detail::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 | viennacl::linalg::prod_impl (const SparseMatrixType &mat, const viennacl::vector_base< ScalarType > &vec, ScalarType alpha, viennacl::vector_base< ScalarType > &result, ScalarType beta) |
Carries out matrix-vector multiplication involving a sparse matrix type. More... | |
template<typename SparseMatrixType , class ScalarType > | |
viennacl::enable_if < viennacl::is_any_sparse_matrix < SparseMatrixType >::value > ::type | viennacl::linalg::prod_impl (const SparseMatrixType &sp_mat, const viennacl::matrix_base< ScalarType > &d_mat, viennacl::matrix_base< ScalarType > &result) |
Carries out matrix-matrix multiplication first matrix being sparse. More... | |
template<typename SparseMatrixType , class ScalarType > | |
viennacl::enable_if < viennacl::is_any_sparse_matrix < SparseMatrixType >::value > ::type | viennacl::linalg::prod_impl (const SparseMatrixType &sp_mat, const viennacl::matrix_expression< const viennacl::matrix_base< ScalarType >, const viennacl::matrix_base< ScalarType >, viennacl::op_trans > &d_mat, viennacl::matrix_base< ScalarType > &result) |
Carries out matrix-matrix multiplication first matrix being sparse, and the second transposed. More... | |
template<typename NumericT > | |
void | viennacl::linalg::prod_impl (const viennacl::compressed_matrix< NumericT > &A, const viennacl::compressed_matrix< NumericT > &B, viennacl::compressed_matrix< NumericT > &C) |
Carries out sparse_matrix-sparse_matrix multiplication for CSR matrices. More... | |
template<typename SparseMatrixType , class ScalarType , typename SOLVERTAG > | |
viennacl::enable_if < viennacl::is_any_sparse_matrix < SparseMatrixType >::value > ::type | viennacl::linalg::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 | viennacl::linalg::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 | viennacl::linalg::detail::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 | viennacl::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 | viennacl::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 | viennacl::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... | |
Implementations of operations using sparse matrices.
Definition in file sparse_matrix_operations.hpp.