\doxysection{gko::\+matrix::\+Ell\texorpdfstring{$<$}{<} Value\+Type, Index\+Type \texorpdfstring{$>$}{>} Class Template Reference}
\hypertarget{classgko_1_1matrix_1_1Ell}{}\label{classgko_1_1matrix_1_1Ell}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}


ELL is a matrix format where stride with explicit zeros is used such that all rows have the same number of stored elements.  




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



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


Collaboration diagram for gko::\+matrix::\+Ell\texorpdfstring{$<$}{<} Value\+Type, Index\+Type \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classgko_1_1matrix_1_1Ell__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_ae56802e0bd9f47e3d0029b6fdb37db6e}\label{classgko_1_1matrix_1_1Ell_ae56802e0bd9f47e3d0029b6fdb37db6e} 
using {\bfseries value\+\_\+type} = Value\+Type
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_a17e4809eeab4d76c2887d57e9b4b3cc4}\label{classgko_1_1matrix_1_1Ell_a17e4809eeab4d76c2887d57e9b4b3cc4} 
using {\bfseries index\+\_\+type} = Index\+Type
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_a993ff3d650fa2f2c72777b856531163a}\label{classgko_1_1matrix_1_1Ell_a993ff3d650fa2f2c72777b856531163a} 
using {\bfseries mat\+\_\+data} = \doxymbox{\hyperlink{structgko_1_1matrix__data}{matrix\+\_\+data}}$<$Value\+Type, Index\+Type$>$
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_a540903440ffd066f515a298594fb365e}\label{classgko_1_1matrix_1_1Ell_a540903440ffd066f515a298594fb365e} 
using {\bfseries device\+\_\+mat\+\_\+data} = \doxymbox{\hyperlink{classgko_1_1device__matrix__data}{device\+\_\+matrix\+\_\+data}}$<$Value\+Type, Index\+Type$>$
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_acd351481953bc4482110d5cfe3de43ac}\label{classgko_1_1matrix_1_1Ell_acd351481953bc4482110d5cfe3de43ac} 
using {\bfseries absolute\+\_\+type} = \doxymbox{\hyperlink{namespacegko_a107302a750bfa82a2107c77293f791c9}{remove\+\_\+complex}}$<$\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}}$>$
\end{DoxyCompactItemize}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1EnablePolymorphicAssignment}{gko::\+\+Enable\+Polymorphic\+Assignment$<$ Ell$<$ default\+\_\+precision, int32 $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries result\+\_\+type}
\end{DoxyCompactItemize}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1DiagonalExtractable}{gko::\+\+Diagonal\+Extractable$<$ default\+\_\+precision $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries value\+\_\+type}
\end{DoxyCompactItemize}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1ReadableFromMatrixData}{gko::\+\+Readable\+From\+Matrix\+Data$<$ default\+\_\+precision, int32 $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries value\+\_\+type}
\item 
using {\bfseries index\+\_\+type}
\end{DoxyCompactItemize}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1WritableToMatrixData}{gko::\+\+Writable\+To\+Matrix\+Data$<$ default\+\_\+precision, int32 $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries value\+\_\+type}
\item 
using {\bfseries index\+\_\+type}
\end{DoxyCompactItemize}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1EnableAbsoluteComputation}{gko::\+\+Enable\+Absolute\+Computation$<$ remove\+\_\+complex$<$ Ell$<$ default\+\_\+precision, int32 $>$ $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries absolute\+\_\+type}
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_a27157e1cd5530327dc45c3f4162c7328}\label{classgko_1_1matrix_1_1Ell_a27157e1cd5530327dc45c3f4162c7328} 
void {\bfseries convert\+\_\+to} (\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}}$<$ \doxymbox{\hyperlink{namespacegko_aee37f85b217e5e26fe64207d41fa4bac}{next\+\_\+precision}}$<$ Value\+Type $>$, Index\+Type $>$ \texorpdfstring{$\ast$}{*}result) const override
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_a7a3f5a0133c4b3736bec99f90844e328}\label{classgko_1_1matrix_1_1Ell_a7a3f5a0133c4b3736bec99f90844e328} 
void {\bfseries move\+\_\+to} (\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}}$<$ \doxymbox{\hyperlink{namespacegko_aee37f85b217e5e26fe64207d41fa4bac}{next\+\_\+precision}}$<$ Value\+Type $>$, Index\+Type $>$ \texorpdfstring{$\ast$}{*}result) override
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_ac7ffdfa4fa0b75b47f49a1373995c1c8}\label{classgko_1_1matrix_1_1Ell_ac7ffdfa4fa0b75b47f49a1373995c1c8} 
void {\bfseries convert\+\_\+to} (\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense}}$<$ Value\+Type $>$ \texorpdfstring{$\ast$}{*}other) const override
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_aafff71fa45b090208cb6fa29ba495d37}\label{classgko_1_1matrix_1_1Ell_aafff71fa45b090208cb6fa29ba495d37} 
void {\bfseries move\+\_\+to} (\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense}}$<$ Value\+Type $>$ \texorpdfstring{$\ast$}{*}other) override
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_aa54a287350e098bd1e5f3b243c2ad0d9}\label{classgko_1_1matrix_1_1Ell_aa54a287350e098bd1e5f3b243c2ad0d9} 
void {\bfseries convert\+\_\+to} (\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr}}$<$ Value\+Type, Index\+Type $>$ \texorpdfstring{$\ast$}{*}other) const override
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_a5d2394c6dfe5568e6e82ab84fc779c40}\label{classgko_1_1matrix_1_1Ell_a5d2394c6dfe5568e6e82ab84fc779c40} 
void {\bfseries move\+\_\+to} (\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr}}$<$ Value\+Type, Index\+Type $>$ \texorpdfstring{$\ast$}{*}other) override
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_a2c877d9f7bbc57f97df5ab443954a6fd}\label{classgko_1_1matrix_1_1Ell_a2c877d9f7bbc57f97df5ab443954a6fd} 
void {\bfseries read} (const mat\+\_\+data \&data) override
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_a5eb0aea1411b32a23c428c11cc12d7d1}\label{classgko_1_1matrix_1_1Ell_a5eb0aea1411b32a23c428c11cc12d7d1} 
void {\bfseries read} (const device\+\_\+mat\+\_\+data \&data) override
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_ae7d5a9d64d7647253e67108caf15d07b}\label{classgko_1_1matrix_1_1Ell_ae7d5a9d64d7647253e67108caf15d07b} 
void {\bfseries read} (device\+\_\+mat\+\_\+data \&\&data) override
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_afa9148a16a9255003055d8e9156ee941}\label{classgko_1_1matrix_1_1Ell_afa9148a16a9255003055d8e9156ee941} 
void {\bfseries write} (mat\+\_\+data \&data) const override
\item 
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Diagonal}{Diagonal}}$<$ Value\+Type $>$ $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a61bddeccf89f00e80ee1e8d538094b7c}{extract\+\_\+diagonal}} () const override
\begin{DoxyCompactList}\small\item\em Extracts the diagonal entries of the matrix into a vector. \end{DoxyCompactList}\item 
std::\+unique\+\_\+ptr$<$ absolute\+\_\+type $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a72d92a2f7c4019c22e0490bd004b09e5}{compute\+\_\+absolute}} () const override
\begin{DoxyCompactList}\small\item\em Gets the Absolute\+Lin\+Op. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a53f95a9a1b58e2ccff2f0806a675cf08}{compute\+\_\+absolute\+\_\+inplace}} () override
\begin{DoxyCompactList}\small\item\em Compute absolute inplace on each element. \end{DoxyCompactList}\item 
value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a29d42d9e052570791f477b7bca04e322}{get\+\_\+values}} () noexcept
\begin{DoxyCompactList}\small\item\em Returns the values of the matrix. \end{DoxyCompactList}\item 
const value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_ade06917f98468e2863aed3e7c1f83548}{get\+\_\+const\+\_\+values}} () const noexcept
\begin{DoxyCompactList}\small\item\em Returns the values of the matrix.    \end{DoxyCompactList}\item 
index\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a6595659f6680eb1017b7ee77bbbb33c4}{get\+\_\+col\+\_\+idxs}} () noexcept
\begin{DoxyCompactList}\small\item\em Returns the column indexes of the matrix. \end{DoxyCompactList}\item 
const index\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_aa7336833c03bfb55b73023f4b73ef9c9}{get\+\_\+const\+\_\+col\+\_\+idxs}} () const noexcept
\begin{DoxyCompactList}\small\item\em Returns the column indexes of the matrix.    \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a08f9b04b356e58ab57d03ce335ff11ce}{get\+\_\+num\+\_\+stored\+\_\+elements\+\_\+per\+\_\+row}} () const noexcept
\begin{DoxyCompactList}\small\item\em Returns the number of stored elements per row. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a0be6e75dcea0975b10e3389a9eedacc1}{get\+\_\+stride}} () const noexcept
\begin{DoxyCompactList}\small\item\em Returns the stride of the matrix. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_aecca4e9cfb1e81958881c6dc3e2aa06f}{get\+\_\+num\+\_\+stored\+\_\+elements}} () const noexcept
\begin{DoxyCompactList}\small\item\em Returns the number of elements explicitly stored in the matrix. \end{DoxyCompactList}\item 
value\+\_\+type \& \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a000e6a621aca6cb0c1b5cf8b5bf7c63e}{val\+\_\+at}} (\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} row, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} idx) noexcept
\begin{DoxyCompactList}\small\item\em Returns the {\ttfamily idx}-\/th non-\/zero element of the {\ttfamily row}-\/th row . \end{DoxyCompactList}\item 
value\+\_\+type \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a3591fa0ab2ec09b43a15b0f0649d8ea3}{val\+\_\+at}} (\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} row, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} idx) const noexcept
\begin{DoxyCompactList}\small\item\em Returns the {\ttfamily idx}-\/th non-\/zero element of the {\ttfamily row}-\/th row .    \end{DoxyCompactList}\item 
index\+\_\+type \& \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_adeac644fe3d6266554a34a7805fcc0d7}{col\+\_\+at}} (\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} row, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} idx) noexcept
\begin{DoxyCompactList}\small\item\em Returns the {\ttfamily idx}-\/th column index of the {\ttfamily row}-\/th row . \end{DoxyCompactList}\item 
index\+\_\+type \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a1ac1702011ead4e56857de130b4a5301}{col\+\_\+at}} (\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} row, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} idx) const noexcept
\begin{DoxyCompactList}\small\item\em Returns the {\ttfamily idx}-\/th column index of the {\ttfamily row}-\/th row .    \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} \& \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_abccbac150ad147b2c3509e3ae7910d11}{operator=}} (const \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} \&)
\begin{DoxyCompactList}\small\item\em Copy-\/assigns an \doxylink{classgko_1_1matrix_1_1Ell}{Ell} matrix. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} \& \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a3b5d79c690ef048d549398427352c7f5}{operator=}} (\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} \&\&)
\begin{DoxyCompactList}\small\item\em Move-\/assigns an \doxylink{classgko_1_1matrix_1_1Ell}{Ell} matrix. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} (const Ell \&)
\begin{DoxyCompactList}\small\item\em Copy-\/constructs an \doxylink{classgko_1_1matrix_1_1Ell}{Ell} matrix. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a66cd3430f83f152ffb0b593ac158475b}{Ell}} (Ell \&\&)
\begin{DoxyCompactList}\small\item\em Move-\/constructs an \doxylink{classgko_1_1matrix_1_1Ell}{Ell} matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1EnableLinOp}{gko::\+\+Enable\+Lin\+Op$<$ Ell$<$ default\+\_\+precision, int32 $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
const Ell$<$ \doxymbox{\hyperlink{namespacegko_a89637c833af7ae805802226d97cebebf}{default\+\_\+precision}}, \doxymbox{\hyperlink{namespacegko_a16bd14c10900eb804d784908d8aab5ab}{int32}} $>$ \texorpdfstring{$\ast$}{*} {\bfseries apply} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ b, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ x) const
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1EnablePolymorphicAssignment}{gko::\+\+Enable\+Polymorphic\+Assignment$<$ Ell$<$ default\+\_\+precision, int32 $>$ $>$}}}
\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}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1DiagonalExtractable}{gko::\+\+Diagonal\+Extractable$<$ default\+\_\+precision $>$}}}
\begin{DoxyCompactItemize}
\item 
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1DiagonalExtractable_a7d41c0cb7b317402ea61bc145b82a9db}{extract\+\_\+diagonal\+\_\+linop}} () const override
\begin{DoxyCompactList}\small\item\em Extracts the diagonal entries of the matrix into a vector. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1ReadableFromMatrixData}{gko::\+\+Readable\+From\+Matrix\+Data$<$ default\+\_\+precision, int32 $>$}}}
\begin{DoxyCompactItemize}
\item 
virtual void \doxymbox{\hyperlink{classgko_1_1ReadableFromMatrixData_add5c12e23b3ac3c8fbd607fa5a9656bb}{read}} (const \doxymbox{\hyperlink{structgko_1_1matrix__data}{matrix\+\_\+data}}$<$ \doxymbox{\hyperlink{namespacegko_a89637c833af7ae805802226d97cebebf}{default\+\_\+precision}}, \doxymbox{\hyperlink{namespacegko_a16bd14c10900eb804d784908d8aab5ab}{int32}} $>$ \&data)=0
\begin{DoxyCompactList}\small\item\em Reads a matrix from a \doxylink{structgko_1_1matrix__data}{matrix\+\_\+data} structure. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1WritableToMatrixData}{gko::\+\+Writable\+To\+Matrix\+Data$<$ default\+\_\+precision, int32 $>$}}}
\begin{DoxyCompactItemize}
\item 
virtual void \doxymbox{\hyperlink{classgko_1_1WritableToMatrixData_a96036c3a4bf4c67fa93002808b8b14e2}{write}} (\doxymbox{\hyperlink{structgko_1_1matrix__data}{matrix\+\_\+data}}$<$ \doxymbox{\hyperlink{namespacegko_a89637c833af7ae805802226d97cebebf}{default\+\_\+precision}}, \doxymbox{\hyperlink{namespacegko_a16bd14c10900eb804d784908d8aab5ab}{int32}} $>$ \&data) const=0
\begin{DoxyCompactList}\small\item\em Writes a matrix to a \doxylink{structgko_1_1matrix__data}{matrix\+\_\+data} structure. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1EnableAbsoluteComputation}{gko::\+\+Enable\+Absolute\+Computation$<$ remove\+\_\+complex$<$ Ell$<$ default\+\_\+precision, int32 $>$ $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1EnableAbsoluteComputation_a4cf4eedb2090f486bdef0a8717142b7c}{compute\+\_\+absolute\+\_\+linop}} () const override
\begin{DoxyCompactList}\small\item\em Gets the absolute \doxylink{classgko_1_1LinOp}{Lin\+Op}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a108e7c0b0b08f9a506c2c51ea154c331}{create}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$ exec, const \doxymbox{\hyperlink{structgko_1_1dim}{dim}}$<$ 2 $>$ \&size=\{\}, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} num\+\_\+stored\+\_\+elements\+\_\+per\+\_\+row=0, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} stride=0)
\begin{DoxyCompactList}\small\item\em Creates an uninitialized \doxylink{classgko_1_1matrix_1_1Ell}{Ell} matrix of the specified size. \end{DoxyCompactList}\item 
static std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_aa564816208b727c86fed3569c2ea0049}{create}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$ exec, const \doxymbox{\hyperlink{structgko_1_1dim}{dim}}$<$ 2 $>$ \&size, \doxymbox{\hyperlink{classgko_1_1array}{array}}$<$ value\+\_\+type $>$ values, \doxymbox{\hyperlink{classgko_1_1array}{array}}$<$ index\+\_\+type $>$ col\+\_\+idxs, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} num\+\_\+stored\+\_\+elements\+\_\+per\+\_\+row, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} stride)
\begin{DoxyCompactList}\small\item\em Creates an ELL matrix from already allocated (and initialized) column index and value arrays. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Input\+Value\+Type, typename Input\+Column\+Index\+Type$>$ }\\static std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a00f6d095e3802f0aaac7bc15de9f1648}{create}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$ exec, const \doxymbox{\hyperlink{structgko_1_1dim}{dim}}$<$ 2 $>$ \&size, std::\+initializer\+\_\+list$<$ Input\+Value\+Type $>$ values, std::\+initializer\+\_\+list$<$ Input\+Column\+Index\+Type $>$ col\+\_\+idxs, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} num\+\_\+stored\+\_\+elements\+\_\+per\+\_\+row, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} stride)
\begin{DoxyCompactList}\small\item\em \doxylink{classgko_1_1matrix_1_1Ell_aa564816208b727c86fed3569c2ea0049}{create(std::\+shared\+\_\+ptr$<$const Executor$>$,const dim$<$2$>$\&, array$<$value\+\_\+type$>$, array$<$index\+\_\+type$>$, size\+\_\+type,size\+\_\+type)} \end{DoxyCompactList}\item 
static std::\+unique\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_abbadd08ea7fd412f395eb5e8f32c77bb}{create\+\_\+const}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$ exec, const \doxymbox{\hyperlink{structgko_1_1dim}{dim}}$<$ 2 $>$ \&size, gko::\+detail::\+const\+\_\+array\+\_\+view$<$ Value\+Type $>$ \&\&values, gko::\+detail::\+const\+\_\+array\+\_\+view$<$ Index\+Type $>$ \&\&col\+\_\+idxs, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} num\+\_\+stored\+\_\+elements\+\_\+per\+\_\+row, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} stride)
\begin{DoxyCompactList}\small\item\em Creates a constant (immutable) \doxylink{classgko_1_1matrix_1_1Ell}{Ell} matrix from a set of constant arrays. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_a71537fa3276ed9af486b2167b456f511}\label{classgko_1_1matrix_1_1Ell_a71537fa3276ed9af486b2167b456f511} 
class {\bfseries Enable\+Polymorphic\+Object$<$ Ell, Lin\+Op $>$}
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_a22a84c8f67f946aa60a2fa8bf5835a32}\label{classgko_1_1matrix_1_1Ell_a22a84c8f67f946aa60a2fa8bf5835a32} 
class {\bfseries Dense$<$ Value\+Type $>$}
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_ad2572ffab980b4728254b155909b3119}\label{classgko_1_1matrix_1_1Ell_ad2572ffab980b4728254b155909b3119} 
class {\bfseries Coo$<$ Value\+Type, Index\+Type $>$}
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_a3962faf971a3df6ff4c9226c61fb24cc}\label{classgko_1_1matrix_1_1Ell_a3962faf971a3df6ff4c9226c61fb24cc} 
class {\bfseries Csr$<$ Value\+Type, Index\+Type $>$}
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_ae0bf3149d3593c18eab41e41353060ca}\label{classgko_1_1matrix_1_1Ell_ae0bf3149d3593c18eab41e41353060ca} 
class {\bfseries Ell$<$ to\+\_\+complex$<$ Value\+Type $>$, Index\+Type $>$}
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_aba8b53113706661e5ce8d6e2c9698da7}\label{classgko_1_1matrix_1_1Ell_aba8b53113706661e5ce8d6e2c9698da7} 
class {\bfseries Ell$<$ previous\+\_\+precision$<$ Value\+Type $>$, Index\+Type $>$}
\item 
\Hypertarget{classgko_1_1matrix_1_1Ell_a86254b0ae570c27f5ba169d64b74e94b}\label{classgko_1_1matrix_1_1Ell_a86254b0ae570c27f5ba169d64b74e94b} 
class {\bfseries Hybrid$<$ Value\+Type, Index\+Type $>$}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$\newline
class gko::\+matrix::\+\+Ell$<$ Value\+Type, Index\+Type $>$}
ELL is a matrix format where stride with explicit zeros is used such that all rows have the same number of stored elements. 

