\doxysection{gko::\+batch::\+Multi\+Vector\texorpdfstring{$<$}{<} Value\+Type \texorpdfstring{$>$}{>} Class Template Reference}
\hypertarget{classgko_1_1batch_1_1MultiVector}{}\label{classgko_1_1batch_1_1MultiVector}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}


\doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} stores multiple vectors in a batched fashion and is useful for batched operations.  




{\ttfamily \+\#include $<$ginkgo/\+core/\+base/\+batch\+\_\+multi\+\_\+vector.\+hpp$>$}



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


Collaboration diagram for gko::\+batch::\+Multi\+Vector\texorpdfstring{$<$}{<} Value\+Type \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classgko_1_1batch_1_1MultiVector__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1batch_1_1MultiVector_ae70b8f94f0fe062f926d3ccaff92d1c2}\label{classgko_1_1batch_1_1MultiVector_ae70b8f94f0fe062f926d3ccaff92d1c2} 
using {\bfseries value\+\_\+type} = Value\+Type
\item 
\Hypertarget{classgko_1_1batch_1_1MultiVector_a3715c730eca84eacafdc9fdc91c80f6b}\label{classgko_1_1batch_1_1MultiVector_a3715c730eca84eacafdc9fdc91c80f6b} 
using {\bfseries index\+\_\+type} = \doxymbox{\hyperlink{namespacegko_a16bd14c10900eb804d784908d8aab5ab}{int32}}
\item 
\Hypertarget{classgko_1_1batch_1_1MultiVector_ab95be1216b77273908faeb6e9377cc2e}\label{classgko_1_1batch_1_1MultiVector_ab95be1216b77273908faeb6e9377cc2e} 
using {\bfseries unbatch\+\_\+type} = \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{gko::\+matrix::\+\+Dense}}$<$Value\+Type$>$
\item 
\Hypertarget{classgko_1_1batch_1_1MultiVector_a49df937f85e201a43c429df0e95a07d6}\label{classgko_1_1batch_1_1MultiVector_a49df937f85e201a43c429df0e95a07d6} 
using {\bfseries absolute\+\_\+type} = \doxymbox{\hyperlink{namespacegko_a107302a750bfa82a2107c77293f791c9}{remove\+\_\+complex}}$<$Multi\+Vector$<$Value\+Type$>$$>$
\item 
\Hypertarget{classgko_1_1batch_1_1MultiVector_a0031ca35325a3a41fb0022be02abaf06}\label{classgko_1_1batch_1_1MultiVector_a0031ca35325a3a41fb0022be02abaf06} 
using {\bfseries complex\+\_\+type} = \doxymbox{\hyperlink{namespacegko_a4ad20e5381a84928753efde0b2bc7f85}{to\+\_\+complex}}$<$Multi\+Vector$<$Value\+Type$>$$>$
\end{DoxyCompactItemize}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1EnablePolymorphicAssignment}{gko::\+\+Enable\+Polymorphic\+Assignment$<$ Multi\+Vector$<$ default\+\_\+precision $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries result\+\_\+type}
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1batch_1_1MultiVector_a68f90594d971f41a3bb82c27e4b940fa}\label{classgko_1_1batch_1_1MultiVector_a68f90594d971f41a3bb82c27e4b940fa} 
void {\bfseries convert\+\_\+to} (Multi\+Vector$<$ \doxymbox{\hyperlink{namespacegko_aee37f85b217e5e26fe64207d41fa4bac}{next\+\_\+precision}}$<$ Value\+Type $>$ $>$ \texorpdfstring{$\ast$}{*}result) const override
\item 
\Hypertarget{classgko_1_1batch_1_1MultiVector_a7695a173ba4173a4e5b2147941aad004}\label{classgko_1_1batch_1_1MultiVector_a7695a173ba4173a4e5b2147941aad004} 
void {\bfseries move\+\_\+to} (Multi\+Vector$<$ \doxymbox{\hyperlink{namespacegko_aee37f85b217e5e26fe64207d41fa4bac}{next\+\_\+precision}}$<$ Value\+Type $>$ $>$ \texorpdfstring{$\ast$}{*}result) override
\item 
std::\+unique\+\_\+ptr$<$ unbatch\+\_\+type $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_aae43f4d06d668c881b1c023831f7bf40}{create\+\_\+view\+\_\+for\+\_\+item}} (\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} item\+\_\+id)
\begin{DoxyCompactList}\small\item\em Creates a mutable view (of \doxylink{classgko_1_1batch_1_1matrix_1_1Dense}{matrix::\+\+Dense} type) of one item of the Batch \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} object. \end{DoxyCompactList}\item 
std::\+unique\+\_\+ptr$<$ const unbatch\+\_\+type $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_afa4fb271979d809ecac809a9a04a5cd5}{create\+\_\+const\+\_\+view\+\_\+for\+\_\+item}} (\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} item\+\_\+id) const
\begin{DoxyCompactList}\small\item\em Creates a mutable view (of \doxylink{classgko_1_1batch_1_1matrix_1_1Dense}{matrix::\+\+Dense} type) of one item of the Batch \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} object.    \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{structgko_1_1batch__dim}{batch\+\_\+dim}}$<$ 2 $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_aaa04c8cc77f0e297b73099fd5c8b922c}{get\+\_\+size}} () const
\begin{DoxyCompactList}\small\item\em Returns the batch size. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a7e866dde6ed93bfb3489a74da31c82a6}{get\+\_\+num\+\_\+batch\+\_\+items}} () const
\begin{DoxyCompactList}\small\item\em Returns the number of batch items. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{structgko_1_1dim}{dim}}$<$ 2 $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a53513d38739f579a24242ac08d2c7a5c}{get\+\_\+common\+\_\+size}} () const
\begin{DoxyCompactList}\small\item\em Returns the common size of the batch items. \end{DoxyCompactList}\item 
value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a4e5edafa2d6328ffe0823b18ab433b13}{get\+\_\+values}} () noexcept
\begin{DoxyCompactList}\small\item\em Returns a pointer to the array of values of the multi-\/vector. \end{DoxyCompactList}\item 
const value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_aaf49c3d6c0c99f1af1803ec1502e0332}{get\+\_\+const\+\_\+values}} () const noexcept
\begin{DoxyCompactList}\small\item\em Returns a pointer to the array of values of the multi-\/vector.    \end{DoxyCompactList}\item 
value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a0a16eb2a0012ccc86163976d316f30df}{get\+\_\+values\+\_\+for\+\_\+item}} (\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} batch\+\_\+id) noexcept
\begin{DoxyCompactList}\small\item\em Returns a pointer to the array of values of the multi-\/vector for a specific batch item. \end{DoxyCompactList}\item 
const value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a26b678ad1d0337ffb7c411dccd6ec7b6}{get\+\_\+const\+\_\+values\+\_\+for\+\_\+item}} (\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} batch\+\_\+id) const noexcept
\begin{DoxyCompactList}\small\item\em Returns a pointer to the array of values of the multi-\/vector for a specific batch item.    \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a9218ea22b110991a45a797b983c98897}{get\+\_\+num\+\_\+stored\+\_\+elements}} () const noexcept
\begin{DoxyCompactList}\small\item\em Returns the number of elements explicitly stored in the batch matrix, cumulative across all the batch items. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a25f8de26b81b428d44914d99eb24a853}{get\+\_\+cumulative\+\_\+offset}} (\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} batch\+\_\+id) const
\begin{DoxyCompactList}\small\item\em Get the cumulative storage size offset. \end{DoxyCompactList}\item 
value\+\_\+type \& \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_aefdac4009138aa3e5bdf8e7e3fafaf77}{at}} (\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} batch\+\_\+id, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} row, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} col)
\begin{DoxyCompactList}\small\item\em Returns a single element for a particular batch item. \end{DoxyCompactList}\item 
value\+\_\+type \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_adb9b8a1052dffd0e065123b8d402b5cb}{at}} (\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} batch\+\_\+id, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} row, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} col) const
\begin{DoxyCompactList}\small\item\em Returns a single element for a particular batch item.    \end{DoxyCompactList}\item 
Value\+Type \& \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a73fe70d021fdff576141021fab64e91b}{at}} (\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} batch\+\_\+id, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} idx) noexcept
\begin{DoxyCompactList}\small\item\em Returns a single element for a particular batch item. \end{DoxyCompactList}\item 
Value\+Type \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a9cdff419d416bb89a24e1082db3d7a68}{at}} (\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} batch\+\_\+id, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} idx) const noexcept
\begin{DoxyCompactList}\small\item\em Returns a single element for a particular batch item.    \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a298cd5dc53de21cf1c20bbbd2d3d20db}{scale}} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const Multi\+Vector$<$ Value\+Type $>$ $>$ alpha)
\begin{DoxyCompactList}\small\item\em Scales the vector with a scalar (aka:\+ BLAS scal). \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_acc3e19e9cac497c2192e0529996644a4}{add\+\_\+scaled}} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const Multi\+Vector$<$ Value\+Type $>$ $>$ alpha, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const Multi\+Vector$<$ Value\+Type $>$ $>$ b)
\begin{DoxyCompactList}\small\item\em Adds {\ttfamily b} scaled by {\ttfamily alpha} to the vector (aka:\+ BLAS axpy). \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a5d42e703310b579e559e86eb8d287687}{compute\+\_\+dot}} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const Multi\+Vector$<$ Value\+Type $>$ $>$ b, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ Multi\+Vector$<$ Value\+Type $>$ $>$ result) const
\begin{DoxyCompactList}\small\item\em Computes the column-\/wise dot product of each multi-\/vector in this batch and its corresponding entry in {\ttfamily b}. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a1701f7af0929ec37d23383ab2e8da19e}{compute\+\_\+conj\+\_\+dot}} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const Multi\+Vector$<$ Value\+Type $>$ $>$ b, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ Multi\+Vector$<$ Value\+Type $>$ $>$ result) const
\begin{DoxyCompactList}\small\item\em Computes the column-\/wise conjugate dot product of each multi-\/vector in this batch and its corresponding entry in {\ttfamily b}. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_ad6485053588dcae4b968ac35c8f51b61}{compute\+\_\+norm2}} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ Multi\+Vector$<$ \doxymbox{\hyperlink{namespacegko_a107302a750bfa82a2107c77293f791c9}{remove\+\_\+complex}}$<$ Value\+Type $>$ $>$ $>$ result) const
\begin{DoxyCompactList}\small\item\em Computes the Euclidean (L\texorpdfstring{$^\wedge$}{\string^}2) norm of each multi-\/vector in this batch. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a5faa1c1dee3e390d73d5df10b51377c9}{fill}} (Value\+Type value)
\begin{DoxyCompactList}\small\item\em Fills the input \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} with a given value. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1EnablePolymorphicAssignment}{gko::\+\+Enable\+Polymorphic\+Assignment$<$ Multi\+Vector$<$ 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$<$ Multi\+Vector $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_ae2d65af2d11281df061b9e3284e2e7c1}{create\+\_\+with\+\_\+config\+\_\+of}} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const Multi\+Vector $>$ other)
\begin{DoxyCompactList}\small\item\em Creates a \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} with the configuration of another \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}. \end{DoxyCompactList}\item 
static std::\+unique\+\_\+ptr$<$ Multi\+Vector $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a4e42643068731d91682869a7f942bfd4}{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 uninitialized multi-\/vector of the specified size. \end{DoxyCompactList}\item 
static std::\+unique\+\_\+ptr$<$ Multi\+Vector $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a53d40b0b6ae2a48771f0c8f372209357}{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{classgko_1_1array}{array}}$<$ value\+\_\+type $>$ values)
\begin{DoxyCompactList}\small\item\em Creates a \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} from an already allocated (and initialized) array. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Input\+Value\+Type$>$ }\\static std::\+unique\+\_\+ptr$<$ Multi\+Vector $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a1ca760a9da9b6f5aac2566cdad48d8ec}{create}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$ exec, const \doxymbox{\hyperlink{structgko_1_1batch__dim}{batch\+\_\+dim}}$<$ 2 $>$ \&size, std::\+initializer\+\_\+list$<$ Input\+Value\+Type $>$ values)
\begin{DoxyCompactList}\small\item\em create(std::\+shared\+\_\+ptr$<$const\+Executor$>$, const batch\+\_\+dim$<$2$>$\&, array$<$value\+\_\+type$>$) \end{DoxyCompactList}\item 
static std::\+unique\+\_\+ptr$<$ const Multi\+Vector $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_ab95f20510750e6e1991959d90b6eec39}{create\+\_\+const}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$ exec, const \doxymbox{\hyperlink{structgko_1_1batch__dim}{batch\+\_\+dim}}$<$ 2 $>$ \&sizes, gko::\+detail::\+const\+\_\+array\+\_\+view$<$ Value\+Type $>$ \&\&values)
\begin{DoxyCompactList}\small\item\em Creates a constant (immutable) batch multi-\/vector from a constant array. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1batch_1_1MultiVector_a6506dc0c9bdbd116867c3a9a8b75e72a}\label{classgko_1_1batch_1_1MultiVector_a6506dc0c9bdbd116867c3a9a8b75e72a} 
class {\bfseries Enable\+Polymorphic\+Object$<$ Multi\+Vector $>$}
\item 
\Hypertarget{classgko_1_1batch_1_1MultiVector_a5988165a6eae958af9f37eca18360e52}\label{classgko_1_1batch_1_1MultiVector_a5988165a6eae958af9f37eca18360e52} 
class {\bfseries Multi\+Vector$<$ to\+\_\+complex$<$ Value\+Type $>$ $>$}
\item 
\Hypertarget{classgko_1_1batch_1_1MultiVector_a536cdd6918b5243706e0f44b13524c37}\label{classgko_1_1batch_1_1MultiVector_a536cdd6918b5243706e0f44b13524c37} 
class {\bfseries Multi\+Vector$<$ previous\+\_\+precision$<$ Value\+Type $>$ $>$}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Value\+Type = default\+\_\+precision$>$\newline
class gko::\+batch::\+\+Multi\+Vector$<$ Value\+Type $>$}
\doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} stores multiple vectors in a batched fashion and is useful for batched operations. 

