\doxysection{gko::\+multigrid::\+Multigrid\+Level Class Reference}
\hypertarget{classgko_1_1multigrid_1_1MultigridLevel}{}\label{classgko_1_1multigrid_1_1MultigridLevel}\index{gko::multigrid::MultigridLevel@{gko::multigrid::MultigridLevel}}


This class represents two levels in a multigrid hierarchy.  




{\ttfamily \+\#include $<$ginkgo/\+core/\+multigrid/\+multigrid\+\_\+level.\+hpp$>$}



Inheritance diagram for gko::\+multigrid::\+Multigrid\+Level:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classgko_1_1multigrid_1_1MultigridLevel__inherit__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1multigrid_1_1MultigridLevel_a7299b4c0ce624661b90bc8ab0799101e}{get\+\_\+fine\+\_\+op}} () const =0
\begin{DoxyCompactList}\small\item\em Returns the operator on fine level. \end{DoxyCompactList}\item 
virtual std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1multigrid_1_1MultigridLevel_a937111a77e3c7ee0a2c6f710efc9a688}{get\+\_\+restrict\+\_\+op}} () const =0
\begin{DoxyCompactList}\small\item\em Returns the restrict operator. \end{DoxyCompactList}\item 
virtual std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1multigrid_1_1MultigridLevel_ab843dfef8a1dc0a0c352cadc2b670a51}{get\+\_\+coarse\+\_\+op}} () const =0
\begin{DoxyCompactList}\small\item\em Returns the operator on coarse level. \end{DoxyCompactList}\item 
virtual std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1multigrid_1_1MultigridLevel_a50dcc374de40eb581256e1a906040a85}{get\+\_\+prolong\+\_\+op}} () const =0
\begin{DoxyCompactList}\small\item\em Returns the prolong operator. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
This class represents two levels in a multigrid hierarchy. 

The \doxylink{classgko_1_1multigrid_1_1MultigridLevel}{Multigrid\+Level} is an interface that allows to get the individual components of multigrid level. Each implementation of a multigrid level should inherit from this interface. Use \doxylink{classgko_1_1multigrid_1_1EnableMultigridLevel}{Enable\+Multigrid\+Level$<$\+Value\+Type$>$} to implement this interface with composition by default. 

