template<typename MatrixType1, typename MatrixType2, typename IndexType = typename MatrixType1::index_type, typename ValueType = typename MatrixType1::value_type, typename MemorySpace = typename cusp::minimum_space<typename MatrixType1::memory_space, typename MatrixType2::memory_space>::type>
class cusp::hyb_matrix_view< MatrixType1, MatrixType2, IndexType, ValueType, MemorySpace >
View of a hyb_matrix.
- Template Parameters
-
| MatrixType1 | Type of ell |
| MatrixType2 | Type of coo |
| IndexType | Type used for matrix indices (e.g. int). |
| ValueType | Type used for matrix values (e.g. float). |
| MemorySpace | A memory space (e.g. cusp::host_memory or cusp::device_memory) |
- Overview
- A
hyb_matrix_view is a sparse matrix view of a hyb_matrix constructed from existing data or iterators. See ell_matrix and coo_matrix for format constraints.
- Note
- The matrix entries must be sorted by row index.
-
The matrix should not contain duplicate entries.
- Example
- The following code snippet demonstrates how to create a 4-by-3
hyb_matrix_view on the host with 6 nonzeros.
int main()
{
ell.column_indices(0,0) = 0;
ell.values(0,0) = 10;
ell.column_indices(0,1) = 1;
ell.values(0,1) = 20;
ell.column_indices(1,0) = 1;
ell.values(1,0) = 50;
ell.column_indices(1,1) = X;
ell.values(1,1) = 0;
ell.column_indices(2,0) = 0;
ell.values(2,0) = 60;
ell.column_indices(2,1) = 2;
ell.values(2,1) = 70;
coo.row_indices[0] = 0;
coo.column_indices[0] = 2;
coo.values[0] = 30;
coo.row_indices[1] = 0;
coo.column_indices[1] = 3;
coo.values[1] = 40;
coo.row_indices[2] = 2;
coo.column_indices[2] = 3;
coo.values[2] = 80;
}
Definition at line 341 of file hyb_matrix.h.
#include <hyb_matrix.h>
|
| | hyb_matrix_view (void) |
| |
| template<typename OtherMatrixType1 , typename OtherMatrixType2 > |
| | hyb_matrix_view (OtherMatrixType1 &ell, OtherMatrixType2 &coo) |
| |
| template<typename OtherMatrixType1 , typename OtherMatrixType2 > |
| | hyb_matrix_view (const OtherMatrixType1 &ell, const OtherMatrixType2 &coo) |
| |
| | hyb_matrix_view (hyb_matrix< IndexType, ValueType, MemorySpace > &matrix) |
| |
| | hyb_matrix_view (const hyb_matrix< IndexType, ValueType, MemorySpace > &matrix) |
| |
| | hyb_matrix_view (hyb_matrix_view &matrix) |
| |
| | hyb_matrix_view (const hyb_matrix_view &matrix) |
| |
| void | resize (size_t num_rows, size_t num_cols, size_t num_ell_entries, size_t num_coo_entries, size_t num_entries_per_row, size_t alignment=32) |
| |
|
| ell_matrix_type | ell |
| |
| coo_matrix_type | coo |
| |
template<typename MatrixType1, typename MatrixType2, typename IndexType = typename MatrixType1::index_type, typename ValueType = typename MatrixType1::value_type, typename MemorySpace = typename cusp::minimum_space<typename MatrixType1::memory_space, typename MatrixType2::memory_space>::type>
template<typename MatrixType1, typename MatrixType2, typename IndexType = typename MatrixType1::index_type, typename ValueType = typename MatrixType1::value_type, typename MemorySpace = typename cusp::minimum_space<typename MatrixType1::memory_space, typename MatrixType2::memory_space>::type>
template<typename OtherMatrixType1 , typename OtherMatrixType2 >
Construct a hyb_matrix_view with a specific shape and number of nonzero entries from existing ell_matrix and coo_matrix matrices.
- Template Parameters
-
| OtherMatrixType1 | Type of ell_matrix used to construct view |
| OtherMatrixType2 | Type of coo_matrix used to construct view |
- Parameters
-
| ell | Matrix containing ELL portion of hyb_format. |
| coo | Matrix containing COO portion of hyb_format. |
Definition at line 383 of file hyb_matrix.h.
template<typename MatrixType1, typename MatrixType2, typename IndexType = typename MatrixType1::index_type, typename ValueType = typename MatrixType1::value_type, typename MemorySpace = typename cusp::minimum_space<typename MatrixType1::memory_space, typename MatrixType2::memory_space>::type>
template<typename OtherMatrixType1 , typename OtherMatrixType2 >
Construct a hyb_matrix_view with a specific shape and number of nonzero entries from existing const ell_matrix and const coo_matrix matrices.
- Template Parameters
-
| OtherMatrixType1 | Type of ell_matrix used to construct view |
| OtherMatrixType2 | Type of coo_matrix used to construct view |
- Parameters
-
| ell | Matrix containing ELL portion of hyb_format. |
| coo | Matrix containing COO portion of hyb_format. |
Definition at line 396 of file hyb_matrix.h.
template<typename MatrixType1, typename MatrixType2, typename IndexType = typename MatrixType1::index_type, typename ValueType = typename MatrixType1::value_type, typename MemorySpace = typename cusp::minimum_space<typename MatrixType1::memory_space, typename MatrixType2::memory_space>::type>
template<typename MatrixType1, typename MatrixType2, typename IndexType = typename MatrixType1::index_type, typename ValueType = typename MatrixType1::value_type, typename MemorySpace = typename cusp::minimum_space<typename MatrixType1::memory_space, typename MatrixType2::memory_space>::type>
template<typename MatrixType1, typename MatrixType2, typename IndexType = typename MatrixType1::index_type, typename ValueType = typename MatrixType1::value_type, typename MemorySpace = typename cusp::minimum_space<typename MatrixType1::memory_space, typename MatrixType2::memory_space>::type>
template<typename MatrixType1, typename MatrixType2, typename IndexType = typename MatrixType1::index_type, typename ValueType = typename MatrixType1::value_type, typename MemorySpace = typename cusp::minimum_space<typename MatrixType1::memory_space, typename MatrixType2::memory_space>::type>
template<typename MatrixType1, typename MatrixType2, typename IndexType = typename MatrixType1::index_type, typename ValueType = typename MatrixType1::value_type, typename MemorySpace = typename cusp::minimum_space<typename MatrixType1::memory_space, typename MatrixType2::memory_space>::type>
| void cusp::hyb_matrix_view< MatrixType1, MatrixType2, IndexType, ValueType, MemorySpace >::resize |
( |
size_t |
num_rows, |
|
|
size_t |
num_cols, |
|
|
size_t |
num_ell_entries, |
|
|
size_t |
num_coo_entries, |
|
|
size_t |
num_entries_per_row, |
|
|
size_t |
alignment = 32 |
|
) |
| |
Resize matrix dimensions and underlying storage
- Parameters
-
| num_rows | Number of rows. |
| num_cols | Number of columns. |
| num_ell_entries | Number of nonzero matrix entries in the ELL portion. |
| num_coo_entries | Number of nonzero matrix entries in the ELL portion. |
| num_entries_per_row | Maximum number of nonzeros per row in the ELL portion. |
| alignment | Amount of padding used to align the ELL data structure (default 32). |
template<typename MatrixType1, typename MatrixType2, typename IndexType = typename MatrixType1::index_type, typename ValueType = typename MatrixType1::value_type, typename MemorySpace = typename cusp::minimum_space<typename MatrixType1::memory_space, typename MatrixType2::memory_space>::type>
| coo_matrix_type cusp::hyb_matrix_view< MatrixType1, MatrixType2, IndexType, ValueType, MemorySpace >::coo |
View to the COO portion of the HYB structure.
Definition at line 367 of file hyb_matrix.h.
template<typename MatrixType1, typename MatrixType2, typename IndexType = typename MatrixType1::index_type, typename ValueType = typename MatrixType1::value_type, typename MemorySpace = typename cusp::minimum_space<typename MatrixType1::memory_space, typename MatrixType2::memory_space>::type>
| ell_matrix_type cusp::hyb_matrix_view< MatrixType1, MatrixType2, IndexType, ValueType, MemorySpace >::ell |
View to the ELL portion of the HYB structure.
Definition at line 363 of file hyb_matrix.h.