For example, if you want to store two batch items with multi-\/vectors of size (3 x 2) given below:\+

\+[1 2 ; 3 4 1 2 ; 3 4 1 2 ; 3 4]\+

In memory, they would be stored as a single array:\+ \+[1 2 1 2 1 2 3 4 3 4 3 4]\+.

Access functions @at can help access individual item if necessary.

The values of the different batch items are stored consecutively and in each batch item, the multi-\/vectors are stored in a row-\/major fashion.


\begin{DoxyTemplParams}{Template Parameters}
{\em Value\+Type} & precision of multi-\/vector elements \\
\hline
\end{DoxyTemplParams}


\label{doc-func-members}
\Hypertarget{classgko_1_1batch_1_1MultiVector_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{classgko_1_1batch_1_1MultiVector_acc3e19e9cac497c2192e0529996644a4}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!add\_scaled@{add\_scaled}}
\index{add\_scaled@{add\_scaled}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{add\_scaled()}{add\_scaled()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_acc3e19e9cac497c2192e0529996644a4} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
void \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+add\+\_\+scaled (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const Multi\+Vector$<$ Value\+Type $>$ $>$}]{alpha}{, }\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const Multi\+Vector$<$ Value\+Type $>$ $>$}]{b}{}\end{DoxyParamCaption})}



