A sparse square matrix, where entries are stored as triplets (i,j, val), where i and j are the row and column indices and val denotes the entry. More...
#include <coordinate_matrix.hpp>
| Public Types | |
| typedef viennacl::backend::mem_handle | handle_type | 
| typedef scalar< typename viennacl::tools::CHECK_SCALAR_TEMPLATE_ARGUMENT < NumericT >::ResultType > | value_type | 
| typedef vcl_size_t | size_type | 
| Public Member Functions | |
| coordinate_matrix () | |
| Default construction of a coordinate matrix. No memory is allocated.  More... | |
| coordinate_matrix (viennacl::context ctx) | |
| coordinate_matrix (vcl_size_t rows, vcl_size_t cols, vcl_size_t nonzeros=0, viennacl::context ctx=viennacl::context()) | |
| Construction of a coordinate matrix with the supplied number of rows and columns. If the number of nonzeros is positive, memory is allocated.  More... | |
| coordinate_matrix (vcl_size_t rows, vcl_size_t cols, viennacl::context ctx) | |
| Construction of a coordinate matrix with the supplied number of rows and columns in the supplied context. Does not yet allocate memory.  More... | |
| void | reserve (vcl_size_t new_nonzeros) | 
| Allocate memory for the supplied number of nonzeros in the matrix. Old values are preserved.  More... | |
| void | resize (vcl_size_t new_size1, vcl_size_t new_size2, bool preserve=true) | 
| Resize the matrix.  More... | |
| void | clear () | 
| Resets all entries in the matrix back to zero without changing the matrix size. Resets the sparsity pattern.  More... | |
| vcl_size_t | size1 () const | 
| Returns the number of rows.  More... | |
| vcl_size_t | size2 () const | 
| Returns the number of columns.  More... | |
| vcl_size_t | nnz () const | 
| Returns the number of nonzero entries.  More... | |
| vcl_size_t | internal_nnz () const | 
| Returns the number of internal nonzero entries.  More... | |
| const handle_type & | handle12 () const | 
| Returns the OpenCL handle to the (row, column) index array.  More... | |
| const handle_type & | handle () const | 
| Returns the OpenCL handle to the matrix entry array.  More... | |
| const handle_type & | handle3 () const | 
| Returns the OpenCL handle to the group start index array.  More... | |
| vcl_size_t | groups () const | 
| Friends | |
| template<typename CPUMatrixT , typename NumericT2 , unsigned int AlignmentV2> | |
| void | copy (const CPUMatrixT &cpu_matrix, coordinate_matrix< NumericT2, AlignmentV2 > &gpu_matrix) | 
A sparse square matrix, where entries are stored as triplets (i,j, val), where i and j are the row and column indices and val denotes the entry.
The present implementation of coordinate_matrix suffers from poor runtime efficiency. Users are adviced to use compressed_matrix in the meanwhile.
| NumericT | The floating point type (either float or double, checked at compile time) | 
| AlignmentV | The internal memory size for the arrays, given by (size()/AlignmentV + 1) * AlignmentV. AlignmentV must be a power of two. | 
Definition at line 186 of file coordinate_matrix.hpp.
| typedef viennacl::backend::mem_handle viennacl::coordinate_matrix< NumericT, AlignmentV >::handle_type | 
Definition at line 189 of file coordinate_matrix.hpp.
| typedef vcl_size_t viennacl::coordinate_matrix< NumericT, AlignmentV >::size_type | 
Definition at line 191 of file coordinate_matrix.hpp.
| typedef scalar<typename viennacl::tools::CHECK_SCALAR_TEMPLATE_ARGUMENT<NumericT>::ResultType> viennacl::coordinate_matrix< NumericT, AlignmentV >::value_type | 
Definition at line 190 of file coordinate_matrix.hpp.
| 
 | inline | 
Default construction of a coordinate matrix. No memory is allocated.
Definition at line 194 of file coordinate_matrix.hpp.
| 
 | inlineexplicit | 
Definition at line 196 of file coordinate_matrix.hpp.
| 
 | inline | 
Construction of a coordinate matrix with the supplied number of rows and columns. If the number of nonzeros is positive, memory is allocated.
| rows | Number of rows | 
| cols | Number of columns | 
| nonzeros | Optional number of nonzeros for memory preallocation | 
| ctx | Optional context in which the matrix is created (one out of multiple OpenCL contexts, CUDA, host) | 
Definition at line 219 of file coordinate_matrix.hpp.
| 
 | inlineexplicit | 
Construction of a coordinate matrix with the supplied number of rows and columns in the supplied context. Does not yet allocate memory.
| rows | Number of rows | 
| cols | Number of columns | 
| ctx | Context in which to create the matrix | 
Definition at line 251 of file coordinate_matrix.hpp.
| 
 | inline | 
Resets all entries in the matrix back to zero without changing the matrix size. Resets the sparsity pattern.
Definition at line 342 of file coordinate_matrix.hpp.
| 
 | inline | 
Definition at line 372 of file coordinate_matrix.hpp.
| 
 | inline | 
Returns the OpenCL handle to the matrix entry array.
Definition at line 368 of file coordinate_matrix.hpp.
| 
 | inline | 
Returns the OpenCL handle to the (row, column) index array.
Definition at line 366 of file coordinate_matrix.hpp.
| 
 | inline | 
Returns the OpenCL handle to the group start index array.
Definition at line 370 of file coordinate_matrix.hpp.
| 
 | inline | 
Returns the number of internal nonzero entries.
Definition at line 363 of file coordinate_matrix.hpp.
| 
 | inline | 
Returns the number of nonzero entries.
Definition at line 361 of file coordinate_matrix.hpp.
| 
 | inline | 
Allocate memory for the supplied number of nonzeros in the matrix. Old values are preserved.
Definition at line 270 of file coordinate_matrix.hpp.
| 
 | inline | 
Resize the matrix.
| new_size1 | New number of rows | 
| new_size2 | New number of columns | 
| preserve | If true, the old values are preserved. At present, old values are always discarded. | 
Definition at line 297 of file coordinate_matrix.hpp.
| 
 | inline | 
Returns the number of rows.
Definition at line 357 of file coordinate_matrix.hpp.
| 
 | inline | 
Returns the number of columns.
Definition at line 359 of file coordinate_matrix.hpp.
| 
 | friend |