ginkgo/core/matrix/dense.hpp Source File#
|
Reference API
|
dense.hpp
Definition polymorphic_object.hpp:479
Definition lin_op.hpp:742
Definition lin_op.hpp:793
Definition lin_op.hpp:878
Definition polymorphic_object.hpp:668
Definition executor.hpp:615
Definition lin_op.hpp:117
Definition lin_op.hpp:484
std::shared_ptr< const Executor > get_executor() const noexcept
Definition polymorphic_object.hpp:243
Definition lin_op.hpp:605
Definition lin_op.hpp:817
Definition lin_op.hpp:433
Definition lin_op.hpp:660
Definition array.hpp:166
const value_type * get_const_data() const noexcept
Definition array.hpp:682
Definition device_matrix_data.hpp:36
Definition vector.hpp:73
Definition coo.hpp:61
Definition csr.hpp:123
Definition dense.hpp:116
std::unique_ptr< Dense > scale_permute(ptr_param< const ScaledPermutation< value_type, int64 > > row_permutation, ptr_param< const ScaledPermutation< value_type, int64 > > column_permutation, bool invert=false) const
value_type & at(size_type row, size_type col) noexcept
Definition dense.hpp:891
void compute_norm1(ptr_param< LinOp > result) const
void compute_absolute(ptr_param< absolute_type > output) const
virtual void scale_impl(const LinOp *alpha)
void compute_norm2(ptr_param< LinOp > result, array< char > &tmp) const
std::unique_ptr< LinOp > row_permute(const array< int64 > *permutation_indices) const override
static std::unique_ptr< Dense > create_with_config_of(ptr_param< const Dense > other)
Definition dense.hpp:192
std::unique_ptr< Dense > permute(ptr_param< const Permutation< int64 > > row_permutation, ptr_param< const Permutation< int64 > > column_permutation, bool invert=false) const
Dense & operator=(const Dense &)
void get_imag(ptr_param< real_type > result) const
void row_permute(const array< int32 > *permutation_indices, ptr_param< Dense > output) const
void get_real(ptr_param< real_type > result) const
virtual std::unique_ptr< Dense > create_with_same_config() const
Definition dense.hpp:1262
std::unique_ptr< LinOp > column_permute(const array< int64 > *permutation_indices) const override
static std::unique_ptr< Dense > create_with_type_of(ptr_param< const Dense > other, std::shared_ptr< const Executor > exec, const dim< 2 > &size, const dim< 2 > &local_size, size_type stride)
Definition dense.hpp:247
void compute_dot(ptr_param< const LinOp > b, ptr_param< LinOp > result) const
void sub_scaled(ptr_param< const LinOp > alpha, ptr_param< const LinOp > b)
std::unique_ptr< Dense > permute(ptr_param< const Permutation< int64 > > permutation, permute_mode mode=permute_mode::symmetric) const
std::unique_ptr< LinOp > permute(const array< int64 > *permutation_indices) const override
std::unique_ptr< Dense > row_gather(const array< int64 > *gather_indices) const
std::unique_ptr< LinOp > inverse_permute(const array< int64 > *permutation_indices) const override
virtual void add_scaled_impl(const LinOp *alpha, const LinOp *b)
std::unique_ptr< Dense > permute(ptr_param< const Permutation< int32 > > row_permutation, ptr_param< const Permutation< int32 > > column_permutation, bool invert=false) const
void row_gather(const array< int32 > *gather_indices, ptr_param< LinOp > row_collection) const
void column_permute(const array< int32 > *permutation_indices, ptr_param< Dense > output) const
std::unique_ptr< LinOp > inverse_row_permute(const array< int32 > *permutation_indices) const override
Dense(const Dense &)
std::unique_ptr< Dense > permute(ptr_param< const Permutation< int32 > > permutation, permute_mode mode=permute_mode::symmetric) const
void inverse_permute(const array< int64 > *permutation_indices, ptr_param< Dense > output) const
virtual void sub_scaled_impl(const LinOp *alpha, const LinOp *b)
void compute_squared_norm2(ptr_param< LinOp > result, array< char > &tmp) const
static std::unique_ptr< Dense > create_with_type_of(ptr_param< const Dense > other, std::shared_ptr< const Executor > exec, const dim< 2 > &size=dim< 2 >{})
Definition dense.hpp:213
virtual std::unique_ptr< Dense > create_view_of_impl()
Definition dense.hpp:1288
void permute(const array< int64 > *permutation_indices, ptr_param< Dense > output) const
void scale(ptr_param< const LinOp > alpha)
std::unique_ptr< LinOp > inverse_column_permute(const array< int32 > *permutation_indices) const override
void conj_transpose(ptr_param< Dense > output) const
std::unique_ptr< Dense > create_submatrix(const span &rows, const span &columns)
Definition dense.hpp:1135
void row_permute(const array< int64 > *permutation_indices, ptr_param< Dense > output) const
std::unique_ptr< LinOp > permute(const array< int32 > *permutation_indices) const override
std::unique_ptr< Dense > create_submatrix(const span &rows, const span &columns, const size_type stride)
Definition dense.hpp:1122
virtual std::unique_ptr< const Dense > create_const_view_of_impl() const
Definition dense.hpp:1304
void compute_squared_norm2(ptr_param< LinOp > result) const
std::unique_ptr< LinOp > row_permute(const array< int32 > *permutation_indices) const override
void permute(ptr_param< const Permutation< int64 > > permutation, ptr_param< Dense > output, permute_mode mode) const
void inverse_permute(const array< int32 > *permutation_indices, ptr_param< Dense > output) const
std::unique_ptr< Dense > row_gather(const array< int32 > *gather_indices) const
void extract_diagonal(ptr_param< Diagonal< ValueType > > output) const
void make_complex(ptr_param< complex_type > result) const
std::unique_ptr< absolute_type > compute_absolute() const override
void scale_permute(ptr_param< const ScaledPermutation< value_type, int32 > > row_permutation, ptr_param< const ScaledPermutation< value_type, int32 > > column_permutation, ptr_param< Dense > output, bool invert=false) const
void permute(ptr_param< const Permutation< int32 > > permutation, ptr_param< Dense > output, permute_mode mode) const
void row_gather(ptr_param< const LinOp > alpha, const array< int32 > *gather_indices, ptr_param< const LinOp > beta, ptr_param< LinOp > row_collection) const
const value_type * get_const_values() const noexcept
Definition dense.hpp:859
size_type get_num_stored_elements() const noexcept
Definition dense.hpp:876
void compute_mean(ptr_param< LinOp > result, array< char > &tmp) const
std::unique_ptr< Dense > scale_permute(ptr_param< const ScaledPermutation< value_type, int32 > > row_permutation, ptr_param< const ScaledPermutation< value_type, int32 > > column_permutation, bool invert=false) const
void scale_permute(ptr_param< const ScaledPermutation< value_type, int64 > > row_permutation, ptr_param< const ScaledPermutation< value_type, int64 > > column_permutation, ptr_param< Dense > output, bool invert=false) const
void compute_conj_dot(ptr_param< const LinOp > b, ptr_param< LinOp > result, array< char > &tmp) const
void compute_mean(ptr_param< LinOp > result) const
static std::unique_ptr< Dense > create(std::shared_ptr< const Executor > exec, const dim< 2 > &size, array< value_type > values, size_type stride)
std::unique_ptr< LinOp > inverse_permute(const array< int32 > *permutation_indices) const override
void permute(const array< int32 > *permutation_indices, ptr_param< Dense > output) const
virtual void compute_mean_impl(LinOp *result) const
void scale_permute(ptr_param< const ScaledPermutation< value_type, int64 > > permutation, ptr_param< Dense > output, permute_mode mode) const
void inverse_row_permute(const array< int32 > *permutation_indices, ptr_param< Dense > output) const
void inverse_column_permute(const array< int32 > *permutation_indices, ptr_param< Dense > output) const
void add_scaled(ptr_param< const LinOp > alpha, ptr_param< const LinOp > b)
std::unique_ptr< LinOp > inverse_column_permute(const array< int64 > *permutation_indices) const override
static std::unique_ptr< Dense > create_view_of(ptr_param< Dense > other)
Definition dense.hpp:263
void permute(ptr_param< const Permutation< int32 > > row_permutation, ptr_param< const Permutation< int32 > > column_permutation, ptr_param< Dense > output, bool invert=false) const
void compute_norm1(ptr_param< LinOp > result, array< char > &tmp) const
std::unique_ptr< LinOp > inverse_row_permute(const array< int64 > *permutation_indices) const override
std::unique_ptr< Dense > scale_permute(ptr_param< const ScaledPermutation< value_type, int32 > > permutation, permute_mode mode=permute_mode::symmetric) const
void transpose(ptr_param< Dense > output) const
void compute_conj_dot(ptr_param< const LinOp > b, ptr_param< LinOp > result) const
void resize(gko::dim< 2 > new_size)
std::unique_ptr< real_type > get_real() const
std::unique_ptr< Dense > scale_permute(ptr_param< const ScaledPermutation< value_type, int64 > > permutation, permute_mode mode=permute_mode::symmetric) const
static std::unique_ptr< const Dense > create_const_view_of(ptr_param< const Dense > other)
Definition dense.hpp:275
virtual void compute_squared_norm2_impl(LinOp *result) const
virtual void compute_norm1_impl(LinOp *result) const
std::unique_ptr< LinOp > conj_transpose() const override
std::unique_ptr< LinOp > column_permute(const array< int32 > *permutation_indices) const override
std::unique_ptr< LinOp > transpose() const override
void scale_permute(ptr_param< const ScaledPermutation< value_type, int32 > > permutation, ptr_param< Dense > output, permute_mode mode) const
void compute_absolute_inplace() override
std::unique_ptr< complex_type > make_complex() const
std::unique_ptr< const real_type > create_real_view() const
virtual void compute_dot_impl(const LinOp *b, LinOp *result) const
virtual std::unique_ptr< Dense > create_submatrix_impl(const span &rows, const span &columns, const size_type stride)
virtual void inv_scale_impl(const LinOp *alpha)
void column_permute(const array< int64 > *permutation_indices, ptr_param< Dense > output) const
Dense(Dense &&)
void inverse_row_permute(const array< int64 > *permutation_indices, ptr_param< Dense > output) const
value_type at(size_type row, size_type col) const noexcept
Definition dense.hpp:899
static std::unique_ptr< Dense > create(std::shared_ptr< const Executor > exec, const dim< 2 > &size={}, size_type stride=0)
static std::unique_ptr< const Dense > create_const(std::shared_ptr< const Executor > exec, const dim< 2 > &size, gko::detail::const_array_view< ValueType > &&values, size_type stride)
void permute(ptr_param< const Permutation< int64 > > row_permutation, ptr_param< const Permutation< int64 > > column_permutation, ptr_param< Dense > output, bool invert=false) const
void inv_scale(ptr_param< const LinOp > alpha)
Dense & operator=(Dense &&)
void inverse_column_permute(const array< int64 > *permutation_indices, ptr_param< Dense > output) const
void compute_norm2(ptr_param< LinOp > result) const
virtual std::unique_ptr< Dense > create_with_type_of_impl(std::shared_ptr< const Executor > exec, const dim< 2 > &size, size_type stride) const
Definition dense.hpp:1275
void row_gather(const array< int64 > *gather_indices, ptr_param< LinOp > row_collection) const
virtual void compute_conj_dot_impl(const LinOp *b, LinOp *result) const
std::unique_ptr< real_type > get_imag() const
static std::unique_ptr< Dense > create_with_type_of(ptr_param< const Dense > other, std::shared_ptr< const Executor > exec, const dim< 2 > &size, size_type stride)
Definition dense.hpp:229
std::unique_ptr< real_type > create_real_view()
std::unique_ptr< Diagonal< ValueType > > extract_diagonal() const override
virtual void compute_norm2_impl(LinOp *result) const
void fill(const ValueType value)
void compute_dot(ptr_param< const LinOp > b, ptr_param< LinOp > result, array< char > &tmp) const
void row_gather(ptr_param< const LinOp > alpha, const array< int64 > *gather_indices, ptr_param< const LinOp > beta, ptr_param< LinOp > row_collection) const
Definition diagonal.hpp:52
Definition ell.hpp:63
Definition hybrid.hpp:54
Definition permutation.hpp:111
Definition scaled_permutation.hpp:37
Definition sellp.hpp:54
Definition sparsity_csr.hpp:55
Definition utils_helper.hpp:41
Definition range.hpp:297
std::unique_ptr< Matrix > initialize(size_type stride, std::initializer_list< typename Matrix::value_type > vals, std::shared_ptr< const Executor > exec, TArgs &&... create_args)
Definition dense.hpp:1564
@ columns
@ symmetric
std::unique_ptr< const matrix::Dense< typename detail::pointee< VecPtr >::value_type > > make_const_dense_view(VecPtr &&vector)
Definition dense.hpp:1536
detail::const_array_view< ValueType > make_const_array_view(std::shared_ptr< const Executor > exec, size_type size, const ValueType *data)
Definition array.hpp:806
typename detail::next_precision_impl< T >::type next_precision
Definition math.hpp:438
std::unique_ptr< matrix::Dense< typename detail::pointee< VecPtr >::value_type > > make_dense_view(VecPtr &&vector)
Definition dense.hpp:1519
array< ValueType > make_array_view(std::shared_ptr< const Executor > exec, size_type size, ValueType *data)
Definition array.hpp:787
typename detail::remove_complex_s< T >::type remove_complex
Definition math.hpp:260
STL namespace.
Definition dim.hpp:26
Definition matrix_data.hpp:126
Definition range.hpp:46
Generated by