Adds {\ttfamily b} scaled by {\ttfamily alpha} to the vector (aka:\+ BLAS axpy). 


\begin{DoxyParams}{Parameters}
{\em alpha} & the scalar \\
\hline
{\em b} & a multi-\/vector of the same dimension as this\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
If alpha is 1x1 \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} matrix, the entire multi-\/vector (all batches) is scaled by alpha. If it is a \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} row vector of values, then i-\/th column of the vector is scaled with the i-\/th element of alpha (the number of columns of alpha has to match the number of columns of the multi-\/vector). 
\end{DoxyNote}
\Hypertarget{classgko_1_1batch_1_1MultiVector_a9cdff419d416bb89a24e1082db3d7a68}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!at@{at}}
\index{at@{at}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{at()}{at()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a9cdff419d416bb89a24e1082db3d7a68} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
Value\+Type \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+at (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{batch\+\_\+id}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{idx}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns a single element for a particular batch item.    


\begin{DoxyParams}{Parameters}
{\em batch\+\_\+id} & the batch item index to be queried \\
\hline
{\em row} & the row of the requested element \\
\hline
{\em col} & the column of the requested element\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
the method has to be called on the same \doxylink{classgko_1_1Executor}{Executor} the vector is stored at (e.\+g. trying to call this method on a GPU multi-\/vector from the OMP results in a runtime error)    
\end{DoxyNote}
\Hypertarget{classgko_1_1batch_1_1MultiVector_a73fe70d021fdff576141021fab64e91b}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!at@{at}}
\index{at@{at}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{at()}{at()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a73fe70d021fdff576141021fab64e91b} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
Value\+Type \& \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+at (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{batch\+\_\+id}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{idx}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns a single element for a particular batch item. 

Useful for iterating across all elements of the vector. However, it is less efficient than the two-\/parameter variant of this method.


\begin{DoxyParams}{Parameters}
{\em batch\+\_\+id} & the batch item index to be queried \\
\hline
{\em idx} & a linear index of the requested element\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
the method has to be called on the same \doxylink{classgko_1_1Executor}{Executor} the vector is stored at (e.\+g. trying to call this method on a GPU multi-\/vector from the OMP results in a runtime error) 
\end{DoxyNote}
\Hypertarget{classgko_1_1batch_1_1MultiVector_aefdac4009138aa3e5bdf8e7e3fafaf77}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!at@{at}}
\index{at@{at}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{at()}{at()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_aefdac4009138aa3e5bdf8e7e3fafaf77} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
value\+\_\+type \& \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+at (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{batch\+\_\+id}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{row}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{col}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Returns a single element for a particular batch item. 


\begin{DoxyParams}{Parameters}
{\em batch\+\_\+id} & the batch item index to be queried \\
\hline
{\em row} & the row of the requested element \\
\hline
{\em col} & the column of the requested element\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
the method has to be called on the same \doxylink{classgko_1_1Executor}{Executor} the vector is stored at (e.\+g. trying to call this method on a GPU multi-\/vector from the OMP results in a runtime error) 
\end{DoxyNote}


References \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a7e866dde6ed93bfb3489a74da31c82a6}{get\+\_\+num\+\_\+batch\+\_\+items()}}.

\Hypertarget{classgko_1_1batch_1_1MultiVector_adb9b8a1052dffd0e065123b8d402b5cb}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!at@{at}}
\index{at@{at}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{at()}{at()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_adb9b8a1052dffd0e065123b8d402b5cb} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
value\+\_\+type \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+at (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{batch\+\_\+id}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{row}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{col}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns a single element for a particular batch item.    


\begin{DoxyParams}{Parameters}
{\em batch\+\_\+id} & the batch item index to be queried \\
\hline
{\em row} & the row of the requested element \\
\hline
{\em col} & the column of the requested element\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
the method has to be called on the same \doxylink{classgko_1_1Executor}{Executor} the vector is stored at (e.\+g. trying to call this method on a GPU multi-\/vector from the OMP results in a runtime error)    
\end{DoxyNote}


References \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a7e866dde6ed93bfb3489a74da31c82a6}{get\+\_\+num\+\_\+batch\+\_\+items()}}.

\Hypertarget{classgko_1_1batch_1_1MultiVector_a1701f7af0929ec37d23383ab2e8da19e}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!compute\_conj\_dot@{compute\_conj\_dot}}
\index{compute\_conj\_dot@{compute\_conj\_dot}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{compute\_conj\_dot()}{compute\_conj\_dot()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a1701f7af0929ec37d23383ab2e8da19e} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
void \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+compute\+\_\+conj\+\_\+dot (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const Multi\+Vector$<$ Value\+Type $>$ $>$}]{b}{, }\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ Multi\+Vector$<$ Value\+Type $>$ $>$}]{result}{}\end{DoxyParamCaption}) const}



