\doxysection{gko::\+Diagonal\+Lin\+Op\+Extractable Class Reference}
\hypertarget{classgko_1_1DiagonalLinOpExtractable}{}\label{classgko_1_1DiagonalLinOpExtractable}\index{gko::DiagonalLinOpExtractable@{gko::DiagonalLinOpExtractable}}


The diagonal of a \doxylink{classgko_1_1LinOp}{Lin\+Op} can be extracted.  




{\ttfamily \+\#include $<$ginkgo/\+core/\+base/\+lin\+\_\+op.\+hpp$>$}



Inheritance diagram for gko::\+Diagonal\+Lin\+Op\+Extractable:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classgko_1_1DiagonalLinOpExtractable__inherit__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1DiagonalLinOpExtractable_a02ab47f56934bb00c994fe03c9204369}{extract\+\_\+diagonal\+\_\+linop}} () const =0
\begin{DoxyCompactList}\small\item\em Extracts the diagonal entries of the matrix into a vector. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The diagonal of a \doxylink{classgko_1_1LinOp}{Lin\+Op} can be extracted. 

It will be implemented by \doxylink{classgko_1_1DiagonalExtractable}{Diagonal\+Extractable$<$\+Value\+Type$>$}, so the class does not need to implement it. extract\+\_\+diagonal\+\_\+linop returns a linop which extracts the elements whose col and row index are the same and stores the result in a min(nrows, ncols) x 1 dense matrix. 

\label{doc-func-members}
\Hypertarget{classgko_1_1DiagonalLinOpExtractable_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{classgko_1_1DiagonalLinOpExtractable_a02ab47f56934bb00c994fe03c9204369}\index{gko::DiagonalLinOpExtractable@{gko::DiagonalLinOpExtractable}!extract\_diagonal\_linop@{extract\_diagonal\_linop}}
\index{extract\_diagonal\_linop@{extract\_diagonal\_linop}!gko::DiagonalLinOpExtractable@{gko::DiagonalLinOpExtractable}}
\doxysubsubsection{\texorpdfstring{extract\_diagonal\_linop()}{extract\_diagonal\_linop()}}
{\footnotesize\ttfamily \label{classgko_1_1DiagonalLinOpExtractable_a02ab47f56934bb00c994fe03c9204369} 
virtual std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ gko::\+\+Diagonal\+Lin\+Op\+Extractable::\+extract\+\_\+diagonal\+\_\+linop (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Extracts the diagonal entries of the matrix into a vector. 

\begin{DoxyReturn}{Returns}
linop the linop of diagonal format 
\end{DoxyReturn}


Implemented in \doxymbox{\hyperlink{classgko_1_1DiagonalExtractable_a7d41c0cb7b317402ea61bc145b82a9db}{gko::\+\+Diagonal\+Extractable$<$ Value\+Type $>$}}, and \doxymbox{\hyperlink{classgko_1_1DiagonalExtractable_a7d41c0cb7b317402ea61bc145b82a9db}{gko::\+\+Diagonal\+Extractable$<$ default\+\_\+precision $>$}}.



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