The number of elements stored in each row is the largest number of nonzero elements in any of the rows (obtainable through \doxylink{classgko_1_1matrix_1_1Ell_a08f9b04b356e58ab57d03ce335ff11ce}{get\+\_\+num\+\_\+stored\+\_\+elements\+\_\+per\+\_\+row()} method). This removes the need of a row pointer like in the CSR format, and allows for SIMD processing of the distinct rows. For efficient processing, the nonzero elements and the corresponding column indices are stored in column-\/major fashion. The columns are padded to the length by user-\/defined stride parameter whose default value is the number of rows of the matrix.

This implementation uses the column index value \doxylink{namespacegko_afec01a3afbf68d99fc0f886c51bdc713}{invalid\+\_\+index$<$\+Index\+Type$>$()} to mark padding entries that are not part of the sparsity pattern.


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


\label{doc-constructors}
\Hypertarget{classgko_1_1matrix_1_1Ell_doc-constructors}
\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!Ell@{Ell}}
\index{Ell@{Ell}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{Ell()}{Ell()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+\+Ell (\begin{DoxyParamCaption}\item[{const Ell$<$ Value\+Type, Index\+Type $>$ \&}]{}{}\end{DoxyParamCaption})}



Copy-\/constructs an \doxylink{classgko_1_1matrix_1_1Ell}{Ell} matrix. 

Inherits executor and dimensions, but copies data without padding. \Hypertarget{classgko_1_1matrix_1_1Ell_a66cd3430f83f152ffb0b593ac158475b}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!Ell@{Ell}}
\index{Ell@{Ell}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{Ell()}{Ell()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a66cd3430f83f152ffb0b593ac158475b} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+\+Ell (\begin{DoxyParamCaption}\item[{Ell$<$ Value\+Type, Index\+Type $>$ \&\&}]{}{}\end{DoxyParamCaption})}