Computes the column-\/wise conjugate dot product of each multi-\/vector in this batch and its corresponding entry in {\ttfamily b}. 

If the vector has complex value\+\_\+type, then the conjugate of this is taken.


\begin{DoxyParams}{Parameters}
{\em b} & a \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} of same dimension as this \\
\hline
{\em result} & a \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} row vector, used to store the dot product (the number of column in the vector must match the number of columns of this) \\
\hline
\end{DoxyParams}
\Hypertarget{classgko_1_1batch_1_1MultiVector_a5d42e703310b579e559e86eb8d287687}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!compute\_dot@{compute\_dot}}
\index{compute\_dot@{compute\_dot}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{compute\_dot()}{compute\_dot()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a5d42e703310b579e559e86eb8d287687} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
void \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+compute\+\_\+dot (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const Multi\+Vector$<$ Value\+Type $>$ $>$}]{b}{, }\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ Multi\+Vector$<$ Value\+Type $>$ $>$}]{result}{}\end{DoxyParamCaption}) const}



Computes the column-\/wise dot product of each multi-\/vector in this batch and its corresponding entry in {\ttfamily b}. 


\begin{DoxyParams}{Parameters}
{\em b} & a \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} of same dimension as this \\
\hline
{\em result} & a \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} row vector, used to store the dot product \\
\hline
\end{DoxyParams}
\Hypertarget{classgko_1_1batch_1_1MultiVector_ad6485053588dcae4b968ac35c8f51b61}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!compute\_norm2@{compute\_norm2}}
\index{compute\_norm2@{compute\_norm2}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{compute\_norm2()}{compute\_norm2()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_ad6485053588dcae4b968ac35c8f51b61} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
void \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+compute\+\_\+norm2 (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ Multi\+Vector$<$ \doxymbox{\hyperlink{namespacegko_a107302a750bfa82a2107c77293f791c9}{remove\+\_\+complex}}$<$ Value\+Type $>$ $>$ $>$}]{result}{}\end{DoxyParamCaption}) const}



