\doxysection{gko::\+solver::\+Idr\texorpdfstring{$<$}{<} Value\+Type \texorpdfstring{$>$}{>} Class Template Reference}
\hypertarget{classgko_1_1solver_1_1Idr}{}\label{classgko_1_1solver_1_1Idr}\index{gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}}


IDR(s) is an efficient method for solving large nonsymmetric systems of linear equations.  




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



Inheritance diagram for gko::\+solver::\+Idr\texorpdfstring{$<$}{<} Value\+Type \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classgko_1_1solver_1_1Idr__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for gko::\+solver::\+Idr\texorpdfstring{$<$}{<} Value\+Type \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classgko_1_1solver_1_1Idr__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \doxymbox{\hyperlink{structgko_1_1solver_1_1Idr_1_1parameters__type}{parameters\+\_\+type}}
\item 
class \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr_1_1Factory}{Factory}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1solver_1_1Idr_a405e28f0e3aa0a90f1a9d8fd269413a8}\label{classgko_1_1solver_1_1Idr_a405e28f0e3aa0a90f1a9d8fd269413a8} 
using {\bfseries value\+\_\+type} = Value\+Type
\item 
\Hypertarget{classgko_1_1solver_1_1Idr_ac93c3bc65aa8df24d5413c1ef37efc91}\label{classgko_1_1solver_1_1Idr_ac93c3bc65aa8df24d5413c1ef37efc91} 
using {\bfseries transposed\+\_\+type} = Idr$<$Value\+Type$>$
\end{DoxyCompactItemize}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1EnablePolymorphicAssignment}{gko::\+\+Enable\+Polymorphic\+Assignment$<$ Idr$<$ default\+\_\+precision $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries result\+\_\+type}
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr_ad4833c93b74f11a9899787039837c708}{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_1solver_1_1Idr_aab42df886956fc56aedf7c25e0b8c25d}{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 
bool \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr_a7f9cb44f63a94d1bc9b94b465cf9348c}{apply\+\_\+uses\+\_\+initial\+\_\+guess}} () const override
\begin{DoxyCompactList}\small\item\em Return true as iterative solvers use the data in x as an initial guess. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr_ac265f8be9752fde6368b86a1c9a41570}{get\+\_\+subspace\+\_\+dim}} () const
\begin{DoxyCompactList}\small\item\em Gets the subspace dimension of the solver. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr_a72dbeb6df1732913721ec61d157a0069}{set\+\_\+subspace\+\_\+dim}} (const \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} other)
\begin{DoxyCompactList}\small\item\em Sets the subspace dimension of the solver. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{namespacegko_a107302a750bfa82a2107c77293f791c9}{remove\+\_\+complex}}$<$ Value\+Type $>$ \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr_aec02cc218f26e5619ac2c44230f52a7c}{get\+\_\+kappa}} () const
\begin{DoxyCompactList}\small\item\em Gets the kappa parameter of the solver. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr_a1552bbc46e5961608fe41521b6b846dc}{set\+\_\+kappa}} (const \doxymbox{\hyperlink{namespacegko_a107302a750bfa82a2107c77293f791c9}{remove\+\_\+complex}}$<$ Value\+Type $>$ other)
\begin{DoxyCompactList}\small\item\em Sets the kappa parameter of the solver. \end{DoxyCompactList}\item 
bool \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr_ac9bc7b7801121b03df82780be83feecf}{get\+\_\+deterministic}} () const
\begin{DoxyCompactList}\small\item\em Gets the deterministic parameter of the solver. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr_a72f7124b7acc0bb5a54a7c31e93abffb}{set\+\_\+deterministic}} (const bool other)
\begin{DoxyCompactList}\small\item\em Sets the deterministic parameter of the solver. \end{DoxyCompactList}\item 
bool \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr_ac06361fe669b70c6ab0507e7cd9cfa58}{get\+\_\+complex\+\_\+subspace}} () const
\begin{DoxyCompactList}\small\item\em Gets the complex\+\_\+subspace parameter of the solver. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr_a1e08efc79a76f2e2501b841a9c8f8e2b}{set\+\_\+complex\+\_\+subpsace}} (const bool other)
\begin{DoxyCompactList}\small\item\em Sets the complex\+\_\+subspace parameter of the solver. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr_aad43e606ac6624832c45e144f2d74305}{set\+\_\+complex\+\_\+subspace}} (const bool other)
\begin{DoxyCompactList}\small\item\em Sets the complex\+\_\+subspace parameter of the solver. \end{DoxyCompactList}\item 
\Hypertarget{classgko_1_1solver_1_1Idr_a0f58bb5b0b128a6199ee0920322e69ad}\label{classgko_1_1solver_1_1Idr_a0f58bb5b0b128a6199ee0920322e69ad} 
const \doxymbox{\hyperlink{structgko_1_1solver_1_1Idr_1_1parameters__type}{parameters\+\_\+type}} \& {\bfseries get\+\_\+parameters} () const
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1EnableLinOp}{gko::\+\+Enable\+Lin\+Op$<$ Idr$<$ default\+\_\+precision $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
const Idr$<$ \doxymbox{\hyperlink{namespacegko_a89637c833af7ae805802226d97cebebf}{default\+\_\+precision}} $>$ \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$<$ Idr$<$ default\+\_\+precision $>$ $>$}}}
\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_1solver_1_1EnableSolverBase}{gko::\+solver::\+\+Enable\+Solver\+Base$<$ Idr$<$ default\+\_\+precision $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
Enable\+Solver\+Base \& {\bfseries operator=} (const Enable\+Solver\+Base \&other)
\begin{DoxyCompactList}\small\item\em Creates a shallow copy of the provided system matrix, clones it onto this executor if executors don\textquotesingle{}t match. \end{DoxyCompactList}\item 
int {\bfseries get\+\_\+num\+\_\+workspace\+\_\+ops} () const override
\item 
std::\+vector$<$ std::\+string $>$ {\bfseries get\+\_\+workspace\+\_\+op\+\_\+names} () const override
\item 
std::\+vector$<$ int $>$ {\bfseries get\+\_\+workspace\+\_\+scalars} () const override
\begin{DoxyCompactList}\small\item\em Returns the IDs of all scalars (workspace vectors with system dimension-\/independent size, usually 1 x num\+\_\+rhs). \end{DoxyCompactList}\item 
std::\+vector$<$ int $>$ {\bfseries get\+\_\+workspace\+\_\+vectors} () const override
\begin{DoxyCompactList}\small\item\em Returns the IDs of all vectors (workspace vectors with system dimension-\/dependent size, usually system\+\_\+matrix\+\_\+size x num\+\_\+rhs). \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1solver_1_1SolverBase}{gko::\+solver::\+\+Solver\+Base$<$ Lin\+Op $>$}}}
\begin{DoxyCompactItemize}
\item 
std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1solver_1_1SolverBase_a2270916c6cb8451c275c0bca44c5d09e}{get\+\_\+system\+\_\+matrix}} () const
\begin{DoxyCompactList}\small\item\em Returns the system matrix, with its concrete type, used by the solver. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1solver_1_1EnableIterativeBase}{gko::\+solver::\+\+Enable\+Iterative\+Base$<$ Idr$<$ default\+\_\+precision $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
Enable\+Iterative\+Base \& {\bfseries operator=} (const Enable\+Iterative\+Base \&other)
\begin{DoxyCompactList}\small\item\em Creates a shallow copy of the provided stopping criterion, clones it onto this executor if executors don\textquotesingle{}t match. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1solver_1_1EnableIterativeBase_a5e96a31681a2bc03fffb2d76e7a7da12}{set\+\_\+stop\+\_\+criterion\+\_\+factory}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{namespacegko_1_1stop_a61839f234ddbaaf68db337e58e012499}{stop::\+\+Criterion\+Factory}} $>$ new\+\_\+stop\+\_\+factory) override
\begin{DoxyCompactList}\small\item\em Sets the stopping criterion of the solver. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1solver_1_1IterativeBase}{gko::\+solver::\+\+Iterative\+Base}}}
\begin{DoxyCompactItemize}
\item 
std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{namespacegko_1_1stop_a61839f234ddbaaf68db337e58e012499}{stop::\+\+Criterion\+Factory}} $>$ \doxymbox{\hyperlink{classgko_1_1solver_1_1IterativeBase_a26beb5ec985d883c22b614a8240d981d}{get\+\_\+stop\+\_\+criterion\+\_\+factory}} () const
\begin{DoxyCompactList}\small\item\em Gets the stopping criterion factory of the solver. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1solver_1_1EnablePreconditionable}{gko::\+solver::\+\+Enable\+Preconditionable$<$ Idr$<$ default\+\_\+precision $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
void \doxymbox{\hyperlink{classgko_1_1solver_1_1EnablePreconditionable_ad1f52e213256cd7c50811787dfcf4288}{set\+\_\+preconditioner}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ new\+\_\+precond) override
\begin{DoxyCompactList}\small\item\em Sets the preconditioner operator used by the \doxylink{classgko_1_1Preconditionable}{Preconditionable}. \end{DoxyCompactList}\item 
Enable\+Preconditionable \& {\bfseries operator=} (const Enable\+Preconditionable \&other)
\begin{DoxyCompactList}\small\item\em Creates a shallow copy of the provided preconditioner, clones it onto this executor if executors don\textquotesingle{}t match. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1Preconditionable}{gko::\+\+Preconditionable}}}
\begin{DoxyCompactItemize}
\item 
virtual std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1Preconditionable_abde941e32b5fc5007a4afe0f6d3fdfbc}{get\+\_\+preconditioner}} () const
\begin{DoxyCompactList}\small\item\em Returns the preconditioner operator used by the \doxylink{classgko_1_1Preconditionable}{Preconditionable}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1solver_1_1Idr_a523c248fa63a11e67f310ea026eaa3ec}\label{classgko_1_1solver_1_1Idr_a523c248fa63a11e67f310ea026eaa3ec} 
static auto {\bfseries build} () -\/$>$ decltype(\doxymbox{\hyperlink{classgko_1_1EnableDefaultFactory_a1d077101d9e788e6c65f088612d14cc3}{Factory::\+create}}())
\item 
static \doxymbox{\hyperlink{structgko_1_1solver_1_1Idr_1_1parameters__type}{parameters\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr_ac59f6a0e5f67e9ee543ba560f386a5f3}{parse}} (const \doxymbox{\hyperlink{classgko_1_1config_1_1pnode}{config::\+pnode}} \&config, const \doxymbox{\hyperlink{classgko_1_1config_1_1registry}{config::\+registry}} \&context, const \doxymbox{\hyperlink{classgko_1_1config_1_1type__descriptor}{config::\+type\+\_\+descriptor}} \&td\+\_\+for\+\_\+child=config::\+make\+\_\+type\+\_\+descriptor$<$ Value\+Type $>$())
\begin{DoxyCompactList}\small\item\em Create the parameters from the property\+\_\+tree. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1solver_1_1Idr_a21e6b2f8f1c8c1518cb71f037cb6899f}\label{classgko_1_1solver_1_1Idr_a21e6b2f8f1c8c1518cb71f037cb6899f} 
class {\bfseries Enable\+Lin\+Op$<$ Idr $>$}
\item 
\Hypertarget{classgko_1_1solver_1_1Idr_a6c08b391f40b890d18388d03acaae721}\label{classgko_1_1solver_1_1Idr_a6c08b391f40b890d18388d03acaae721} 
class {\bfseries Enable\+Polymorphic\+Object$<$ Idr, Lin\+Op $>$}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Value\+Type = default\+\_\+precision$>$\newline
class gko::\+solver::\+\+Idr$<$ Value\+Type $>$}
IDR(s) is an efficient method for solving large nonsymmetric systems of linear equations. 