Move-\/constructs an \doxylink{classgko_1_1matrix_1_1Ell}{Ell} matrix. 

Inherits executor, dimensions and data with padding. The moved-\/from object is empty (0x0 with empty Array). 

\label{doc-func-members}
\Hypertarget{classgko_1_1matrix_1_1Ell_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{classgko_1_1matrix_1_1Ell_a1ac1702011ead4e56857de130b4a5301}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!col\_at@{col\_at}}
\index{col\_at@{col\_at}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{col\_at()}{col\_at()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a1ac1702011ead4e56857de130b4a5301} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
index\+\_\+type \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+col\+\_\+at (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{row}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{idx}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the {\ttfamily idx}-\/th column index of the {\ttfamily row}-\/th row .    


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



Returns the {\ttfamily idx}-\/th column index of the {\ttfamily row}-\/th row . 


\begin{DoxyParams}{Parameters}
{\em row} & the row of the requested element \\
\hline
{\em idx} & the idx-\/th stored element of the row\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
the method has to be called on the same \doxylink{classgko_1_1Executor}{Executor} the matrix is stored at (e.\+g. trying to call this method on a GPU matrix from the OMP results in a runtime error) 
\end{DoxyNote}
\Hypertarget{classgko_1_1matrix_1_1Ell_a72d92a2f7c4019c22e0490bd004b09e5}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!compute\_absolute@{compute\_absolute}}
\index{compute\_absolute@{compute\_absolute}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{compute\_absolute()}{compute\_absolute()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a72d92a2f7c4019c22e0490bd004b09e5} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
std::\+unique\+\_\+ptr$<$ absolute\+\_\+type $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+compute\+\_\+absolute (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}



Gets the Absolute\+Lin\+Op. 

\begin{DoxyReturn}{Returns}
a pointer to the new absolute object 
\end{DoxyReturn}


Implements \doxymbox{\hyperlink{classgko_1_1EnableAbsoluteComputation_a4c042054915430f60124de37545eab65}{gko::\+\+Enable\+Absolute\+Computation$<$ remove\+\_\+complex$<$ Ell$<$ default\+\_\+precision, int32 $>$ $>$ $>$}}.

\Hypertarget{classgko_1_1matrix_1_1Ell_a53f95a9a1b58e2ccff2f0806a675cf08}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!compute\_absolute\_inplace@{compute\_absolute\_inplace}}
\index{compute\_absolute\_inplace@{compute\_absolute\_inplace}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{compute\_absolute\_inplace()}{compute\_absolute\_inplace()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a53f95a9a1b58e2ccff2f0806a675cf08} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
void \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+compute\+\_\+absolute\+\_\+inplace (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}



Compute absolute inplace on each element. 



Implements \doxymbox{\hyperlink{classgko_1_1AbsoluteComputable_a09c6acf477a3457b2b2dc0618b406da2}{gko::\+\+Absolute\+Computable}}.

\Hypertarget{classgko_1_1matrix_1_1Ell_aa564816208b727c86fed3569c2ea0049}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!create@{create}}
\index{create@{create}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_aa564816208b727c86fed3569c2ea0049} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+create (\begin{DoxyParamCaption}\item[{std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$}]{exec}{, }\item[{const \doxymbox{\hyperlink{structgko_1_1dim}{dim}}$<$ 2 $>$ \&}]{size}{, }\item[{\doxymbox{\hyperlink{classgko_1_1array}{array}}$<$ value\+\_\+type $>$}]{values}{, }\item[{\doxymbox{\hyperlink{classgko_1_1array}{array}}$<$ index\+\_\+type $>$}]{col\+\_\+idxs}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{num\+\_\+stored\+\_\+elements\+\_\+per\+\_\+row}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{stride}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Creates an ELL matrix from already allocated (and initialized) column index and value arrays. 


\begin{DoxyParams}{Parameters}
{\em exec} & \doxylink{classgko_1_1Executor}{Executor} associated to the matrix \\
\hline
{\em size} & size of the matrix \\
\hline
{\em values} & array of matrix values \\
\hline
{\em col\+\_\+idxs} & array of column indexes \\
\hline
{\em num\+\_\+stored\+\_\+elements\+\_\+per\+\_\+row} & the number of stored elements per row \\
\hline
{\em stride} & stride of the rows\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
If one of {\ttfamily col\+\_\+idxs} or {\ttfamily values} is not an rvalue, not an array of Index\+Type and Value\+Type, respectively, or is on the wrong executor, an internal copy of that array will be created, and the original array data will not be used in the matrix.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
A smart pointer to the newly created matrix. 
\end{DoxyReturn}
\Hypertarget{classgko_1_1matrix_1_1Ell_a00f6d095e3802f0aaac7bc15de9f1648}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!create@{create}}
\index{create@{create}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a00f6d095e3802f0aaac7bc15de9f1648} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
template$<$typename Input\+Value\+Type, typename Input\+Column\+Index\+Type$>$ \\
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+create (\begin{DoxyParamCaption}\item[{std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$}]{exec}{, }\item[{const \doxymbox{\hyperlink{structgko_1_1dim}{dim}}$<$ 2 $>$ \&}]{size}{, }\item[{std::\+initializer\+\_\+list$<$ Input\+Value\+Type $>$}]{values}{, }\item[{std::\+initializer\+\_\+list$<$ Input\+Column\+Index\+Type $>$}]{col\+\_\+idxs}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{num\+\_\+stored\+\_\+elements\+\_\+per\+\_\+row}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{stride}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



\doxylink{classgko_1_1matrix_1_1Ell_aa564816208b727c86fed3569c2ea0049}{create(std::\+shared\+\_\+ptr$<$const Executor$>$,const dim$<$2$>$\&, array$<$value\+\_\+type$>$, array$<$index\+\_\+type$>$, size\+\_\+type,size\+\_\+type)} 

\doxylink{classgko_1_1matrix_1_1Ell_aa564816208b727c86fed3569c2ea0049}{create(std::\+shared\+\_\+ptr$<$const Executor$>$,const dim$<$2$>$\&, array$<$value\+\_\+type$>$, array$<$index\+\_\+type$>$, size\+\_\+type,size\+\_\+type)} \Hypertarget{classgko_1_1matrix_1_1Ell_a108e7c0b0b08f9a506c2c51ea154c331}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!create@{create}}
\index{create@{create}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a108e7c0b0b08f9a506c2c51ea154c331} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+create (\begin{DoxyParamCaption}\item[{std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$}]{exec}{, }\item[{const \doxymbox{\hyperlink{structgko_1_1dim}{dim}}$<$ 2 $>$ \&}]{size}{ = {\ttfamily \{\}}, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{num\+\_\+stored\+\_\+elements\+\_\+per\+\_\+row}{ = {\ttfamily 0}, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{stride}{ = {\ttfamily 0}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Creates an uninitialized \doxylink{classgko_1_1matrix_1_1Ell}{Ell} 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 matrix \\
\hline
{\em num\+\_\+stored\+\_\+elements\+\_\+per\+\_\+row} & the number of stored elements per row \\
\hline
{\em stride} & stride of the columns. If it is set to 0, size\+[0]\+ will be used instead.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A smart pointer to the newly created matrix. 
\end{DoxyReturn}


Referenced by \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a00f6d095e3802f0aaac7bc15de9f1648}{gko::\+matrix::\+\+Ell$<$ value\+\_\+type, index\+\_\+type $>$::\+create()}}.

\Hypertarget{classgko_1_1matrix_1_1Ell_abbadd08ea7fd412f395eb5e8f32c77bb}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!create\_const@{create\_const}}
\index{create\_const@{create\_const}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{create\_const()}{create\_const()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_abbadd08ea7fd412f395eb5e8f32c77bb} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
std::\+unique\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+create\+\_\+const (\begin{DoxyParamCaption}\item[{std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$}]{exec}{, }\item[{const \doxymbox{\hyperlink{structgko_1_1dim}{dim}}$<$ 2 $>$ \&}]{size}{, }\item[{gko::\+detail::\+const\+\_\+array\+\_\+view$<$ Value\+Type $>$ \&\&}]{values}{, }\item[{gko::\+detail::\+const\+\_\+array\+\_\+view$<$ Index\+Type $>$ \&\&}]{col\+\_\+idxs}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{num\+\_\+stored\+\_\+elements\+\_\+per\+\_\+row}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{stride}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Creates a constant (immutable) \doxylink{classgko_1_1matrix_1_1Ell}{Ell} matrix from a set of constant arrays. 


\begin{DoxyParams}{Parameters}
{\em exec} & the executor to create the matrix on \\
\hline
{\em size} & the dimensions of the matrix \\
\hline
{\em values} & the value array of the matrix \\
\hline
{\em col\+\_\+idxs} & the column index array of the matrix \\
\hline
{\em num\+\_\+stored\+\_\+elements\+\_\+per\+\_\+row} & the number of stored nonzeros per row \\
\hline
{\em stride} & the column-\/stride of the value and column index array \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A smart pointer to the constant matrix wrapping the input arrays (if they reside on the same executor as the matrix) or a copy of the arrays on the correct executor. 
\end{DoxyReturn}
\Hypertarget{classgko_1_1matrix_1_1Ell_a61bddeccf89f00e80ee1e8d538094b7c}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!extract\_diagonal@{extract\_diagonal}}
\index{extract\_diagonal@{extract\_diagonal}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{extract\_diagonal()}{extract\_diagonal()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a61bddeccf89f00e80ee1e8d538094b7c} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Diagonal}{Diagonal}}$<$ Value\+Type $>$ $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+extract\+\_\+diagonal (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}



Extracts the diagonal entries of the matrix into a vector. 


\begin{DoxyParams}{Parameters}
{\em diag} & the vector into which the diagonal will be written \\
\hline
\end{DoxyParams}


Implements \doxymbox{\hyperlink{classgko_1_1DiagonalExtractable_aad6b7e3977359d5a3beab6b27bbb64c4}{gko::\+\+Diagonal\+Extractable$<$ default\+\_\+precision $>$}}.

\Hypertarget{classgko_1_1matrix_1_1Ell_a6595659f6680eb1017b7ee77bbbb33c4}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!get\_col\_idxs@{get\_col\_idxs}}
\index{get\_col\_idxs@{get\_col\_idxs}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{get\_col\_idxs()}{get\_col\_idxs()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a6595659f6680eb1017b7ee77bbbb33c4} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
index\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+get\+\_\+col\+\_\+idxs (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the column indexes of the matrix. 

\begin{DoxyReturn}{Returns}
the column indexes of the matrix. 
\end{DoxyReturn}


Referenced by \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_adeac644fe3d6266554a34a7805fcc0d7}{gko::\+matrix::\+\+Ell$<$ value\+\_\+type, index\+\_\+type $>$::\+col\+\_\+at()}}.

\Hypertarget{classgko_1_1matrix_1_1Ell_aa7336833c03bfb55b73023f4b73ef9c9}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!get\_const\_col\_idxs@{get\_const\_col\_idxs}}
\index{get\_const\_col\_idxs@{get\_const\_col\_idxs}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{get\_const\_col\_idxs()}{get\_const\_col\_idxs()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_aa7336833c03bfb55b73023f4b73ef9c9} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
const index\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+get\+\_\+const\+\_\+col\+\_\+idxs (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the column indexes of the matrix.    

\begin{DoxyReturn}{Returns}
the column indexes of the matrix.   
\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}


Referenced by \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a1ac1702011ead4e56857de130b4a5301}{gko::\+matrix::\+\+Ell$<$ value\+\_\+type, index\+\_\+type $>$::\+col\+\_\+at()}}.

