|
|
void | convert_to (Coo< next_precision< ValueType >, IndexType > *result) const override |
|
void | move_to (Coo< next_precision< ValueType >, IndexType > *result) override |
|
void | convert_to (Csr< ValueType, IndexType > *other) const override |
|
void | move_to (Csr< ValueType, IndexType > *other) override |
|
void | convert_to (Dense< ValueType > *other) const override |
|
void | move_to (Dense< ValueType > *other) override |
|
void | read (const mat_data &data) override |
|
void | read (const device_mat_data &data) override |
|
void | read (device_mat_data &&data) override |
|
void | write (mat_data &data) const override |
| std::unique_ptr< LinOp > | transpose () const override |
| | Returns a LinOp representing the transpose of the Transposable object.
|
| std::unique_ptr< LinOp > | conj_transpose () const override |
| | Returns a LinOp representing the conjugate transpose of the Transposable object.
|
| std::unique_ptr< Diagonal< ValueType > > | extract_diagonal () const override |
| | Extracts the diagonal entries of the matrix into a vector.
|
| std::unique_ptr< absolute_type > | compute_absolute () const override |
| | Gets the AbsoluteLinOp.
|
| void | compute_absolute_inplace () override |
| | Compute absolute inplace on each element.
|
| value_type * | get_values () noexcept |
| | Returns the values of the matrix.
|
| const value_type * | get_const_values () const noexcept |
| | Returns the values of the matrix.
|
| index_type * | get_col_idxs () noexcept |
| | Returns the column indexes of the matrix.
|
| const index_type * | get_const_col_idxs () const noexcept |
| | Returns the column indexes of the matrix.
|
| index_type * | get_row_idxs () noexcept |
| | Returns the row indexes of the matrix.
|
| const index_type * | get_const_row_idxs () const noexcept |
| size_type | get_num_stored_elements () const noexcept |
| | Returns the number of elements explicitly stored in the matrix.
|
| LinOp * | apply2 (ptr_param< const LinOp > b, ptr_param< LinOp > x) |
| | Applies Coo matrix axpy to a vector (or a sequence of vectors).
|
| const LinOp * | apply2 (ptr_param< const LinOp > b, ptr_param< LinOp > x) const |
| LinOp * | apply2 (ptr_param< const LinOp > alpha, ptr_param< const LinOp > b, ptr_param< LinOp > x) |
| | Performs the operation x = alpha * Coo * b + x.
|
| const LinOp * | apply2 (ptr_param< const LinOp > alpha, ptr_param< const LinOp > b, ptr_param< LinOp > x) const |
|
const Coo< default_precision, int32 > * | apply (ptr_param< const LinOp > b, ptr_param< LinOp > x) const |
|
void | convert_to (result_type *result) const override |
|
void | move_to (result_type *result) override |
| virtual void | read (const matrix_data< default_precision, int32 > &data)=0 |
| | Reads a matrix from a matrix_data structure.
|
| virtual void | write (matrix_data< default_precision, int32 > &data) const=0 |
| | Writes a matrix to a matrix_data structure.
|
| std::unique_ptr< LinOp > | compute_absolute_linop () const override |
| | Gets the absolute LinOp.
|
|
| static std::unique_ptr< Coo > | create (std::shared_ptr< const Executor > exec, const dim< 2 > &size=dim< 2 >{}, size_type num_nonzeros={}) |
| | Creates an uninitialized COO matrix of the specified size.
|
| static std::unique_ptr< Coo > | create (std::shared_ptr< const Executor > exec, const dim< 2 > &size, array< value_type > values, array< index_type > col_idxs, array< index_type > row_idxs) |
| | Creates a COO matrix from already allocated (and initialized) row index, column index and value arrays.
|
| template<typename InputValueType, typename InputColumnIndexType, typename InputRowIndexType> |
| static std::unique_ptr< Coo > | create (std::shared_ptr< const Executor > exec, const dim< 2 > &size, std::initializer_list< InputValueType > values, std::initializer_list< InputColumnIndexType > col_idxs, std::initializer_list< InputRowIndexType > row_idxs) |
| | create(std::shared_ptr<const Executor>,const dim<2>&, array<value_type>, array<index_type>, array<index_type>)
|
| static std::unique_ptr< const Coo > | create_const (std::shared_ptr< const Executor > exec, const dim< 2 > &size, gko::detail::const_array_view< ValueType > &&values, gko::detail::const_array_view< IndexType > &&col_idxs, gko::detail::const_array_view< IndexType > &&row_idxs) |
| | Creates a constant (immutable) Coo matrix from a set of constant arrays.
|
|
|
class | EnablePolymorphicObject< Coo, LinOp > |
|
class | Csr< ValueType, IndexType > |
|
class | Dense< ValueType > |
|
class | CooBuilder< ValueType, IndexType > |
|
class | Coo< to_complex< ValueType >, IndexType > |
|
class | Hybrid< ValueType, IndexType > |
|
class | Coo< previous_precision< ValueType >, IndexType > |
template<typename ValueType = default_precision, typename IndexType = int32>
class gko::matrix::Coo< ValueType, IndexType >
COO stores a matrix in the coordinate matrix format.
The nonzero elements are stored in an array row-wise (but not necessarily sorted by column index within a row). Two extra arrays contain the row and column indexes of each nonzero element of the matrix.
- Template Parameters
-
| ValueType | precision of matrix elements |
| IndexType | precision of matrix indexes |
template<typename ValueType = default_precision, typename IndexType = int32>
template<typename InputValueType, typename InputColumnIndexType, typename InputRowIndexType>
| std::unique_ptr< Coo > gko::matrix::Coo< ValueType, IndexType >::create |
( |
std::shared_ptr< const Executor > | exec, |
|
|
const dim< 2 > & | size, |
|
|
std::initializer_list< InputValueType > | values, |
|
|
std::initializer_list< InputColumnIndexType > | col_idxs, |
|
|
std::initializer_list< InputRowIndexType > | row_idxs ) |
|
inlinestatic |