The implemented version is the one presented in the paper "{}\+Algorithm 913:\+ An elegant IDR(s) variant that efficiently exploits biorthogonality properties"{} by M. B. Van Gijzen and P. Sonneveld.

The method is based on the induced dimension reduction theorem which provides a way to construct subsequent residuals that lie in a sequence of shrinking subspaces. These subspaces are spanned by s vectors which are first generated randomly and then orthonormalized. They are stored in a dense matrix.


\begin{DoxyTemplParams}{Template Parameters}
{\em Value\+Type} & precision of the elements of the system matrix. \\
\hline
\end{DoxyTemplParams}


\label{doc-func-members}
\Hypertarget{classgko_1_1solver_1_1Idr_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{classgko_1_1solver_1_1Idr_a7f9cb44f63a94d1bc9b94b465cf9348c}\index{gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}!apply\_uses\_initial\_guess@{apply\_uses\_initial\_guess}}
\index{apply\_uses\_initial\_guess@{apply\_uses\_initial\_guess}!gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{apply\_uses\_initial\_guess()}{apply\_uses\_initial\_guess()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1Idr_a7f9cb44f63a94d1bc9b94b465cf9348c} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
bool \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+Type $>$::\+apply\+\_\+uses\+\_\+initial\+\_\+guess (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}



Return true as iterative solvers use the data in x as an initial guess. 

\begin{DoxyReturn}{Returns}
true as iterative solvers use the data in x as an initial guess. 
\end{DoxyReturn}
\Hypertarget{classgko_1_1solver_1_1Idr_aab42df886956fc56aedf7c25e0b8c25d}\index{gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}!conj\_transpose@{conj\_transpose}}
\index{conj\_transpose@{conj\_transpose}!gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{conj\_transpose()}{conj\_transpose()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1Idr_aab42df886956fc56aedf7c25e0b8c25d} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+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_1solver_1_1Idr_ac06361fe669b70c6ab0507e7cd9cfa58}\index{gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}!get\_complex\_subspace@{get\_complex\_subspace}}
\index{get\_complex\_subspace@{get\_complex\_subspace}!gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{get\_complex\_subspace()}{get\_complex\_subspace()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1Idr_ac06361fe669b70c6ab0507e7cd9cfa58} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
bool \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+Type $>$::\+get\+\_\+complex\+\_\+subspace (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Gets the complex\+\_\+subspace parameter of the solver. 

\begin{DoxyReturn}{Returns}
the complex\+\_\+subspace parameter 
\end{DoxyReturn}
\Hypertarget{classgko_1_1solver_1_1Idr_ac9bc7b7801121b03df82780be83feecf}\index{gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}!get\_deterministic@{get\_deterministic}}
\index{get\_deterministic@{get\_deterministic}!gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{get\_deterministic()}{get\_deterministic()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1Idr_ac9bc7b7801121b03df82780be83feecf} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
bool \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+Type $>$::\+get\+\_\+deterministic (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Gets the deterministic parameter of the solver. 

\begin{DoxyReturn}{Returns}
the deterministic parameter 
\end{DoxyReturn}
\Hypertarget{classgko_1_1solver_1_1Idr_aec02cc218f26e5619ac2c44230f52a7c}\index{gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}!get\_kappa@{get\_kappa}}
\index{get\_kappa@{get\_kappa}!gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{get\_kappa()}{get\_kappa()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1Idr_aec02cc218f26e5619ac2c44230f52a7c} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
\doxymbox{\hyperlink{namespacegko_a107302a750bfa82a2107c77293f791c9}{remove\+\_\+complex}}$<$ Value\+Type $>$ \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+Type $>$::\+get\+\_\+kappa (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Gets the kappa parameter of the solver. 

\begin{DoxyReturn}{Returns}
the kappa parameter 
\end{DoxyReturn}
\Hypertarget{classgko_1_1solver_1_1Idr_ac265f8be9752fde6368b86a1c9a41570}\index{gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}!get\_subspace\_dim@{get\_subspace\_dim}}
\index{get\_subspace\_dim@{get\_subspace\_dim}!gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{get\_subspace\_dim()}{get\_subspace\_dim()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1Idr_ac265f8be9752fde6368b86a1c9a41570} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+Type $>$::\+get\+\_\+subspace\+\_\+dim (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Gets the subspace dimension of the solver. 

\begin{DoxyReturn}{Returns}
the subspace Dimension 
\end{DoxyReturn}
\Hypertarget{classgko_1_1solver_1_1Idr_ac59f6a0e5f67e9ee543ba560f386a5f3}\index{gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}!parse@{parse}}
\index{parse@{parse}!gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{parse()}{parse()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1Idr_ac59f6a0e5f67e9ee543ba560f386a5f3} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
\doxymbox{\hyperlink{structgko_1_1solver_1_1Idr_1_1parameters__type}{parameters\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+Type $>$::\+parse (\begin{DoxyParamCaption}\item[{const \doxymbox{\hyperlink{classgko_1_1config_1_1pnode}{config::\+pnode}} \&}]{config}{, }\item[{const \doxymbox{\hyperlink{classgko_1_1config_1_1registry}{config::\+registry}} \&}]{context}{, }\item[{const \doxymbox{\hyperlink{classgko_1_1config_1_1type__descriptor}{config::\+type\+\_\+descriptor}} \&}]{td\+\_\+for\+\_\+child}{ = {\ttfamily config:\+:\+make\+\_\+type\+\_\+descriptor$<$~ValueType~$>$()}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Create the parameters from the property\+\_\+tree. 

Because this is directly tied to the specific type, the value/\+index type settings within config are ignored and type\+\_\+descriptor is only used for children configs.


\begin{DoxyParams}{Parameters}
{\em config} & the property tree for setting \\
\hline
{\em context} & the registry \\
\hline
{\em td\+\_\+for\+\_\+child} & the type descriptor for children configs. The default uses the value type of this class.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
parameters 
\end{DoxyReturn}
\Hypertarget{classgko_1_1solver_1_1Idr_a1e08efc79a76f2e2501b841a9c8f8e2b}\index{gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}!set\_complex\_subpsace@{set\_complex\_subpsace}}
\index{set\_complex\_subpsace@{set\_complex\_subpsace}!gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{set\_complex\_subpsace()}{set\_complex\_subpsace()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1Idr_a1e08efc79a76f2e2501b841a9c8f8e2b} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
void \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+Type $>$::\+set\+\_\+complex\+\_\+subpsace (\begin{DoxyParamCaption}\item[{const bool}]{other}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Sets the complex\+\_\+subspace parameter of the solver. 


\begin{DoxyParams}{Parameters}
{\em other} & the new complex\+\_\+subspace parameter \\
\hline
\end{DoxyParams}
\Hypertarget{classgko_1_1solver_1_1Idr_aad43e606ac6624832c45e144f2d74305}\index{gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}!set\_complex\_subspace@{set\_complex\_subspace}}
\index{set\_complex\_subspace@{set\_complex\_subspace}!gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{set\_complex\_subspace()}{set\_complex\_subspace()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1Idr_aad43e606ac6624832c45e144f2d74305} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
void \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+Type $>$::\+set\+\_\+complex\+\_\+subspace (\begin{DoxyParamCaption}\item[{const bool}]{other}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Sets the complex\+\_\+subspace parameter of the solver. 


\begin{DoxyParams}{Parameters}
{\em other} & the new complex\+\_\+subspace parameter \\
\hline
\end{DoxyParams}


Referenced by \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr_a1e08efc79a76f2e2501b841a9c8f8e2b}{set\+\_\+complex\+\_\+subpsace()}}.

\Hypertarget{classgko_1_1solver_1_1Idr_a72f7124b7acc0bb5a54a7c31e93abffb}\index{gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}!set\_deterministic@{set\_deterministic}}
\index{set\_deterministic@{set\_deterministic}!gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{set\_deterministic()}{set\_deterministic()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1Idr_a72f7124b7acc0bb5a54a7c31e93abffb} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
void \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+Type $>$::\+set\+\_\+deterministic (\begin{DoxyParamCaption}\item[{const bool}]{other}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Sets the deterministic parameter of the solver. 


\begin{DoxyParams}{Parameters}
{\em other} & the new deterministic parameter \\
\hline
\end{DoxyParams}
\Hypertarget{classgko_1_1solver_1_1Idr_a1552bbc46e5961608fe41521b6b846dc}\index{gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}!set\_kappa@{set\_kappa}}
\index{set\_kappa@{set\_kappa}!gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{set\_kappa()}{set\_kappa()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1Idr_a1552bbc46e5961608fe41521b6b846dc} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
void \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+Type $>$::\+set\+\_\+kappa (\begin{DoxyParamCaption}\item[{const \doxymbox{\hyperlink{namespacegko_a107302a750bfa82a2107c77293f791c9}{remove\+\_\+complex}}$<$ Value\+Type $>$}]{other}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Sets the kappa parameter of the solver. 


\begin{DoxyParams}{Parameters}
{\em other} & the new kappa parameter \\
\hline
\end{DoxyParams}
\Hypertarget{classgko_1_1solver_1_1Idr_a72dbeb6df1732913721ec61d157a0069}\index{gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}!set\_subspace\_dim@{set\_subspace\_dim}}
\index{set\_subspace\_dim@{set\_subspace\_dim}!gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{set\_subspace\_dim()}{set\_subspace\_dim()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1Idr_a72dbeb6df1732913721ec61d157a0069} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
void \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+Type $>$::\+set\+\_\+subspace\+\_\+dim (\begin{DoxyParamCaption}\item[{const \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}}}]{other}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Sets the subspace dimension of the solver. 


\begin{DoxyParams}{Parameters}
{\em other} & the new subspace Dimension \\
\hline
\end{DoxyParams}
\Hypertarget{classgko_1_1solver_1_1Idr_ad4833c93b74f11a9899787039837c708}\index{gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}!transpose@{transpose}}
\index{transpose@{transpose}!gko::solver::Idr$<$ ValueType $>$@{gko::solver::Idr$<$ ValueType $>$}}
\doxysubsubsection{\texorpdfstring{transpose()}{transpose()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1Idr_ad4833c93b74f11a9899787039837c708} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
std::\+unique\+\_\+ptr$<$ \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+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 file:\+\begin{DoxyCompactItemize}
\item 
ginkgo/\+core/\+solver/\+idr.\+hpp\end{DoxyCompactItemize}