\Hypertarget{classgko_1_1matrix_1_1Ell_ade06917f98468e2863aed3e7c1f83548}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!get\_const\_values@{get\_const\_values}}
\index{get\_const\_values@{get\_const\_values}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{get\_const\_values()}{get\_const\_values()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_ade06917f98468e2863aed3e7c1f83548} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
const value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+get\+\_\+const\+\_\+values (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the values of the matrix.    

\begin{DoxyReturn}{Returns}
the values of the matrix.   
\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_1matrix_1_1Ell_aecca4e9cfb1e81958881c6dc3e2aa06f}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!get\_num\_stored\_elements@{get\_num\_stored\_elements}}
\index{get\_num\_stored\_elements@{get\_num\_stored\_elements}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{get\_num\_stored\_elements()}{get\_num\_stored\_elements()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_aecca4e9cfb1e81958881c6dc3e2aa06f} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+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 matrix. 

\begin{DoxyReturn}{Returns}
the number of elements explicitly stored in the matrix 
\end{DoxyReturn}
\Hypertarget{classgko_1_1matrix_1_1Ell_a08f9b04b356e58ab57d03ce335ff11ce}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!get\_num\_stored\_elements\_per\_row@{get\_num\_stored\_elements\_per\_row}}
\index{get\_num\_stored\_elements\_per\_row@{get\_num\_stored\_elements\_per\_row}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{get\_num\_stored\_elements\_per\_row()}{get\_num\_stored\_elements\_per\_row()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a08f9b04b356e58ab57d03ce335ff11ce} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+get\+\_\+num\+\_\+stored\+\_\+elements\+\_\+per\+\_\+row (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the number of stored elements per row. 

\begin{DoxyReturn}{Returns}
the number of stored elements per row. 
\end{DoxyReturn}
\Hypertarget{classgko_1_1matrix_1_1Ell_a0be6e75dcea0975b10e3389a9eedacc1}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!get\_stride@{get\_stride}}
\index{get\_stride@{get\_stride}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{get\_stride()}{get\_stride()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a0be6e75dcea0975b10e3389a9eedacc1} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+get\+\_\+stride (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the stride of the matrix. 

\begin{DoxyReturn}{Returns}
the stride of the matrix. 
\end{DoxyReturn}
\Hypertarget{classgko_1_1matrix_1_1Ell_a29d42d9e052570791f477b7bca04e322}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!get\_values@{get\_values}}
\index{get\_values@{get\_values}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{get\_values()}{get\_values()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a29d42d9e052570791f477b7bca04e322} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+get\+\_\+values (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the values of the matrix. 

\begin{DoxyReturn}{Returns}
the values of the matrix. 
\end{DoxyReturn}
\Hypertarget{classgko_1_1matrix_1_1Ell_abccbac150ad147b2c3509e3ae7910d11}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!operator=@{operator=}}
\index{operator=@{operator=}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_abccbac150ad147b2c3509e3ae7910d11} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} \& \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+operator= (\begin{DoxyParamCaption}\item[{const \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}}$<$ Value\+Type, Index\+Type $>$ \&}]{}{}\end{DoxyParamCaption})}



