![]() |
Ginkgo Generated from branch based on main. Ginkgo version 1.11.0
A numerical linear algebra library targeting many-core architectures
|
The Combination class can be used to construct a linear combination of multiple linear operators c1 * op1 + c2 * op2 + ... + ck * opk. More...
#include <ginkgo/core/base/combination.hpp>
Public Types | |
| using | value_type = ValueType |
| using | transposed_type = Combination<ValueType> |
| Public Types inherited from gko::EnablePolymorphicAssignment< Combination< default_precision > > | |
| using | result_type |
Public Member Functions | |
| const std::vector< std::shared_ptr< const LinOp > > & | get_coefficients () const noexcept |
| Returns a list of coefficients of the combination. | |
| const std::vector< std::shared_ptr< const LinOp > > & | get_operators () const noexcept |
| Returns a list of operators of the combination. | |
| 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. | |
| Combination & | operator= (const Combination &) |
| Copy-assigns a Combination. | |
| Combination & | operator= (Combination &&) |
| Move-assigns a Combination. | |
| Combination (const Combination &) | |
| Copy-constructs a Combination. | |
| Combination (Combination &&) | |
| Move-constructs a Combination. | |
| Public Member Functions inherited from gko::EnableLinOp< Combination< default_precision > > | |
| const Combination< default_precision > * | apply (ptr_param< const LinOp > b, ptr_param< LinOp > x) const |
| Public Member Functions inherited from gko::EnablePolymorphicAssignment< Combination< default_precision > > | |
| void | convert_to (result_type *result) const override |
| void | move_to (result_type *result) override |
Friends | |
| class | EnablePolymorphicObject< Combination, LinOp > |
| class | EnableCreateMethod< Combination > |
Additional Inherited Members | |
| Static Public Member Functions inherited from gko::EnableCreateMethod< Combination< default_precision > > | |
| static std::unique_ptr< Combination< default_precision > > | create (Args &&... args) |
The Combination class can be used to construct a linear combination of multiple linear operators c1 * op1 + c2 * op2 + ... + ck * opk.
Combination ensures that all LinOps passed to its constructor use the same executor, and if not, copies the operators to the executor of the first operator.
| ValueType | precision of input and result vectors |
| gko::Combination< ValueType >::Combination | ( | const Combination< ValueType > & | ) |
Copy-constructs a Combination.
This inherits the executor of the input Combination and all of its operators with shared ownership.
| gko::Combination< ValueType >::Combination | ( | Combination< ValueType > && | ) |
Move-constructs a Combination.
This inherits the executor of the input Combination and all of its operators. The moved-from object is empty (0x0 LinOp without operators) afterwards.
|
overridevirtual |
Returns a LinOp representing the conjugate transpose of the Transposable object.
Implements gko::Transposable.
|
inlinenoexcept |
Returns a list of coefficients of the combination.
|
inlinenoexcept |
Returns a list of operators of the combination.
| Combination & gko::Combination< ValueType >::operator= | ( | Combination< ValueType > && | ) |
Move-assigns a Combination.
The executor is not modified, and the wrapped LinOps are only being cloned if they are on a different executor, otherwise they share ownership. The moved-from object is empty (0x0 LinOp without operators) afterwards.
| Combination & gko::Combination< ValueType >::operator= | ( | const Combination< ValueType > & | ) |
Copy-assigns a Combination.
The executor is not modified, and the wrapped LinOps are only being cloned if they are on a different executor.
|
overridevirtual |
Returns a LinOp representing the transpose of the Transposable object.
Implements gko::Transposable.