Template Numerical Library: TNL::Matrices::GinkgoOperator< Matrix > Class Template Reference

Template Numerical Library version\ main:c7077e4fd

Loading...
Searching...
No Matches
Public Member Functions | Protected Types | Protected Member Functions | List of all members
TNL::Matrices::GinkgoOperator< Matrix > Class Template Reference
Wrappers for the Ginkgo library

Wraps a general TNL matrix as a Ginkgo LinOp. More...

`#include <TNL/Matrices/GinkgoOperator.h>`

Inheritance diagram for TNL::Matrices::GinkgoOperator< Matrix >:
[legend]
Collaboration diagram for TNL::Matrices::GinkgoOperator< Matrix >:
[legend]

## Public Member Functions
| GinkgoOperator (std::shared_ptr< const gko::Executor > exec)
| GinkgoOperator (std::shared_ptr< const gko::Executor > exec, const Matrix &matrix)

## Protected Types
using | ConstViewType = typename ViewType::ConstViewType
using | ValueType = typename Matrix::RealType
using | ViewType = Containers::VectorView< ValueType, typename Matrix::DeviceType, typename Matrix::IndexType >

## Protected Member Functions
void | apply_impl (const gko::LinOp *alpha, const gko::LinOp *b, const gko::LinOp *beta, gko::LinOp *x) const override
| Applies the operator on a vector: computes the expression x = alpha * op(b) + beta * x.
void | apply_impl (const gko::LinOp *b, gko::LinOp *x) const override
| Applies the operator on a vector: computes the expression x = op(b).

## Detailed Description

template<typename Matrix>
class TNL::Matrices::GinkgoOperator< Matrix >

Wraps a general TNL matrix as a Ginkgo LinOp.

Note
  This LinOp cannot be used with preconditioners that require a CSR matrix, see https://github.com/ginkgo-project/ginkgo/issues/1094. If you have a CSR matrix in TNL already, use getGinkgoMatrixCsrView. If you have a TNL matrix in a different format, use getGinkgoMatrixCsr to do the conversion.

The documentation for this class was generated from the following file:

- src/TNL/Matrices/GinkgoOperator.h