\doxysubsection{Sp\+MV employing different Matrix formats }
\hypertarget{group__mat__formats}{}\label{group__mat__formats}\index{SpMV employing different Matrix formats@{SpMV employing different Matrix formats}}


A module dedicated to the implementation and usage of the various Matrix Formats in Ginkgo.  


Collaboration diagram for Sp\+MV employing different Matrix formats:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{group__mat__formats}
\end{center}
\end{figure}
\doxysubsubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \doxymbox{\hyperlink{classgko_1_1experimental_1_1distributed_1_1Vector}{gko::\+experimental::\+distributed::\+\+Vector$<$ Value\+Type $>$}}
\begin{DoxyCompactList}\small\item\em \doxylink{classgko_1_1experimental_1_1distributed_1_1Vector}{Vector} is a format which explicitly stores (multiple) distributed column vectors in a dense storage format. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1batch_1_1matrix_1_1Csr}{gko::\+batch::\+matrix::\+\+Csr$<$ Value\+Type, Index\+Type $>$}}
\begin{DoxyCompactList}\small\item\em \doxylink{classgko_1_1batch_1_1matrix_1_1Csr}{Csr} is a general sparse matrix format that stores the column indices for each nonzero entry and a cumulative sum of the number of nonzeros in each row. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1batch_1_1matrix_1_1Dense}{gko::\+batch::\+matrix::\+\+Dense$<$ Value\+Type $>$}}
\begin{DoxyCompactList}\small\item\em \doxylink{classgko_1_1batch_1_1matrix_1_1Dense}{Dense} is a batch matrix format which explicitly stores all values of the matrix in each of the batches. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1batch_1_1matrix_1_1Ell}{gko::\+batch::\+matrix::\+\+Ell$<$ Value\+Type, Index\+Type $>$}}
\begin{DoxyCompactList}\small\item\em \doxylink{classgko_1_1batch_1_1matrix_1_1Ell}{Ell} is a sparse matrix format that stores the same number of nonzeros in each row, enabling coalesced accesses. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1batch_1_1matrix_1_1Identity}{gko::\+batch::\+matrix::\+\+Identity$<$ Value\+Type $>$}}
\begin{DoxyCompactList}\small\item\em The batch \doxylink{classgko_1_1batch_1_1matrix_1_1Identity}{Identity} matrix, which represents a batch of \doxylink{classgko_1_1batch_1_1matrix_1_1Identity}{Identity} matrices. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1Coo}{gko::\+matrix::\+\+Coo$<$ Value\+Type, Index\+Type $>$}}
\begin{DoxyCompactList}\small\item\em COO stores a matrix in the coordinate matrix format. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{gko::\+matrix::\+\+Csr$<$ Value\+Type, Index\+Type $>$}}
\begin{DoxyCompactList}\small\item\em CSR is a matrix format which stores only the nonzero coefficients by compressing each row of the matrix (compressed sparse row format). \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{gko::\+matrix::\+\+Dense$<$ Value\+Type $>$}}
\begin{DoxyCompactList}\small\item\em \doxylink{classgko_1_1matrix_1_1Dense}{Dense} is a matrix format which explicitly stores all values of the matrix. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1Diagonal}{gko::\+matrix::\+\+Diagonal$<$ Value\+Type $>$}}
\begin{DoxyCompactList}\small\item\em This class is a utility which efficiently implements the diagonal matrix (a linear operator which scales a vector row wise). \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{gko::\+matrix::\+\+Ell$<$ Value\+Type, Index\+Type $>$}}
\begin{DoxyCompactList}\small\item\em ELL is a matrix format where stride with explicit zeros is used such that all rows have the same number of stored elements. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1Fbcsr}{gko::\+matrix::\+\+Fbcsr$<$ Value\+Type, Index\+Type $>$}}
\begin{DoxyCompactList}\small\item\em Fixed-\/block compressed sparse row storage matrix format. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1Fft}{gko::\+matrix::\+\+Fft}}
\begin{DoxyCompactList}\small\item\em This \doxylink{classgko_1_1LinOp}{Lin\+Op} implements a 1D Fourier matrix using the FFT algorithm. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1Fft2}{gko::\+matrix::\+\+Fft2}}
\begin{DoxyCompactList}\small\item\em This \doxylink{classgko_1_1LinOp}{Lin\+Op} implements a 2D Fourier matrix using the FFT algorithm. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1Fft3}{gko::\+matrix::\+\+Fft3}}
\begin{DoxyCompactList}\small\item\em This \doxylink{classgko_1_1LinOp}{Lin\+Op} implements a 3D Fourier matrix using the FFT algorithm. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1Hybrid}{gko::\+matrix::\+\+Hybrid$<$ Value\+Type, Index\+Type $>$}}
\begin{DoxyCompactList}\small\item\em HYBRID is a matrix format which splits the matrix into ELLPACK and COO format. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1Identity}{gko::\+matrix::\+\+Identity$<$ Value\+Type $>$}}
\begin{DoxyCompactList}\small\item\em This class is a utility which efficiently implements the identity matrix (a linear operator which maps each vector to itself). \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1IdentityFactory}{gko::\+matrix::\+\+Identity\+Factory$<$ Value\+Type $>$}}
\begin{DoxyCompactList}\small\item\em This factory is a utility which can be used to generate \doxylink{classgko_1_1matrix_1_1Identity}{Identity} operators. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1Permutation}{gko::\+matrix::\+\+Permutation$<$ Index\+Type $>$}}
\begin{DoxyCompactList}\small\item\em \doxylink{classgko_1_1matrix_1_1Permutation}{Permutation} is a matrix format that represents a permutation matrix, i.\+e. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1ScaledPermutation}{gko::\+matrix::\+\+Scaled\+Permutation$<$ Value\+Type, Index\+Type $>$}}
\begin{DoxyCompactList}\small\item\em \doxylink{classgko_1_1matrix_1_1ScaledPermutation}{Scaled\+Permutation} is a matrix combining a permutation with scaling factors. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1Sellp}{gko::\+matrix::\+\+Sellp$<$ Value\+Type, Index\+Type $>$}}
\begin{DoxyCompactList}\small\item\em SELL-\/P is a matrix format similar to ELL format. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{gko::\+matrix::\+\+Sparsity\+Csr$<$ Value\+Type, Index\+Type $>$}}
\begin{DoxyCompactList}\small\item\em \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). \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsubsection{Detailed Description}
A module dedicated to the implementation and usage of the various Matrix Formats in Ginkgo. 