Computes the Euclidean (L\texorpdfstring{$^\wedge$}{\string^}2) norm of each multi-\/vector in this batch. 


\begin{DoxyParams}{Parameters}
{\em result} & a \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}, used to store the norm (the number of columns in the vector must match the number of columns of this) \\
\hline
\end{DoxyParams}
\Hypertarget{classgko_1_1batch_1_1MultiVector_a53d40b0b6ae2a48771f0c8f372209357}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!create@{create}}
\index{create@{create}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a53d40b0b6ae2a48771f0c8f372209357} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
std::\+unique\+\_\+ptr$<$ Multi\+Vector $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ 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}{, }\item[{\doxymbox{\hyperlink{classgko_1_1array}{array}}$<$ value\+\_\+type $>$}]{values}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Creates a \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} from an already allocated (and initialized) array. 


\begin{DoxyParams}{Parameters}
{\em exec} & \doxylink{classgko_1_1Executor}{Executor} associated to the vector \\
\hline
{\em size} & sizes of the batch matrices in a \doxylink{structgko_1_1batch__dim}{batch\+\_\+dim} object \\
\hline
{\em values} & array of values\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
If {\ttfamily values} is not an rvalue, not an array of Value\+Type, or is on the wrong executor, an internal copy will be created, and the original array data will not be used in the vector. 
\end{DoxyNote}
\Hypertarget{classgko_1_1batch_1_1MultiVector_a1ca760a9da9b6f5aac2566cdad48d8ec}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!create@{create}}
\index{create@{create}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a1ca760a9da9b6f5aac2566cdad48d8ec} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
template$<$typename Input\+Value\+Type$>$ \\
std::\+unique\+\_\+ptr$<$ Multi\+Vector $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ 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}{, }\item[{std::\+initializer\+\_\+list$<$ Input\+Value\+Type $>$}]{values}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



create(std::\+shared\+\_\+ptr$<$const\+Executor$>$, const batch\+\_\+dim$<$2$>$\&, array$<$value\+\_\+type$>$) 

create(std::\+shared\+\_\+ptr$<$const\+Executor$>$, const batch\+\_\+dim$<$2$>$\&, array$<$value\+\_\+type$>$) 

References \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a4e42643068731d91682869a7f942bfd4}{create()}}.

\Hypertarget{classgko_1_1batch_1_1MultiVector_a4e42643068731d91682869a7f942bfd4}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!create@{create}}
\index{create@{create}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a4e42643068731d91682869a7f942bfd4} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
std::\+unique\+\_\+ptr$<$ Multi\+Vector $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ 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 uninitialized multi-\/vector of the specified size. 


