Template Numerical Library version\ main:4e58ea6
Loading...
Searching...
No Matches
TNL::Matrices::GinkgoOperator< Matrix > Class Template Reference

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

#include <TNL/Matrices/GinkgoOperator.h>

Inheritance diagram for TNL::Matrices::GinkgoOperator< Matrix >:
Collaboration diagram for TNL::Matrices::GinkgoOperator< Matrix >:

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: