\doxysection{gko::\+batch::\+matrix::\+Identity\texorpdfstring{$<$}{<} Value\+Type \texorpdfstring{$>$}{>} Class Template Reference}
\hypertarget{classgko_1_1batch_1_1matrix_1_1Identity}{}\label{classgko_1_1batch_1_1matrix_1_1Identity}\index{gko::batch::matrix::Identity$<$ ValueType $>$@{gko::batch::matrix::Identity$<$ ValueType $>$}}


The batch \doxylink{classgko_1_1batch_1_1matrix_1_1Identity}{Identity} matrix, which represents a batch of \doxylink{classgko_1_1batch_1_1matrix_1_1Identity}{Identity} matrices.  




{\ttfamily \+\#include $<$ginkgo/\+core/\+matrix/\+batch\+\_\+identity.\+hpp$>$}



Inheritance diagram for gko::\+batch::\+matrix::\+Identity\texorpdfstring{$<$}{<} Value\+Type \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classgko_1_1batch_1_1matrix_1_1Identity__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for gko::\+batch::\+matrix::\+Identity\texorpdfstring{$<$}{<} Value\+Type \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classgko_1_1batch_1_1matrix_1_1Identity__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1batch_1_1matrix_1_1Identity_ab39a3c80a7c3512fc83ab6a82dcfd89d}\label{classgko_1_1batch_1_1matrix_1_1Identity_ab39a3c80a7c3512fc83ab6a82dcfd89d} 
using {\bfseries value\+\_\+type} = Value\+Type
\item 
\Hypertarget{classgko_1_1batch_1_1matrix_1_1Identity_a5d8219f36ded91d46a43765e2ee3e562}\label{classgko_1_1batch_1_1matrix_1_1Identity_a5d8219f36ded91d46a43765e2ee3e562} 
using {\bfseries index\+\_\+type} = \doxymbox{\hyperlink{namespacegko_a16bd14c10900eb804d784908d8aab5ab}{int32}}
\item 
\Hypertarget{classgko_1_1batch_1_1matrix_1_1Identity_a10cf45f4615bcfe21f22ddb35daecd0f}\label{classgko_1_1batch_1_1matrix_1_1Identity_a10cf45f4615bcfe21f22ddb35daecd0f} 
using {\bfseries unbatch\+\_\+type} = \doxymbox{\hyperlink{classgko_1_1matrix_1_1Identity}{gko::\+matrix::\+\+Identity}}$<$Value\+Type$>$
\item 
\Hypertarget{classgko_1_1batch_1_1matrix_1_1Identity_a9a45124f43a32a4ed2c9a202e8290163}\label{classgko_1_1batch_1_1matrix_1_1Identity_a9a45124f43a32a4ed2c9a202e8290163} 
using {\bfseries absolute\+\_\+type} = \doxymbox{\hyperlink{namespacegko_a107302a750bfa82a2107c77293f791c9}{remove\+\_\+complex}}$<$Identity$>$
\item 
\Hypertarget{classgko_1_1batch_1_1matrix_1_1Identity_a93035612005b3e557b21c7a0152bfa00}\label{classgko_1_1batch_1_1matrix_1_1Identity_a93035612005b3e557b21c7a0152bfa00} 
using {\bfseries complex\+\_\+type} = \doxymbox{\hyperlink{namespacegko_a4ad20e5381a84928753efde0b2bc7f85}{to\+\_\+complex}}$<$Identity$>$
\end{DoxyCompactItemize}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1EnablePolymorphicAssignment}{gko::\+\+Enable\+Polymorphic\+Assignment$<$ Identity$<$ default\+\_\+precision $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries result\+\_\+type}
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
Identity \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1matrix_1_1Identity_a7be871a55f9ab76a8057c83150353eb9}{apply}} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$ b, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$ x)
\begin{DoxyCompactList}\small\item\em Apply the matrix to a multi-\/vector. \end{DoxyCompactList}\item 
Identity \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1matrix_1_1Identity_a1f65461a7a74c87ab64579bb25e82383}{apply}} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$ alpha, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$ b, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$ beta, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$ x)
\begin{DoxyCompactList}\small\item\em Apply the matrix to a multi-\/vector with a linear combination of the given input vector. \end{DoxyCompactList}\item 
const Identity \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1matrix_1_1Identity_ae88159b0cb8f01f061133d2f22660493}{apply}} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$ b, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$ x) const
\item 
const Identity \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1matrix_1_1Identity_a46c2fdb31bf880ef4afa74a333e3f116}{apply}} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$ alpha, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$ b, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$ beta, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$ x) const
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1EnablePolymorphicAssignment}{gko::\+\+Enable\+Polymorphic\+Assignment$<$ Identity$<$ default\+\_\+precision $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
void {\bfseries convert\+\_\+to} (result\+\_\+type \texorpdfstring{$\ast$}{*}result) const override
\item 
void {\bfseries move\+\_\+to} (result\+\_\+type \texorpdfstring{$\ast$}{*}result) override
\end{DoxyCompactItemize}
\doxysubsubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static std::\+unique\+\_\+ptr$<$ Identity $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1matrix_1_1Identity_a97d983b2715d4ba66e428e30b1f54202}{create}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$ exec, const \doxymbox{\hyperlink{structgko_1_1batch__dim}{batch\+\_\+dim}}$<$ 2 $>$ \&size=\doxymbox{\hyperlink{structgko_1_1batch__dim}{batch\+\_\+dim}}$<$ 2 $>$\{\})
\begin{DoxyCompactList}\small\item\em Creates an \doxylink{classgko_1_1batch_1_1matrix_1_1Identity}{Identity} matrix of the specified size. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1batch_1_1matrix_1_1Identity_a2969eaec23ba7b62ab0bd591cfcdc200}\label{classgko_1_1batch_1_1matrix_1_1Identity_a2969eaec23ba7b62ab0bd591cfcdc200} 
class {\bfseries Enable\+Polymorphic\+Object$<$ Identity, Batch\+Lin\+Op $>$}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Value\+Type = default\+\_\+precision$>$\newline
class gko::\+batch::\+matrix::\+\+Identity$<$ Value\+Type $>$}
The batch \doxylink{classgko_1_1batch_1_1matrix_1_1Identity}{Identity} matrix, which represents a batch of \doxylink{classgko_1_1batch_1_1matrix_1_1Identity}{Identity} matrices. 


\begin{DoxyTemplParams}{Template Parameters}
{\em Value\+Type} & precision of matrix elements \\
\hline
\end{DoxyTemplParams}


\label{doc-func-members}
\Hypertarget{classgko_1_1batch_1_1matrix_1_1Identity_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{classgko_1_1batch_1_1matrix_1_1Identity_a1f65461a7a74c87ab64579bb25e82383}\index{gko::batch::matrix::Identity$<$ ValueType $>$@{gko::batch::matrix::Identity$<$ ValueType $>$}!apply@{apply}}
\index{apply@{apply}!gko::batch::matrix::Identity$<$ ValueType $>$@{gko::batch::matrix::Identity$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{apply()}{apply()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1matrix_1_1Identity_a1f65461a7a74c87ab64579bb25e82383} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
Identity \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1matrix_1_1Identity}{gko::\+batch::\+matrix::\+\+Identity}}$<$ Value\+Type $>$::\+apply (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$}]{alpha}{, }\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$}]{b}{, }\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$}]{beta}{, }\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$}]{x}{}\end{DoxyParamCaption})}



Apply the matrix to a multi-\/vector with a linear combination of the given input vector. 

Represents the matrix vector multiplication, x = alpha \texorpdfstring{$\ast$}{*} I
\begin{DoxyItemize}
\item b + beta \texorpdfstring{$\ast$}{*} x, where x and b are both multi-\/vectors.
\end{DoxyItemize}


\begin{DoxyParams}{Parameters}
{\em alpha} & the scalar to scale the matrix-\/vector product with \\
\hline
{\em b} & the multi-\/vector to be applied to \\
\hline
{\em beta} & the scalar to scale the x vector with \\
\hline
{\em x} & the output multi-\/vector \\
\hline
\end{DoxyParams}
\Hypertarget{classgko_1_1batch_1_1matrix_1_1Identity_a46c2fdb31bf880ef4afa74a333e3f116}\index{gko::batch::matrix::Identity$<$ ValueType $>$@{gko::batch::matrix::Identity$<$ ValueType $>$}!apply@{apply}}
\index{apply@{apply}!gko::batch::matrix::Identity$<$ ValueType $>$@{gko::batch::matrix::Identity$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{apply()}{apply()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1matrix_1_1Identity_a46c2fdb31bf880ef4afa74a333e3f116} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
const Identity \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1matrix_1_1Identity}{gko::\+batch::\+matrix::\+\+Identity}}$<$ Value\+Type $>$::\+apply (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$}]{alpha}{, }\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$}]{b}{, }\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$}]{beta}{, }\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$}]{x}{}\end{DoxyParamCaption}) const}





\Hypertarget{classgko_1_1batch_1_1matrix_1_1Identity_a7be871a55f9ab76a8057c83150353eb9}\index{gko::batch::matrix::Identity$<$ ValueType $>$@{gko::batch::matrix::Identity$<$ ValueType $>$}!apply@{apply}}
\index{apply@{apply}!gko::batch::matrix::Identity$<$ ValueType $>$@{gko::batch::matrix::Identity$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{apply()}{apply()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1matrix_1_1Identity_a7be871a55f9ab76a8057c83150353eb9} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
Identity \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1matrix_1_1Identity}{gko::\+batch::\+matrix::\+\+Identity}}$<$ Value\+Type $>$::\+apply (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$}]{b}{, }\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$}]{x}{}\end{DoxyParamCaption})}



Apply the matrix to a multi-\/vector. 

Represents the matrix vector multiplication, x = I \texorpdfstring{$\ast$}{*} b, where x and b are both multi-\/vectors.


\begin{DoxyParams}{Parameters}
{\em b} & the multi-\/vector to be applied to \\
\hline
{\em x} & the output multi-\/vector \\
\hline
\end{DoxyParams}
\Hypertarget{classgko_1_1batch_1_1matrix_1_1Identity_ae88159b0cb8f01f061133d2f22660493}\index{gko::batch::matrix::Identity$<$ ValueType $>$@{gko::batch::matrix::Identity$<$ ValueType $>$}!apply@{apply}}
\index{apply@{apply}!gko::batch::matrix::Identity$<$ ValueType $>$@{gko::batch::matrix::Identity$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{apply()}{apply()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1matrix_1_1Identity_ae88159b0cb8f01f061133d2f22660493} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
const Identity \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1matrix_1_1Identity}{gko::\+batch::\+matrix::\+\+Identity}}$<$ Value\+Type $>$::\+apply (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$}]{b}{, }\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ value\+\_\+type $>$ $>$}]{x}{}\end{DoxyParamCaption}) const}





\Hypertarget{classgko_1_1batch_1_1matrix_1_1Identity_a97d983b2715d4ba66e428e30b1f54202}\index{gko::batch::matrix::Identity$<$ ValueType $>$@{gko::batch::matrix::Identity$<$ ValueType $>$}!create@{create}}
\index{create@{create}!gko::batch::matrix::Identity$<$ ValueType $>$@{gko::batch::matrix::Identity$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{create()}{create()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1matrix_1_1Identity_a97d983b2715d4ba66e428e30b1f54202} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
std::\+unique\+\_\+ptr$<$ Identity $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1matrix_1_1Identity}{gko::\+batch::\+matrix::\+\+Identity}}$<$ Value\+Type $>$::\+create (\begin{DoxyParamCaption}\item[{std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$}]{exec}{, }\item[{const \doxymbox{\hyperlink{structgko_1_1batch__dim}{batch\+\_\+dim}}$<$ 2 $>$ \&}]{size}{ = {\ttfamily \doxymbox{\hyperlink{structgko_1_1batch__dim}{batch\+\_\+dim}}$<$~2~$>$\{\}}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Creates an \doxylink{classgko_1_1batch_1_1matrix_1_1Identity}{Identity} matrix of the specified size. 


\begin{DoxyParams}{Parameters}
{\em exec} & \doxylink{classgko_1_1Executor}{Executor} associated to the matrix \\
\hline
{\em size} & size of the batch matrices in a \doxylink{structgko_1_1batch__dim}{batch\+\_\+dim} object\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A smart pointer to the newly created matrix. 
\end{DoxyReturn}


The documentation for this class was generated from the following file:\+\begin{DoxyCompactItemize}
\item 
ginkgo/\+core/\+matrix/\+batch\+\_\+identity.\+hpp\end{DoxyCompactItemize}
