|
std::shared_ptr< const LinOp > | get_system_matrix () const |
| Returns the system operator (matrix) of the linear system. More...
|
|
const parameters_type & | get_parameters () const |
|
const FixedCoarsening< ValueType, IndexType > * | apply (ptr_param< const LinOp > b, ptr_param< LinOp > x) const |
|
FixedCoarsening< ValueType, IndexType > * | apply (ptr_param< const LinOp > b, ptr_param< LinOp > x) |
|
const FixedCoarsening< ValueType, IndexType > * | apply (ptr_param< const LinOp > alpha, ptr_param< const LinOp > b, ptr_param< const LinOp > beta, ptr_param< LinOp > x) const |
|
FixedCoarsening< ValueType, IndexType > * | apply (ptr_param< const LinOp > alpha, ptr_param< const LinOp > b, ptr_param< const LinOp > beta, ptr_param< LinOp > x) |
|
std::unique_ptr< FixedCoarsening< ValueType, IndexType > > | create_default (std::shared_ptr< const Executor > exec) const |
|
std::unique_ptr< FixedCoarsening< ValueType, IndexType > > | create_default () const |
|
std::unique_ptr< FixedCoarsening< ValueType, IndexType > > | clone (std::shared_ptr< const Executor > exec) const |
|
std::unique_ptr< FixedCoarsening< ValueType, IndexType > > | clone () const |
|
FixedCoarsening< ValueType, IndexType > * | copy_from (const PolymorphicObject *other) |
|
std::enable_if_t< std::is_base_of< PolymorphicObject, std::decay_t< Derived > >::value, FixedCoarsening< ValueType, IndexType > > * | copy_from (std::unique_ptr< Derived > &&other) |
|
std::enable_if_t< std::is_base_of< PolymorphicObject, std::decay_t< Derived > >::value, FixedCoarsening< ValueType, IndexType > > * | copy_from (const std::unique_ptr< Derived > &other) |
|
FixedCoarsening< ValueType, IndexType > * | copy_from (const std::shared_ptr< const PolymorphicObject > &other) |
|
FixedCoarsening< ValueType, IndexType > * | move_from (ptr_param< PolymorphicObject > other) |
|
FixedCoarsening< ValueType, IndexType > * | clear () |
|
LinOp * | apply (ptr_param< const LinOp > b, ptr_param< LinOp > x) |
| Applies a linear operator to a vector (or a sequence of vectors). More...
|
|
const LinOp * | apply (ptr_param< const LinOp > b, ptr_param< LinOp > x) const |
|
LinOp * | apply (ptr_param< const LinOp > alpha, ptr_param< const LinOp > b, ptr_param< const LinOp > beta, ptr_param< LinOp > x) |
| Performs the operation x = alpha * op(b) + beta * x. More...
|
|
const LinOp * | apply (ptr_param< const LinOp > alpha, ptr_param< const LinOp > b, ptr_param< const LinOp > beta, ptr_param< LinOp > x) const |
|
const dim< 2 > & | get_size () const noexcept |
| Returns the size of the operator. More...
|
|
virtual bool | apply_uses_initial_guess () const |
| Returns true if the linear operator uses the data given in x as an initial guess. More...
|
|
LinOp & | operator= (const LinOp &)=default |
| Copy-assigns a LinOp. More...
|
|
LinOp & | operator= (LinOp &&other) |
| Move-assigns a LinOp. More...
|
|
| LinOp (const LinOp &)=default |
| Copy-constructs a LinOp. More...
|
|
| LinOp (LinOp &&other) |
| Move-constructs a LinOp. More...
|
|
std::unique_ptr< LinOp > | create_default (std::shared_ptr< const Executor > exec) const |
|
std::unique_ptr< LinOp > | create_default () const |
|
std::unique_ptr< LinOp > | clone (std::shared_ptr< const Executor > exec) const |
|
std::unique_ptr< LinOp > | clone () const |
|
LinOp * | copy_from (const PolymorphicObject *other) |
|
std::enable_if_t< std::is_base_of< PolymorphicObject, std::decay_t< Derived > >::value, LinOp > * | copy_from (std::unique_ptr< Derived > &&other) |
|
std::enable_if_t< std::is_base_of< PolymorphicObject, std::decay_t< Derived > >::value, LinOp > * | copy_from (const std::unique_ptr< Derived > &other) |
|
LinOp * | copy_from (const std::shared_ptr< const PolymorphicObject > &other) |
|
LinOp * | move_from (ptr_param< PolymorphicObject > other) |
|
LinOp * | clear () |
|
PolymorphicObject & | operator= (const PolymorphicObject &) |
|
std::unique_ptr< PolymorphicObject > | create_default (std::shared_ptr< const Executor > exec) const |
| Creates a new "default" object of the same dynamic type as this object. More...
|
|
std::unique_ptr< PolymorphicObject > | create_default () const |
| Creates a new "default" object of the same dynamic type as this object. More...
|
|
std::unique_ptr< PolymorphicObject > | clone (std::shared_ptr< const Executor > exec) const |
| Creates a clone of the object. More...
|
|
std::unique_ptr< PolymorphicObject > | clone () const |
| Creates a clone of the object. More...
|
|
PolymorphicObject * | copy_from (const PolymorphicObject *other) |
| Copies another object into this object. More...
|
|
template<typename Derived , typename Deleter > |
std::enable_if_t< std::is_base_of< PolymorphicObject, std::decay_t< Derived > >::value, PolymorphicObject > * | copy_from (std::unique_ptr< Derived, Deleter > &&other) |
| Moves another object into this object. More...
|
|
template<typename Derived , typename Deleter > |
std::enable_if_t< std::is_base_of< PolymorphicObject, std::decay_t< Derived > >::value, PolymorphicObject > * | copy_from (const std::unique_ptr< Derived, Deleter > &other) |
| Copies another object into this object. More...
|
|
PolymorphicObject * | copy_from (const std::shared_ptr< const PolymorphicObject > &other) |
| Copies another object into this object. More...
|
|
PolymorphicObject * | move_from (ptr_param< PolymorphicObject > other) |
| Moves another object into this object. More...
|
|
PolymorphicObject * | clear () |
| Transforms the object into its default state. More...
|
|
std::shared_ptr< const Executor > | get_executor () const noexcept |
| Returns the Executor of the object. More...
|
|
void | add_logger (std::shared_ptr< const Logger > logger) override |
|
void | remove_logger (const Logger *logger) override |
|
void | remove_logger (ptr_param< const Logger > logger) |
|
const std::vector< std::shared_ptr< const Logger > > & | get_loggers () const override |
|
void | clear_loggers () override |
|
void | remove_logger (ptr_param< const Logger > logger) |
|
void | convert_to (result_type *result) const override |
| Converts the implementer to an object of type result_type. More...
|
|
void | move_to (result_type *result) override |
| Converts the implementer to an object of type result_type by moving data from this object. More...
|
|
void | convert_to (ptr_param< result_type > result) const |
|
void | move_to (ptr_param< result_type > result) |
|
std::shared_ptr< const LinOp > | get_fine_op () const override |
| Returns the operator on fine level. More...
|
|
std::shared_ptr< const LinOp > | get_restrict_op () const override |
| Returns the restrict operator. More...
|
|
std::shared_ptr< const LinOp > | get_coarse_op () const override |
| Returns the operator on coarse level. More...
|
|
std::shared_ptr< const LinOp > | get_prolong_op () const override |
| Returns the prolong operator. More...
|
|
std::shared_ptr< Composition< ValueType > > | get_composition () const |
| Returns the composition operators. More...
|
|
std::shared_ptr< const LinOp > | get_operator_at (size_type index) const |
| Returns the operator at index-th position of composition. More...
|
|
template<typename ValueType = default_precision, typename IndexType = int32>
class gko::multigrid::FixedCoarsening< ValueType, IndexType >
FixedCoarsening is a very simple coarse grid generation algorithm.
It selects the coarse matrix from the fine matrix by with user-specified indices.
The user needs to specify the indices (with global numbering) of the fine matrix, they wish to be in the coarse matrix. The restriction and prolongation matrices will map to and from the coarse space without any interpolation or weighting.
- Template Parameters
-
ValueType | precision of matrix elements |
IndexType | precision of matrix indexes |