\begin{DoxyParams}{Parameters}
{\em exec} & \doxylink{classgko_1_1Executor}{Executor} associated to the vector \\
\hline
{\em size} & size of the batch multi vector\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A smart pointer to the newly created matrix. 
\end{DoxyReturn}


Referenced by \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a1ca760a9da9b6f5aac2566cdad48d8ec}{create()}}.

\Hypertarget{classgko_1_1batch_1_1MultiVector_ab95f20510750e6e1991959d90b6eec39}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!create\_const@{create\_const}}
\index{create\_const@{create\_const}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{create\_const()}{create\_const()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_ab95f20510750e6e1991959d90b6eec39} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
std::\+unique\+\_\+ptr$<$ const Multi\+Vector $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+create\+\_\+const (\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 $>$ \&}]{sizes}{, }\item[{gko::\+detail::\+const\+\_\+array\+\_\+view$<$ Value\+Type $>$ \&\&}]{values}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Creates a constant (immutable) batch multi-\/vector from a constant array. 


\begin{DoxyParams}{Parameters}
{\em exec} & the executor to create the vector on \\
\hline
{\em size} & the dimensions of the vector \\
\hline
{\em values} & the value array of the vector \\
\hline
{\em stride} & the row-\/stride of the vector\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A smart pointer to the constant multi-\/vector wrapping the input array (if it resides on the same executor as the vector) or a copy of the array on the correct executor. 
\end{DoxyReturn}
\Hypertarget{classgko_1_1batch_1_1MultiVector_afa4fb271979d809ecac809a9a04a5cd5}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!create\_const\_view\_for\_item@{create\_const\_view\_for\_item}}
\index{create\_const\_view\_for\_item@{create\_const\_view\_for\_item}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{create\_const\_view\_for\_item()}{create\_const\_view\_for\_item()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_afa4fb271979d809ecac809a9a04a5cd5} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
std::\+unique\+\_\+ptr$<$ const unbatch\+\_\+type $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+create\+\_\+const\+\_\+view\+\_\+for\+\_\+item (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{item\+\_\+id}{}\end{DoxyParamCaption}) const}



Creates a mutable view (of \doxylink{classgko_1_1batch_1_1matrix_1_1Dense}{matrix::\+\+Dense} type) of one item of the Batch \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} object.    

Does not perform any deep copies, but only returns a view of the data.


\begin{DoxyParams}{Parameters}
{\em item\+\_\+id} & The index of the batch item\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a \doxylink{classgko_1_1batch_1_1matrix_1_1Dense}{matrix::\+\+Dense} object with the data from the batch item at the given index.    
\end{DoxyReturn}
\Hypertarget{classgko_1_1batch_1_1MultiVector_aae43f4d06d668c881b1c023831f7bf40}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!create\_view\_for\_item@{create\_view\_for\_item}}
\index{create\_view\_for\_item@{create\_view\_for\_item}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{create\_view\_for\_item()}{create\_view\_for\_item()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_aae43f4d06d668c881b1c023831f7bf40} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
std::\+unique\+\_\+ptr$<$ unbatch\+\_\+type $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+create\+\_\+view\+\_\+for\+\_\+item (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{item\+\_\+id}{}\end{DoxyParamCaption})}



Creates a mutable view (of \doxylink{classgko_1_1batch_1_1matrix_1_1Dense}{matrix::\+\+Dense} type) of one item of the Batch \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} object. 

Does not perform any deep copies, but only returns a view of the data.


\begin{DoxyParams}{Parameters}
{\em item\+\_\+id} & The index of the batch item\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a \doxylink{classgko_1_1batch_1_1matrix_1_1Dense}{matrix::\+\+Dense} object with the data from the batch item at the given index. 
\end{DoxyReturn}
\Hypertarget{classgko_1_1batch_1_1MultiVector_ae2d65af2d11281df061b9e3284e2e7c1}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!create\_with\_config\_of@{create\_with\_config\_of}}
\index{create\_with\_config\_of@{create\_with\_config\_of}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{create\_with\_config\_of()}{create\_with\_config\_of()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_ae2d65af2d11281df061b9e3284e2e7c1} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
std::\+unique\+\_\+ptr$<$ Multi\+Vector $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+create\+\_\+with\+\_\+config\+\_\+of (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const Multi\+Vector$<$ Value\+Type $>$ $>$}]{other}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Creates a \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} with the configuration of another \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}. 


\begin{DoxyParams}{Parameters}
{\em other} & The other multi-\/vector whose configuration needs to copied. \\
\hline
\end{DoxyParams}
\Hypertarget{classgko_1_1batch_1_1MultiVector_a5faa1c1dee3e390d73d5df10b51377c9}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!fill@{fill}}
\index{fill@{fill}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{fill()}{fill()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a5faa1c1dee3e390d73d5df10b51377c9} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
void \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+fill (\begin{DoxyParamCaption}\item[{Value\+Type}]{value}{}\end{DoxyParamCaption})}