Copy-\/assigns an \doxylink{classgko_1_1matrix_1_1Ell}{Ell} matrix. 

Preserves the executor, reallocates the matrix with minimal stride if the dimensions don\textquotesingle{}t match, then copies the data over, ignoring padding. \Hypertarget{classgko_1_1matrix_1_1Ell_a3b5d79c690ef048d549398427352c7f5}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!operator=@{operator=}}
\index{operator=@{operator=}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a3b5d79c690ef048d549398427352c7f5} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}} \& \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+operator= (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell_a8c9b8a5dad85443dc0ebb2e1e1cf2eb2}{Ell}}$<$ Value\+Type, Index\+Type $>$ \&\&}]{}{}\end{DoxyParamCaption})}



Move-\/assigns an \doxylink{classgko_1_1matrix_1_1Ell}{Ell} matrix. 

Preserves the executor, moves the data over preserving size and stride. Leaves the moved-\/from object in an empty state (0x0 with empty Array). \Hypertarget{classgko_1_1matrix_1_1Ell_a3591fa0ab2ec09b43a15b0f0649d8ea3}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!val\_at@{val\_at}}
\index{val\_at@{val\_at}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{val\_at()}{val\_at()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a3591fa0ab2ec09b43a15b0f0649d8ea3} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
value\+\_\+type \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+val\+\_\+at (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{row}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{idx}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the {\ttfamily idx}-\/th non-\/zero element of the {\ttfamily row}-\/th row .    


\begin{DoxyParams}{Parameters}
{\em row} & the row of the requested element \\
\hline
{\em idx} & the idx-\/th stored element of the row\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
the method has to be called on the same \doxylink{classgko_1_1Executor}{Executor} the matrix is stored at (e.\+g. trying to call this method on a GPU matrix from the OMP results in a runtime error)    
\end{DoxyNote}
\Hypertarget{classgko_1_1matrix_1_1Ell_a000e6a621aca6cb0c1b5cf8b5bf7c63e}\index{gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}!val\_at@{val\_at}}
\index{val\_at@{val\_at}!gko::matrix::Ell$<$ ValueType, IndexType $>$@{gko::matrix::Ell$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{val\_at()}{val\_at()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1Ell_a000e6a621aca6cb0c1b5cf8b5bf7c63e} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
value\+\_\+type \& \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell}}$<$ Value\+Type, Index\+Type $>$::\+val\+\_\+at (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{row}{, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{idx}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the {\ttfamily idx}-\/th non-\/zero element of the {\ttfamily row}-\/th row . 


\begin{DoxyParams}{Parameters}
{\em row} & the row of the requested element \\
\hline
{\em idx} & the idx-\/th stored element of the row\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
the method has to be called on the same \doxylink{classgko_1_1Executor}{Executor} the matrix is stored at (e.\+g. trying to call this method on a GPU matrix from the OMP results in a runtime error) 
\end{DoxyNote}


The documentation for this class was generated from the following files:\+\begin{DoxyCompactItemize}
\item 
ginkgo/\+core/\+matrix/\+csr.\+hpp\item 
ginkgo/\+core/\+matrix/\+ell.\+hpp\end{DoxyCompactItemize}
