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


\doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} is a matrix format which stores only the sparsity pattern of a sparse matrix by compressing each row of the matrix (compressed sparse row format).  




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



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


Collaboration diagram for gko::\+matrix::\+Sparsity\+Csr\texorpdfstring{$<$}{<} Value\+Type, Index\+Type \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classgko_1_1matrix_1_1SparsityCsr__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_ab53a43d7737a5c85c9db46410f885c1f}\label{classgko_1_1matrix_1_1SparsityCsr_ab53a43d7737a5c85c9db46410f885c1f} 
using {\bfseries value\+\_\+type} = Value\+Type
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a6ca4787c316d4da057f5fb45d692ce1f}\label{classgko_1_1matrix_1_1SparsityCsr_a6ca4787c316d4da057f5fb45d692ce1f} 
using {\bfseries index\+\_\+type} = Index\+Type
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a6ccc242a9491bbaf19c1c0af72bd12cb}\label{classgko_1_1matrix_1_1SparsityCsr_a6ccc242a9491bbaf19c1c0af72bd12cb} 
using {\bfseries transposed\+\_\+type} = \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}}$<$Index\+Type, Value\+Type$>$
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a2f6094abcb697399bb694570baa57183}\label{classgko_1_1matrix_1_1SparsityCsr_a2f6094abcb697399bb694570baa57183} 
using {\bfseries mat\+\_\+data} = \doxymbox{\hyperlink{structgko_1_1matrix__data}{matrix\+\_\+data}}$<$Value\+Type, Index\+Type$>$
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a374af19126b54b143cb5e1c99e2d26b4}\label{classgko_1_1matrix_1_1SparsityCsr_a374af19126b54b143cb5e1c99e2d26b4} 
using {\bfseries device\+\_\+mat\+\_\+data} = \doxymbox{\hyperlink{classgko_1_1device__matrix__data}{device\+\_\+matrix\+\_\+data}}$<$Value\+Type, Index\+Type$>$
\end{DoxyCompactItemize}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1EnablePolymorphicAssignment}{gko::\+\+Enable\+Polymorphic\+Assignment$<$ Sparsity\+Csr$<$ default\+\_\+precision, int32 $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries result\+\_\+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}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a88e1c1bfd58ef28c2bc746a7383308c2}\label{classgko_1_1matrix_1_1SparsityCsr_a88e1c1bfd58ef28c2bc746a7383308c2} 
void {\bfseries convert\+\_\+to} (\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr}}$<$ Value\+Type, Index\+Type $>$ \texorpdfstring{$\ast$}{*}result) const override
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_aef1e334da486a186eb730eebdac23ed4}\label{classgko_1_1matrix_1_1SparsityCsr_aef1e334da486a186eb730eebdac23ed4} 
void {\bfseries move\+\_\+to} (\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr}}$<$ Value\+Type, Index\+Type $>$ \texorpdfstring{$\ast$}{*}result) override
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_aff9d3a3dcd158b99c7795b25766b27b4}\label{classgko_1_1matrix_1_1SparsityCsr_aff9d3a3dcd158b99c7795b25766b27b4} 
void {\bfseries convert\+\_\+to} (\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense}}$<$ Value\+Type $>$ \texorpdfstring{$\ast$}{*}result) const override
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_ae45139055131354e78bdc69aca78499d}\label{classgko_1_1matrix_1_1SparsityCsr_ae45139055131354e78bdc69aca78499d} 
void {\bfseries move\+\_\+to} (\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense}}$<$ Value\+Type $>$ \texorpdfstring{$\ast$}{*}result) override
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a7e11ffa38c6f22915b8f8327b679fd65}\label{classgko_1_1matrix_1_1SparsityCsr_a7e11ffa38c6f22915b8f8327b679fd65} 
void {\bfseries read} (const mat\+\_\+data \&data) override
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a4a54ecfe084e93129fe15e064e669158}\label{classgko_1_1matrix_1_1SparsityCsr_a4a54ecfe084e93129fe15e064e669158} 
void {\bfseries read} (const device\+\_\+mat\+\_\+data \&data) override
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a99cd077efbf97d0370b3623e09ff092d}\label{classgko_1_1matrix_1_1SparsityCsr_a99cd077efbf97d0370b3623e09ff092d} 
void {\bfseries read} (device\+\_\+mat\+\_\+data \&\&data) override
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a4ff464adcbe3a38144947f06f2ea60b6}\label{classgko_1_1matrix_1_1SparsityCsr_a4ff464adcbe3a38144947f06f2ea60b6} 
void {\bfseries write} (mat\+\_\+data \&data) const override
\item 
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_aa724de1605232ebbe459761d3dfda7df}{transpose}} () const override
\begin{DoxyCompactList}\small\item\em Returns a \doxylink{classgko_1_1LinOp}{Lin\+Op} representing the transpose of the \doxylink{classgko_1_1Transposable}{Transposable} object. \end{DoxyCompactList}\item 
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_afda5b4823e98e847e8e4bfd867751b71}{conj\+\_\+transpose}} () const override
\begin{DoxyCompactList}\small\item\em Returns a \doxylink{classgko_1_1LinOp}{Lin\+Op} representing the conjugate transpose of the \doxylink{classgko_1_1Transposable}{Transposable} object. \end{DoxyCompactList}\item 
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a10586060e6ae3ddf6a500611da2a6c8c}{to\+\_\+adjacency\+\_\+matrix}} () const
\begin{DoxyCompactList}\small\item\em Transforms the sparsity matrix to an adjacency matrix. \end{DoxyCompactList}\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_ada754f69e64b81679d1b65df27810d07}\label{classgko_1_1matrix_1_1SparsityCsr_ada754f69e64b81679d1b65df27810d07} 
void {\bfseries sort\+\_\+by\+\_\+column\+\_\+index} ()
\begin{DoxyCompactList}\small\item\em Sorts each row by column index. \end{DoxyCompactList}\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_abd76795a2a97e382e7053fe13ebab5c7}\label{classgko_1_1matrix_1_1SparsityCsr_abd76795a2a97e382e7053fe13ebab5c7} 
bool {\bfseries is\+\_\+sorted\+\_\+by\+\_\+column\+\_\+index} () const
\item 
index\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a16e851750eb5a1b6b154724b76102d91}{get\+\_\+col\+\_\+idxs}} () noexcept
\begin{DoxyCompactList}\small\item\em Returns the column indices of the matrix. \end{DoxyCompactList}\item 
const index\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a75f5cf227f3d28116e6c2ffc96c0e3f1}{get\+\_\+const\+\_\+col\+\_\+idxs}} () const noexcept
\begin{DoxyCompactList}\small\item\em Returns the column indices of the matrix.    \end{DoxyCompactList}\item 
index\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_acc4686d5826536c691e1e5322cc055ee}{get\+\_\+row\+\_\+ptrs}} () noexcept
\begin{DoxyCompactList}\small\item\em Returns the row pointers of the matrix. \end{DoxyCompactList}\item 
const index\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a91ab9f90686bd3a0b25c94d3a39efc5d}{get\+\_\+const\+\_\+row\+\_\+ptrs}} () const noexcept
\begin{DoxyCompactList}\small\item\em Returns the row pointers of the matrix.    \end{DoxyCompactList}\item 
value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_afd34ea8d2dd36fbe7759ba1d680732ce}{get\+\_\+value}} () noexcept
\begin{DoxyCompactList}\small\item\em Returns the value stored in the matrix. \end{DoxyCompactList}\item 
const value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_abb91e6ca00a4778e855cf6aeafe8f102}{get\+\_\+const\+\_\+value}} () const noexcept
\begin{DoxyCompactList}\small\item\em Returns the value stored in the matrix.    \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_ab21b21608859367a49311f941b10ddd6}{get\+\_\+num\+\_\+nonzeros}} () const noexcept
\begin{DoxyCompactList}\small\item\em Returns the number of elements explicitly stored in the matrix. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} \& \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a125b13b63dba6d32ce23607271c7ed52}{operator=}} (const \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} \&)
\begin{DoxyCompactList}\small\item\em Copy-\/assigns a \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} matrix. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} \& \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a116f0326dcd149883f91f5f5aa183d12}{operator=}} (\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} \&\&)
\begin{DoxyCompactList}\small\item\em Move-\/assigns a \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} matrix. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} (const Sparsity\+Csr \&)
\begin{DoxyCompactList}\small\item\em Copy-\/constructs a \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} matrix. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a41cd2d71fe4471517865b3baa5a5b5b5}{Sparsity\+Csr}} (Sparsity\+Csr \&\&)
\begin{DoxyCompactList}\small\item\em Move-\/constructs a \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1EnableLinOp}{gko::\+\+Enable\+Lin\+Op$<$ Sparsity\+Csr$<$ default\+\_\+precision, int32 $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
const Sparsity\+Csr$<$ \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$<$ Sparsity\+Csr$<$ 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_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}
\doxysubsubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_af3b8c555c1350a5dc9f33688d769ee50}{create}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$ exec, const \doxymbox{\hyperlink{structgko_1_1dim}{dim}}$<$ 2 $>$ \&size=\doxymbox{\hyperlink{structgko_1_1dim}{dim}}$<$ 2 $>$\{\}, \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} num\+\_\+nonzeros=\{\})
\begin{DoxyCompactList}\small\item\em Creates an uninitialized \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} matrix of the specified size. \end{DoxyCompactList}\item 
static std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a0fd936bd502e00c49376761f7431a098}{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}}$<$ index\+\_\+type $>$ col\+\_\+idxs, \doxymbox{\hyperlink{classgko_1_1array}{array}}$<$ index\+\_\+type $>$ row\+\_\+ptrs, value\+\_\+type value=\doxymbox{\hyperlink{namespacegko_a0059e27f8f4bc348ff65c1e60caf47c8}{one}}$<$ Value\+Type $>$())
\begin{DoxyCompactList}\small\item\em Creates a \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} matrix from already allocated (and initialized) row pointer and column index arrays. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Col\+Index\+Type, typename Row\+Ptr\+Type$>$ }\\static std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a2db2987c619853127494421e201dfe40}{create}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$ exec, const \doxymbox{\hyperlink{structgko_1_1dim}{dim}}$<$ 2 $>$ \&size, std::\+initializer\+\_\+list$<$ Col\+Index\+Type $>$ col\+\_\+idxs, std::\+initializer\+\_\+list$<$ Row\+Ptr\+Type $>$ row\+\_\+ptrs, value\+\_\+type value=\doxymbox{\hyperlink{namespacegko_a0059e27f8f4bc348ff65c1e60caf47c8}{one}}$<$ Value\+Type $>$())
\begin{DoxyCompactList}\small\item\em create(std::\+shared\+\_\+ptr$<$const\+Executor$>$, const dim$<$2$>$\&, array$<$index\+\_\+type$>$, array$<$index\+\_\+type$>$,value\+\_\+type) \end{DoxyCompactList}\item 
static std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_ad0ae4f845f7e3730abcb47b9df991cb4}{create}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$ exec, std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{namespacegko_1_1matrix}{matrix}})
\begin{DoxyCompactList}\small\item\em Creates a Sparsity matrix from an existing matrix. \end{DoxyCompactList}\item 
static std::\+unique\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_af741e8f6ed23720b65c5aa43068a69d9}{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$<$ Index\+Type $>$ \&\&col\+\_\+idxs, gko::\+detail::\+const\+\_\+array\+\_\+view$<$ Index\+Type $>$ \&\&row\+\_\+ptrs, Value\+Type value=\doxymbox{\hyperlink{namespacegko_a0059e27f8f4bc348ff65c1e60caf47c8}{one}}$<$ Value\+Type $>$())
\begin{DoxyCompactList}\small\item\em Creates a constant (immutable) \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} matrix from constant arrays. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_abdcdaa0009f1bfe37fb81c8735eec58b}\label{classgko_1_1matrix_1_1SparsityCsr_abdcdaa0009f1bfe37fb81c8735eec58b} 
class {\bfseries Enable\+Polymorphic\+Object$<$ Sparsity\+Csr, Lin\+Op $>$}
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a3962faf971a3df6ff4c9226c61fb24cc}\label{classgko_1_1matrix_1_1SparsityCsr_a3962faf971a3df6ff4c9226c61fb24cc} 
class {\bfseries Csr$<$ Value\+Type, Index\+Type $>$}
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a22a84c8f67f946aa60a2fa8bf5835a32}\label{classgko_1_1matrix_1_1SparsityCsr_a22a84c8f67f946aa60a2fa8bf5835a32} 
class {\bfseries Dense$<$ Value\+Type $>$}
\item 
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_aff71cbd8155c9a4999db4e90b43367f5}\label{classgko_1_1matrix_1_1SparsityCsr_aff71cbd8155c9a4999db4e90b43367f5} 
class {\bfseries Fbcsr$<$ Value\+Type, Index\+Type $>$}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$\newline
class gko::\+matrix::\+\+Sparsity\+Csr$<$ Value\+Type, Index\+Type $>$}
\doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} is a matrix format which stores only the sparsity pattern of a sparse matrix by compressing each row of the matrix (compressed sparse row format). 

The values of the nonzero elements are stored as a value array of length 1. All the values in the matrix are equal to this value. By default, this value is set to 1.\+0. A row pointer array also stores the linearized starting index of each row. An additional column index array is used to identify the column where a nonzero is present.


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


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



Copy-\/constructs a \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} matrix. 

Inherits executor, strategy and data. \Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a41cd2d71fe4471517865b3baa5a5b5b5}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!SparsityCsr@{SparsityCsr}}
\index{SparsityCsr@{SparsityCsr}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{SparsityCsr()}{SparsityCsr()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_a41cd2d71fe4471517865b3baa5a5b5b5} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ Value\+Type, Index\+Type $>$::\+\+Sparsity\+Csr (\begin{DoxyParamCaption}\item[{Sparsity\+Csr$<$ Value\+Type, Index\+Type $>$ \&\&}]{}{}\end{DoxyParamCaption})}



Move-\/constructs a \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} matrix. 

Inherits executor, moves the data and leaves the moved-\/from object in an empty state (0x0 \doxylink{classgko_1_1LinOp}{Lin\+Op} with unchanged executor, no nonzeros and valid row pointers). 

\label{doc-func-members}
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_afda5b4823e98e847e8e4bfd867751b71}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!conj\_transpose@{conj\_transpose}}
\index{conj\_transpose@{conj\_transpose}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{conj\_transpose()}{conj\_transpose()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_afda5b4823e98e847e8e4bfd867751b71} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ Value\+Type, Index\+Type $>$::\+conj\+\_\+transpose (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}



Returns a \doxylink{classgko_1_1LinOp}{Lin\+Op} representing the conjugate transpose of the \doxylink{classgko_1_1Transposable}{Transposable} object. 

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


Implements \doxymbox{\hyperlink{classgko_1_1Transposable_a7c230aacdb222f09ba49baf0bd9e82eb}{gko::\+\+Transposable}}.

\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a0fd936bd502e00c49376761f7431a098}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!create@{create}}
\index{create@{create}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_a0fd936bd502e00c49376761f7431a098} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ 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}}$<$ index\+\_\+type $>$}]{col\+\_\+idxs}{, }\item[{\doxymbox{\hyperlink{classgko_1_1array}{array}}$<$ index\+\_\+type $>$}]{row\+\_\+ptrs}{, }\item[{value\+\_\+type}]{value}{ = {\ttfamily \doxymbox{\hyperlink{namespacegko_a0059e27f8f4bc348ff65c1e60caf47c8}{one}}$<$~ValueType~$>$()}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Creates a \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} matrix from already allocated (and initialized) row pointer and column index arrays. 


\begin{DoxyTemplParams}{Template Parameters}
{\em Col\+Idxs\+Array} & type of {\ttfamily col\+\_\+idxs} array \\
\hline
{\em Row\+Ptrs\+Array} & type of {\ttfamily row\+\_\+ptrs} array\\
\hline
\end{DoxyTemplParams}

\begin{DoxyParams}{Parameters}
{\em exec} & \doxylink{classgko_1_1Executor}{Executor} associated to the matrix \\
\hline
{\em size} & size of the matrix \\
\hline
{\em col\+\_\+idxs} & array of column indexes \\
\hline
{\em row\+\_\+ptrs} & array of row pointers \\
\hline
{\em value} & value stored. (same value for all matrix elements)\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
If one of {\ttfamily row\+\_\+ptrs} or {\ttfamily col\+\_\+idxs} is not an rvalue, not an array of Index\+Type and Index\+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}
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a2db2987c619853127494421e201dfe40}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!create@{create}}
\index{create@{create}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_a2db2987c619853127494421e201dfe40} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
template$<$typename Col\+Index\+Type, typename Row\+Ptr\+Type$>$ \\
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ 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$<$ Col\+Index\+Type $>$}]{col\+\_\+idxs}{, }\item[{std::\+initializer\+\_\+list$<$ Row\+Ptr\+Type $>$}]{row\+\_\+ptrs}{, }\item[{value\+\_\+type}]{value}{ = {\ttfamily \doxymbox{\hyperlink{namespacegko_a0059e27f8f4bc348ff65c1e60caf47c8}{one}}$<$ValueType$>$()}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



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

create(std::\+shared\+\_\+ptr$<$const\+Executor$>$, const dim$<$2$>$\&, array$<$index\+\_\+type$>$, array$<$index\+\_\+type$>$,value\+\_\+type) \Hypertarget{classgko_1_1matrix_1_1SparsityCsr_af3b8c555c1350a5dc9f33688d769ee50}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!create@{create}}
\index{create@{create}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_af3b8c555c1350a5dc9f33688d769ee50} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ 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 \doxymbox{\hyperlink{structgko_1_1dim}{dim}}$<$~2~$>$\{\}}, }\item[{\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{num\+\_\+nonzeros}{ = {\ttfamily \{\}}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Creates an uninitialized \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} 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\+\_\+nonzeros} & number of nonzeros \\
\hline
\end{DoxyParams}


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

\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_ad0ae4f845f7e3730abcb47b9df991cb4}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!create@{create}}
\index{create@{create}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_ad0ae4f845f7e3730abcb47b9df991cb4} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ Value\+Type, Index\+Type $>$::\+create (\begin{DoxyParamCaption}\item[{std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$}]{exec}{, }\item[{std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$}]{matrix}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Creates a Sparsity matrix from an existing matrix. 

Uses the {\ttfamily \doxylink{namespacegko_ae4916d7f4a38162b665935d0adfb3825}{copy\+\_\+and\+\_\+convert\+\_\+to}} functionality.


\begin{DoxyParams}{Parameters}
{\em exec} & \doxylink{classgko_1_1Executor}{Executor} associated to the matrix \\
\hline
{\em \doxylink{namespacegko_1_1matrix}{matrix}} & The input matrix \\
\hline
\end{DoxyParams}
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_af741e8f6ed23720b65c5aa43068a69d9}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!create\_const@{create\_const}}
\index{create\_const@{create\_const}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{create\_const()}{create\_const()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_af741e8f6ed23720b65c5aa43068a69d9} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
std::\+unique\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ 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$<$ Index\+Type $>$ \&\&}]{col\+\_\+idxs}{, }\item[{gko::\+detail::\+const\+\_\+array\+\_\+view$<$ Index\+Type $>$ \&\&}]{row\+\_\+ptrs}{, }\item[{Value\+Type}]{value}{ = {\ttfamily \doxymbox{\hyperlink{namespacegko_a0059e27f8f4bc348ff65c1e60caf47c8}{one}}$<$ValueType$>$()}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Creates a constant (immutable) \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} matrix from 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 row\+\_\+ptrs} & the row pointer array of the matrix \\
\hline
{\em strategy} & the strategy the matrix uses for Sp\+MV operations \\
\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 these arrays on the correct executor. 
\end{DoxyReturn}
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a16e851750eb5a1b6b154724b76102d91}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!get\_col\_idxs@{get\_col\_idxs}}
\index{get\_col\_idxs@{get\_col\_idxs}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{get\_col\_idxs()}{get\_col\_idxs()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_a16e851750eb5a1b6b154724b76102d91} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
index\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ Value\+Type, Index\+Type $>$::\+get\+\_\+col\+\_\+idxs (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the column indices of the matrix. 

\begin{DoxyReturn}{Returns}
the column indices of the matrix. 
\end{DoxyReturn}
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a75f5cf227f3d28116e6c2ffc96c0e3f1}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!get\_const\_col\_idxs@{get\_const\_col\_idxs}}
\index{get\_const\_col\_idxs@{get\_const\_col\_idxs}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{get\_const\_col\_idxs()}{get\_const\_col\_idxs()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_a75f5cf227f3d28116e6c2ffc96c0e3f1} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
const index\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ Value\+Type, Index\+Type $>$::\+get\+\_\+const\+\_\+col\+\_\+idxs (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the column indices of the matrix.    

\begin{DoxyReturn}{Returns}
the column indices 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_1SparsityCsr_a91ab9f90686bd3a0b25c94d3a39efc5d}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!get\_const\_row\_ptrs@{get\_const\_row\_ptrs}}
\index{get\_const\_row\_ptrs@{get\_const\_row\_ptrs}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{get\_const\_row\_ptrs()}{get\_const\_row\_ptrs()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_a91ab9f90686bd3a0b25c94d3a39efc5d} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
const index\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ Value\+Type, Index\+Type $>$::\+get\+\_\+const\+\_\+row\+\_\+ptrs (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the row pointers of the matrix.    

\begin{DoxyReturn}{Returns}
the row pointers 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_1SparsityCsr_abb91e6ca00a4778e855cf6aeafe8f102}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!get\_const\_value@{get\_const\_value}}
\index{get\_const\_value@{get\_const\_value}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{get\_const\_value()}{get\_const\_value()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_abb91e6ca00a4778e855cf6aeafe8f102} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
const value\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ Value\+Type, Index\+Type $>$::\+get\+\_\+const\+\_\+value (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the value stored in the matrix.    

\begin{DoxyReturn}{Returns}
the value 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_1SparsityCsr_ab21b21608859367a49311f941b10ddd6}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!get\_num\_nonzeros@{get\_num\_nonzeros}}
\index{get\_num\_nonzeros@{get\_num\_nonzeros}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{get\_num\_nonzeros()}{get\_num\_nonzeros()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_ab21b21608859367a49311f941b10ddd6} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ Value\+Type, Index\+Type $>$::\+get\+\_\+num\+\_\+nonzeros (\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_1SparsityCsr_acc4686d5826536c691e1e5322cc055ee}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!get\_row\_ptrs@{get\_row\_ptrs}}
\index{get\_row\_ptrs@{get\_row\_ptrs}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{get\_row\_ptrs()}{get\_row\_ptrs()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_acc4686d5826536c691e1e5322cc055ee} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
index\+\_\+type \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ Value\+Type, Index\+Type $>$::\+get\+\_\+row\+\_\+ptrs (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Returns the row pointers of the matrix. 

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



Returns the value stored in the matrix. 

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



Copy-\/assigns a \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} matrix. 

Preserves executor, copies everything else. \Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a116f0326dcd149883f91f5f5aa183d12}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!operator=@{operator=}}
\index{operator=@{operator=}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_a116f0326dcd149883f91f5f5aa183d12} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} \& \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ Value\+Type, Index\+Type $>$::\+operator= (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}}$<$ Value\+Type, Index\+Type $>$ \&\&}]{}{}\end{DoxyParamCaption})}



Move-\/assigns a \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} matrix. 

Preserves executor, moves the data and leaves the moved-\/from object in an empty state (0x0 \doxylink{classgko_1_1LinOp}{Lin\+Op} with unchanged executor, no nonzeros and valid row pointers). \Hypertarget{classgko_1_1matrix_1_1SparsityCsr_a10586060e6ae3ddf6a500611da2a6c8c}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!to\_adjacency\_matrix@{to\_adjacency\_matrix}}
\index{to\_adjacency\_matrix@{to\_adjacency\_matrix}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{to\_adjacency\_matrix()}{to\_adjacency\_matrix()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_a10586060e6ae3ddf6a500611da2a6c8c} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr_a67adb9f857dce1577325a1cf8fd67a92}{Sparsity\+Csr}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ Value\+Type, Index\+Type $>$::\+to\+\_\+adjacency\+\_\+matrix (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const}



Transforms the sparsity matrix to an adjacency matrix. 

As the adjacency matrix has to be square, the input \doxylink{classgko_1_1matrix_1_1SparsityCsr}{Sparsity\+Csr} matrix for this function to work has to be square.

\begin{DoxyNote}{Note}
The adjacency matrix in this case is the sparsity pattern but with the diagonal ones removed. This is mainly used for the reordering/\+partitioning as taken in by graph libraries such as METIS. 
\end{DoxyNote}
\Hypertarget{classgko_1_1matrix_1_1SparsityCsr_aa724de1605232ebbe459761d3dfda7df}\index{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}!transpose@{transpose}}
\index{transpose@{transpose}!gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$@{gko::matrix::SparsityCsr$<$ ValueType, IndexType $>$}}
\doxysubsubsection{\texorpdfstring{transpose()}{transpose()}}
{\footnotesize\ttfamily \label{classgko_1_1matrix_1_1SparsityCsr_aa724de1605232ebbe459761d3dfda7df} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr}}$<$ Value\+Type, Index\+Type $>$::\+transpose (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}



Returns a \doxylink{classgko_1_1LinOp}{Lin\+Op} representing the transpose of the \doxylink{classgko_1_1Transposable}{Transposable} object. 

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


Implements \doxymbox{\hyperlink{classgko_1_1Transposable_adf04fdf2ed79b117edbef42520bfe8fa}{gko::\+\+Transposable}}.



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