Fills the input \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} with a given value. 


\begin{DoxyParams}{Parameters}
{\em value} & the value to be filled \\
\hline
\end{DoxyParams}
\Hypertarget{classgko_1_1batch_1_1MultiVector_a53513d38739f579a24242ac08d2c7a5c}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!get\_common\_size@{get\_common\_size}}
\index{get\_common\_size@{get\_common\_size}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{get\_common\_size()}{get\_common\_size()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a53513d38739f579a24242ac08d2c7a5c} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
\doxymbox{\hyperlink{structgko_1_1dim}{dim}}$<$ 2 $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+get\+\_\+common\+\_\+size (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns the common size of the batch items. 

\begin{DoxyReturn}{Returns}
the common size stored 
\end{DoxyReturn}


Referenced by \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a25f8de26b81b428d44914d99eb24a853}{get\+\_\+cumulative\+\_\+offset()}}, \doxymbox{\hyperlink{classgko_1_1batch_1_1BatchLinOp_a8f14ea87e7698b874d335774eb454e12}{gko::\+batch::\+\+Batch\+Lin\+Op::\+validate\+\_\+application\+\_\+parameters()}}, and \doxymbox{\hyperlink{classgko_1_1batch_1_1BatchLinOp_a86f750708b3f8cdff5830276cb339ece}{gko::\+batch::\+\+Batch\+Lin\+Op::\+validate\+\_\+application\+\_\+parameters()}}.

\Hypertarget{classgko_1_1batch_1_1MultiVector_aaf49c3d6c0c99f1af1803ec1502e0332}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!get\_const\_values@{get\_const\_values}}
\index{get\_const\_values@{get\_const\_values}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{get\_const\_values()}{get\_const\_values()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_aaf49c3d6c0c99f1af1803ec1502e0332} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
const value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+get\+\_\+const\+\_\+values (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns a pointer to the array of values of the multi-\/vector.    

\begin{DoxyReturn}{Returns}
the pointer to the array of values   
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This is the constant version of the function, which can be significantly more memory efficient than the non-\/constant version, so always prefer this version. 
\end{DoxyNote}
\Hypertarget{classgko_1_1batch_1_1MultiVector_a26b678ad1d0337ffb7c411dccd6ec7b6}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!get\_const\_values\_for\_item@{get\_const\_values\_for\_item}}
\index{get\_const\_values\_for\_item@{get\_const\_values\_for\_item}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{get\_const\_values\_for\_item()}{get\_const\_values\_for\_item()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a26b678ad1d0337ffb7c411dccd6ec7b6} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
const value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+get\+\_\+const\+\_\+values\+\_\+for\+\_\+item (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{batch\+\_\+id}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns a pointer to the array of values of the multi-\/vector for a specific batch item.    


\begin{DoxyParams}{Parameters}
{\em batch\+\_\+id} & the id of the batch item.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the pointer to the array of values   
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This is the constant version of the function, which can be significantly more memory efficient than the non-\/constant version, so always prefer this version. 
\end{DoxyNote}


References \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a25f8de26b81b428d44914d99eb24a853}{get\+\_\+cumulative\+\_\+offset()}}, and \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a7e866dde6ed93bfb3489a74da31c82a6}{get\+\_\+num\+\_\+batch\+\_\+items()}}.

\Hypertarget{classgko_1_1batch_1_1MultiVector_a25f8de26b81b428d44914d99eb24a853}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!get\_cumulative\_offset@{get\_cumulative\_offset}}
\index{get\_cumulative\_offset@{get\_cumulative\_offset}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{get\_cumulative\_offset()}{get\_cumulative\_offset()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a25f8de26b81b428d44914d99eb24a853} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+get\+\_\+cumulative\+\_\+offset (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{batch\+\_\+id}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the cumulative storage size offset. 


\begin{DoxyParams}{Parameters}
{\em batch\+\_\+id} & the batch id\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the cumulative offset 
\end{DoxyReturn}


References \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a53513d38739f579a24242ac08d2c7a5c}{get\+\_\+common\+\_\+size()}}.



Referenced by \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a26b678ad1d0337ffb7c411dccd6ec7b6}{get\+\_\+const\+\_\+values\+\_\+for\+\_\+item()}}, and \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a0a16eb2a0012ccc86163976d316f30df}{get\+\_\+values\+\_\+for\+\_\+item()}}.

