33#ifndef GKO_PUBLIC_CORE_MATRIX_BATCH_IDENTITY_HPP_
34#define GKO_PUBLIC_CORE_MATRIX_BATCH_IDENTITY_HPP_
37#include <ginkgo/core/base/batch_lin_op.hpp>
38#include <ginkgo/core/base/batch_multi_vector.hpp>
39#include <ginkgo/core/base/executor.hpp>
40#include <ginkgo/core/base/types.hpp>
41#include <ginkgo/core/base/utils.hpp>
42#include <ginkgo/core/matrix/identity.hpp>
59template <
typename ValueType = default_precision>
69 using value_type = ValueType;
70 using index_type =
int32;
123 Identity(std::shared_ptr<const Executor> exec,
This mixin implements a static create() method on ConcreteType that dynamically allocates the memory,...
Definition polymorphic_object.hpp:776
void move_to(result_type *result) override
Definition polymorphic_object.hpp:760
void convert_to(result_type *result) const override
Definition polymorphic_object.hpp:758
This mixin inherits from (a subclass of) PolymorphicObject and provides a base implementation of a ne...
Definition polymorphic_object.hpp:691
Definition batch_lin_op.hpp:88
The EnableBatchLinOp mixin can be used to provide sensible default implementations of the majority of...
Definition batch_lin_op.hpp:281
MultiVector stores multiple vectors in a batched fashion and is useful for batched operations.
Definition batch_multi_vector.hpp:85
The batch Identity matrix, which represents a batch of Identity matrices.
Definition batch_identity.hpp:61
Identity * apply(ptr_param< const MultiVector< value_type > > alpha, ptr_param< const MultiVector< value_type > > b, ptr_param< const MultiVector< value_type > > beta, ptr_param< MultiVector< value_type > > x)
Apply the matrix to a multi-vector with a linear combination of the given input vector.
const Identity * apply(ptr_param< const MultiVector< value_type > > alpha, ptr_param< const MultiVector< value_type > > b, ptr_param< const MultiVector< value_type > > beta, ptr_param< MultiVector< value_type > > x) const
Identity * apply(ptr_param< const MultiVector< value_type > > b, ptr_param< MultiVector< value_type > > x)
Apply the matrix to a multi-vector.
const Identity * apply(ptr_param< const MultiVector< value_type > > b, ptr_param< MultiVector< value_type > > x) const
This class is a utility which efficiently implements the identity matrix (a linear operator which map...
Definition identity.hpp:65
This class is used for function parameters in the place of raw pointers.
Definition utils_helper.hpp:71
The Ginkgo namespace.
Definition abstract_factory.hpp:48
constexpr T one()
Returns the multiplicative identity for T.
Definition math.hpp:803
typename detail::remove_complex_s< T >::type remove_complex
Obtain the type which removed the complex of complex/scalar type or the template parameter of class b...
Definition math.hpp:354
std::int32_t int32
32-bit signed integral type.
Definition types.hpp:137
typename detail::to_complex_s< T >::type to_complex
Obtain the type which adds the complex of complex/scalar type or the template parameter of class by a...
Definition math.hpp:373
A type representing the dimensions of a multidimensional batch object.
Definition batch_dim.hpp:56