\label{doc-func-members}
\Hypertarget{classgko_1_1multigrid_1_1MultigridLevel_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{classgko_1_1multigrid_1_1MultigridLevel_ab843dfef8a1dc0a0c352cadc2b670a51}\index{gko::multigrid::MultigridLevel@{gko::multigrid::MultigridLevel}!get\_coarse\_op@{get\_coarse\_op}}
\index{get\_coarse\_op@{get\_coarse\_op}!gko::multigrid::MultigridLevel@{gko::multigrid::MultigridLevel}}
\doxysubsubsection{\texorpdfstring{get\_coarse\_op()}{get\_coarse\_op()}}
{\footnotesize\ttfamily \label{classgko_1_1multigrid_1_1MultigridLevel_ab843dfef8a1dc0a0c352cadc2b670a51} 
virtual std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ gko::\+multigrid::\+\+Multigrid\+Level::\+get\+\_\+coarse\+\_\+op (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Returns the operator on coarse level. 

\begin{DoxyReturn}{Returns}
the operator on coarse level. 
\end{DoxyReturn}


Implemented in \doxymbox{\hyperlink{classgko_1_1multigrid_1_1EnableMultigridLevel_a6be3e7352bd2b57d95717caa757fbf7c}{gko::\+multigrid::\+\+Enable\+Multigrid\+Level$<$ Value\+Type $>$}}, and \doxymbox{\hyperlink{classgko_1_1multigrid_1_1EnableMultigridLevel_a6be3e7352bd2b57d95717caa757fbf7c}{gko::\+multigrid::\+\+Enable\+Multigrid\+Level$<$ default\+\_\+precision $>$}}.

\Hypertarget{classgko_1_1multigrid_1_1MultigridLevel_a7299b4c0ce624661b90bc8ab0799101e}\index{gko::multigrid::MultigridLevel@{gko::multigrid::MultigridLevel}!get\_fine\_op@{get\_fine\_op}}
\index{get\_fine\_op@{get\_fine\_op}!gko::multigrid::MultigridLevel@{gko::multigrid::MultigridLevel}}
\doxysubsubsection{\texorpdfstring{get\_fine\_op()}{get\_fine\_op()}}
{\footnotesize\ttfamily \label{classgko_1_1multigrid_1_1MultigridLevel_a7299b4c0ce624661b90bc8ab0799101e} 
virtual std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ gko::\+multigrid::\+\+Multigrid\+Level::\+get\+\_\+fine\+\_\+op (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Returns the operator on fine level. 

\begin{DoxyReturn}{Returns}
the operator on fine level. 
\end{DoxyReturn}


Implemented in \doxymbox{\hyperlink{classgko_1_1multigrid_1_1EnableMultigridLevel_afe1942cb9e7ad413f14c2837cf699e96}{gko::\+multigrid::\+\+Enable\+Multigrid\+Level$<$ Value\+Type $>$}}, and \doxymbox{\hyperlink{classgko_1_1multigrid_1_1EnableMultigridLevel_afe1942cb9e7ad413f14c2837cf699e96}{gko::\+multigrid::\+\+Enable\+Multigrid\+Level$<$ default\+\_\+precision $>$}}.

\Hypertarget{classgko_1_1multigrid_1_1MultigridLevel_a50dcc374de40eb581256e1a906040a85}\index{gko::multigrid::MultigridLevel@{gko::multigrid::MultigridLevel}!get\_prolong\_op@{get\_prolong\_op}}
\index{get\_prolong\_op@{get\_prolong\_op}!gko::multigrid::MultigridLevel@{gko::multigrid::MultigridLevel}}
\doxysubsubsection{\texorpdfstring{get\_prolong\_op()}{get\_prolong\_op()}}
{\footnotesize\ttfamily \label{classgko_1_1multigrid_1_1MultigridLevel_a50dcc374de40eb581256e1a906040a85} 
virtual std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ gko::\+multigrid::\+\+Multigrid\+Level::\+get\+\_\+prolong\+\_\+op (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Returns the prolong operator. 

\begin{DoxyReturn}{Returns}
the prolong operator. 
\end{DoxyReturn}


Implemented in \doxymbox{\hyperlink{classgko_1_1multigrid_1_1EnableMultigridLevel_a27e2ddde81000fae9f6df287585b71a6}{gko::\+multigrid::\+\+Enable\+Multigrid\+Level$<$ Value\+Type $>$}}, and \doxymbox{\hyperlink{classgko_1_1multigrid_1_1EnableMultigridLevel_a27e2ddde81000fae9f6df287585b71a6}{gko::\+multigrid::\+\+Enable\+Multigrid\+Level$<$ default\+\_\+precision $>$}}.

\Hypertarget{classgko_1_1multigrid_1_1MultigridLevel_a937111a77e3c7ee0a2c6f710efc9a688}\index{gko::multigrid::MultigridLevel@{gko::multigrid::MultigridLevel}!get\_restrict\_op@{get\_restrict\_op}}
\index{get\_restrict\_op@{get\_restrict\_op}!gko::multigrid::MultigridLevel@{gko::multigrid::MultigridLevel}}
\doxysubsubsection{\texorpdfstring{get\_restrict\_op()}{get\_restrict\_op()}}
{\footnotesize\ttfamily \label{classgko_1_1multigrid_1_1MultigridLevel_a937111a77e3c7ee0a2c6f710efc9a688} 
virtual std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ gko::\+multigrid::\+\+Multigrid\+Level::\+get\+\_\+restrict\+\_\+op (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Returns the restrict operator. 

\begin{DoxyReturn}{Returns}
the restrict operator. 
\end{DoxyReturn}


Implemented in \doxymbox{\hyperlink{classgko_1_1multigrid_1_1EnableMultigridLevel_a660228f99b543605ccbd24f3fa0e816b}{gko::\+multigrid::\+\+Enable\+Multigrid\+Level$<$ Value\+Type $>$}}, and \doxymbox{\hyperlink{classgko_1_1multigrid_1_1EnableMultigridLevel_a660228f99b543605ccbd24f3fa0e816b}{gko::\+multigrid::\+\+Enable\+Multigrid\+Level$<$ default\+\_\+precision $>$}}.



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