\Hypertarget{classgko_1_1batch_1_1MultiVector_a7e866dde6ed93bfb3489a74da31c82a6}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!get\_num\_batch\_items@{get\_num\_batch\_items}}
\index{get\_num\_batch\_items@{get\_num\_batch\_items}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{get\_num\_batch\_items()}{get\_num\_batch\_items()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a7e866dde6ed93bfb3489a74da31c82a6} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+get\+\_\+num\+\_\+batch\+\_\+items (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns the number of batch items. 

\begin{DoxyReturn}{Returns}
the number of batch items 
\end{DoxyReturn}


Referenced by \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_aefdac4009138aa3e5bdf8e7e3fafaf77}{at()}}, \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_adb9b8a1052dffd0e065123b8d402b5cb}{at()}}, \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a26b678ad1d0337ffb7c411dccd6ec7b6}{get\+\_\+const\+\_\+values\+\_\+for\+\_\+item()}}, \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a0a16eb2a0012ccc86163976d316f30df}{get\+\_\+values\+\_\+for\+\_\+item()}}, \doxymbox{\hyperlink{classgko_1_1batch_1_1BatchLinOp_a8f14ea87e7698b874d335774eb454e12}{gko::\+batch::\+\+Batch\+Lin\+Op::\+validate\+\_\+application\+\_\+parameters()}}, and \doxymbox{\hyperlink{classgko_1_1batch_1_1BatchLinOp_a86f750708b3f8cdff5830276cb339ece}{gko::\+batch::\+\+Batch\+Lin\+Op::\+validate\+\_\+application\+\_\+parameters()}}.

\Hypertarget{classgko_1_1batch_1_1MultiVector_a9218ea22b110991a45a797b983c98897}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!get\_num\_stored\_elements@{get\_num\_stored\_elements}}
\index{get\_num\_stored\_elements@{get\_num\_stored\_elements}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{get\_num\_stored\_elements()}{get\_num\_stored\_elements()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a9218ea22b110991a45a797b983c98897} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+get\+\_\+num\+\_\+stored\+\_\+elements (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the number of elements explicitly stored in the batch matrix, cumulative across all the batch items. 

\begin{DoxyReturn}{Returns}
the number of elements explicitly stored in the vector, cumulative across all the batch items 
\end{DoxyReturn}
\Hypertarget{classgko_1_1batch_1_1MultiVector_aaa04c8cc77f0e297b73099fd5c8b922c}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!get\_size@{get\_size}}
\index{get\_size@{get\_size}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{get\_size()}{get\_size()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_aaa04c8cc77f0e297b73099fd5c8b922c} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
\doxymbox{\hyperlink{structgko_1_1batch__dim}{batch\+\_\+dim}}$<$ 2 $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+get\+\_\+size (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns the batch size. 

\begin{DoxyReturn}{Returns}
the batch size 
\end{DoxyReturn}
\Hypertarget{classgko_1_1batch_1_1MultiVector_a4e5edafa2d6328ffe0823b18ab433b13}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!get\_values@{get\_values}}
\index{get\_values@{get\_values}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{get\_values()}{get\_values()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a4e5edafa2d6328ffe0823b18ab433b13} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+get\+\_\+values (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns a pointer to the array of values of the multi-\/vector. 

\begin{DoxyReturn}{Returns}
the pointer to the array of values 
\end{DoxyReturn}
\Hypertarget{classgko_1_1batch_1_1MultiVector_a0a16eb2a0012ccc86163976d316f30df}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!get\_values\_for\_item@{get\_values\_for\_item}}
\index{get\_values\_for\_item@{get\_values\_for\_item}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{get\_values\_for\_item()}{get\_values\_for\_item()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a0a16eb2a0012ccc86163976d316f30df} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+get\+\_\+values\+\_\+for\+\_\+item (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{batch\+\_\+id}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns a pointer to the array of values of the multi-\/vector for a specific batch item. 


\begin{DoxyParams}{Parameters}
{\em batch\+\_\+id} & the id of the batch item.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the pointer to the array of values 
\end{DoxyReturn}


References \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a25f8de26b81b428d44914d99eb24a853}{get\+\_\+cumulative\+\_\+offset()}}, and \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector_a7e866dde6ed93bfb3489a74da31c82a6}{get\+\_\+num\+\_\+batch\+\_\+items()}}.

\Hypertarget{classgko_1_1batch_1_1MultiVector_a298cd5dc53de21cf1c20bbbd2d3d20db}\index{gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}!scale@{scale}}
\index{scale@{scale}!gko::batch::MultiVector$<$ ValueType $>$@{gko::batch::MultiVector$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{scale()}{scale()}}
{\footnotesize\ttfamily \label{classgko_1_1batch_1_1MultiVector_a298cd5dc53de21cf1c20bbbd2d3d20db} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
void \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{gko::\+batch::\+\+Multi\+Vector}}$<$ Value\+Type $>$::\+scale (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const Multi\+Vector$<$ Value\+Type $>$ $>$}]{alpha}{}\end{DoxyParamCaption})}



Scales the vector with a scalar (aka:\+ BLAS scal). 


\begin{DoxyParams}{Parameters}
{\em alpha} & the scalar\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
If alpha is 1x1 \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} matrix, the entire multi-\/vector (all batches) is scaled by alpha. If it is a \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} row vector of values, then i-\/th column of the vector is scaled with the i-\/th element of alpha (the number of columns of alpha has to match the number of columns of the multi-\/vector). If it is a \doxylink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector} of the same size as this, then an element wise scaling is performed. 
\end{DoxyNote}


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