\doxysection{gko::\+batch::\+solver::\+Enable\+Batch\+Solver\texorpdfstring{$<$}{<} Concrete\+Solver, Value\+Type, Polymorphic\+Base \texorpdfstring{$>$}{>} Class Template Reference}
\hypertarget{classgko_1_1batch_1_1solver_1_1EnableBatchSolver}{}\label{classgko_1_1batch_1_1solver_1_1EnableBatchSolver}\index{gko::batch::solver::EnableBatchSolver$<$ ConcreteSolver, ValueType, PolymorphicBase $>$@{gko::batch::solver::EnableBatchSolver$<$ ConcreteSolver, ValueType, PolymorphicBase $>$}}


This mixin provides apply and common iterative solver functionality to all the batched solvers.  




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



Inheritance diagram for gko::\+batch::\+solver::\+Enable\+Batch\+Solver\texorpdfstring{$<$}{<} Concrete\+Solver, Value\+Type, Polymorphic\+Base \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classgko_1_1batch_1_1solver_1_1EnableBatchSolver__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for gko::\+batch::\+solver::\+Enable\+Batch\+Solver\texorpdfstring{$<$}{<} Concrete\+Solver, Value\+Type, Polymorphic\+Base \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classgko_1_1batch_1_1solver_1_1EnableBatchSolver__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1batch_1_1solver_1_1EnableBatchSolver_a1ea56bceeeb501032e097dc96643745b}\label{classgko_1_1batch_1_1solver_1_1EnableBatchSolver_a1ea56bceeeb501032e097dc96643745b} 
using {\bfseries real\+\_\+type} = \doxymbox{\hyperlink{namespacegko_a107302a750bfa82a2107c77293f791c9}{remove\+\_\+complex}}$<$Value\+Type$>$
\end{DoxyCompactItemize}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1EnablePolymorphicAssignment}{gko::\+\+Enable\+Polymorphic\+Assignment$<$ Concrete\+Solver $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries result\+\_\+type}
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1batch_1_1solver_1_1EnableBatchSolver_a4e0e15a11a3403a4e1892765cdfb4a57}\label{classgko_1_1batch_1_1solver_1_1EnableBatchSolver_a4e0e15a11a3403a4e1892765cdfb4a57} 
const Concrete\+Solver \texorpdfstring{$\ast$}{*} {\bfseries apply} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ Value\+Type $>$ $>$ b, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ Value\+Type $>$ $>$ x) const
\item 
\Hypertarget{classgko_1_1batch_1_1solver_1_1EnableBatchSolver_ae25882c49cde42a4d9bb595d04438cc4}\label{classgko_1_1batch_1_1solver_1_1EnableBatchSolver_ae25882c49cde42a4d9bb595d04438cc4} 
const Concrete\+Solver \texorpdfstring{$\ast$}{*} {\bfseries apply} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ Value\+Type $>$ $>$ alpha, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ Value\+Type $>$ $>$ b, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ Value\+Type $>$ $>$ beta, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ Value\+Type $>$ $>$ x) const
\item 
\Hypertarget{classgko_1_1batch_1_1solver_1_1EnableBatchSolver_ab8831454a794d11c4a63c0908795d764}\label{classgko_1_1batch_1_1solver_1_1EnableBatchSolver_ab8831454a794d11c4a63c0908795d764} 
Concrete\+Solver \texorpdfstring{$\ast$}{*} {\bfseries apply} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ Value\+Type $>$ $>$ b, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ Value\+Type $>$ $>$ x)
\item 
\Hypertarget{classgko_1_1batch_1_1solver_1_1EnableBatchSolver_a7b5a7b525c72e2494d42a6998f111696}\label{classgko_1_1batch_1_1solver_1_1EnableBatchSolver_a7b5a7b525c72e2494d42a6998f111696} 
Concrete\+Solver \texorpdfstring{$\ast$}{*} {\bfseries apply} (\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ Value\+Type $>$ $>$ alpha, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ Value\+Type $>$ $>$ b, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ Value\+Type $>$ $>$ beta, \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\+\_\+param}}$<$ \doxymbox{\hyperlink{classgko_1_1batch_1_1MultiVector}{Multi\+Vector}}$<$ Value\+Type $>$ $>$ x)
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1batch_1_1solver_1_1BatchSolver}{gko::\+batch::\+solver::\+\+Batch\+Solver}}}
\begin{DoxyCompactItemize}
\item 
std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1BatchLinOp}{Batch\+Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1solver_1_1BatchSolver_a11ba46b13df4ad9e12f2409ac6e572f7}{get\+\_\+system\+\_\+matrix}} () const
\begin{DoxyCompactList}\small\item\em Returns the system operator (matrix) of the linear system. \end{DoxyCompactList}\item 
std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1batch_1_1BatchLinOp}{Batch\+Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1solver_1_1BatchSolver_ac7c6859c7a6f08cb95048d56686f7e2d}{get\+\_\+preconditioner}} () const
\begin{DoxyCompactList}\small\item\em Returns the generated preconditioner. \end{DoxyCompactList}\item 
double \doxymbox{\hyperlink{classgko_1_1batch_1_1solver_1_1BatchSolver_a419415d18e6b01226cddc621b84d5976}{get\+\_\+tolerance}} () const
\begin{DoxyCompactList}\small\item\em Get the residual tolerance used by the solver. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1batch_1_1solver_1_1BatchSolver_a57d2436e61f5ced92f8c367a15baf0c7}{reset\+\_\+tolerance}} (double res\+\_\+tol)
\begin{DoxyCompactList}\small\item\em Update the residual tolerance to be used by the solver. \end{DoxyCompactList}\item 
int \doxymbox{\hyperlink{classgko_1_1batch_1_1solver_1_1BatchSolver_a4d0421d8f569772dc0637932907dcb07}{get\+\_\+max\+\_\+iterations}} () const
\begin{DoxyCompactList}\small\item\em Get the maximum number of iterations set on the solver. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1batch_1_1solver_1_1BatchSolver_a3d3bfb23cf2fc3b1aee8e9aad2a4e488}{reset\+\_\+max\+\_\+iterations}} (int max\+\_\+iterations)
\begin{DoxyCompactList}\small\item\em Set the maximum number of iterations for the solver to use, independent of the factory that created it. \end{DoxyCompactList}\item 
::\+gko::\+batch::\+stop::\+tolerance\+\_\+type \doxymbox{\hyperlink{classgko_1_1batch_1_1solver_1_1BatchSolver_a79f23896ce9872932b3848524eae4ee8}{get\+\_\+tolerance\+\_\+type}} () const
\begin{DoxyCompactList}\small\item\em Get the tolerance type. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1batch_1_1solver_1_1BatchSolver_aae3b41a8e4e43d275f62a98610ec333b}{reset\+\_\+tolerance\+\_\+type}} (::\+gko::\+batch::\+stop::\+tolerance\+\_\+type tol\+\_\+type)
\begin{DoxyCompactList}\small\item\em Set the type of tolerance check to use inside the solver. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1EnablePolymorphicAssignment}{gko::\+\+Enable\+Polymorphic\+Assignment$<$ Concrete\+Solver $>$}}}
\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{Detailed Description}
\subsubsection*{template$<$typename Concrete\+Solver, typename Value\+Type, typename Polymorphic\+Base = Batch\+Lin\+Op$>$\newline
class gko::\+batch::\+solver::\+\+Enable\+Batch\+Solver$<$ Concrete\+Solver, Value\+Type, Polymorphic\+Base $>$}
This mixin provides apply and common iterative solver functionality to all the batched solvers. 


\begin{DoxyTemplParams}{Template Parameters}
{\em Concrete\+Solver} & The concrete solver class. \\
\hline
{\em Value\+Type} & The value type of the multivectors. \\
\hline
{\em Polymorphic\+Base} & The base class; must be a subclass of \doxylink{classgko_1_1batch_1_1BatchLinOp}{Batch\+Lin\+Op}. \\
\hline
\end{DoxyTemplParams}


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