\doxysection{gko::\+solver::\+Idr\texorpdfstring{$<$}{<} Value\+Type \texorpdfstring{$>$}{>}::\+parameters\+\_\+type Struct Reference}
\hypertarget{structgko_1_1solver_1_1Idr_1_1parameters__type}{}\label{structgko_1_1solver_1_1Idr_1_1parameters__type}\index{gko::solver::Idr$<$ ValueType $>$::parameters\_type@{gko::solver::Idr$<$ ValueType $>$::parameters\_type}}


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


Collaboration diagram for gko::\+solver::\+Idr\texorpdfstring{$<$}{<} Value\+Type \texorpdfstring{$>$}{>}::\+parameters\+\_\+type:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{structgko_1_1solver_1_1Idr_1_1parameters__type__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{structgko_1_1solver_1_1Idr_1_1parameters__type_a694e9b24db9f7fbabc1661b70bf9530a}\label{structgko_1_1solver_1_1Idr_1_1parameters__type_a694e9b24db9f7fbabc1661b70bf9530a} 
{\footnotesize template$<$typename... Args$>$ }\\auto {\bfseries with\+\_\+subspace\+\_\+dim} (Args \&\&... \+\_\+value) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\item 
\Hypertarget{structgko_1_1solver_1_1Idr_1_1parameters__type_ac471d96ae1dacee8cef5e6f6972556fc}\label{structgko_1_1solver_1_1Idr_1_1parameters__type_ac471d96ae1dacee8cef5e6f6972556fc} 
{\footnotesize template$<$typename... Args$>$ }\\auto {\bfseries with\+\_\+kappa} (Args \&\&... \+\_\+value) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\item 
\Hypertarget{structgko_1_1solver_1_1Idr_1_1parameters__type_a6b1a198c62cf56619aa55f2bd6618514}\label{structgko_1_1solver_1_1Idr_1_1parameters__type_a6b1a198c62cf56619aa55f2bd6618514} 
{\footnotesize template$<$typename... Args$>$ }\\auto {\bfseries with\+\_\+deterministic} (Args \&\&... \+\_\+value) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\item 
\Hypertarget{structgko_1_1solver_1_1Idr_1_1parameters__type_a94b99e279d1fb6ee1c01fba0fd45ee44}\label{structgko_1_1solver_1_1Idr_1_1parameters__type_a94b99e279d1fb6ee1c01fba0fd45ee44} 
{\footnotesize template$<$typename... Args$>$ }\\auto {\bfseries with\+\_\+complex\+\_\+subspace} (Args \&\&... \+\_\+value) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters}{gko::\+solver::\+enable\+\_\+preconditioned\+\_\+iterative\+\_\+solver\+\_\+factory\+\_\+parameters$<$ parameters\+\_\+type, Factory $>$}}}
\begin{DoxyCompactItemize}
\item 
auto {\bfseries with\+\_\+preconditioner} (\doxymbox{\hyperlink{classgko_1_1deferred__factory__parameter}{::\+gko::\+deferred\+\_\+factory\+\_\+parameter}}$<$ preconditioner\+\_\+type $>$ factory) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\item 
auto {\bfseries with\+\_\+generated\+\_\+preconditioner} (Args \&\&... \+\_\+value) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{structgko_1_1solver_1_1enable__iterative__solver__factory__parameters}{gko::\+solver::\+enable\+\_\+iterative\+\_\+solver\+\_\+factory\+\_\+parameters$<$ parameters\+\_\+type, Factory $>$}}}
\begin{DoxyCompactItemize}
\item 
auto {\bfseries with\+\_\+criteria} (Args \&\&... factories) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1enable__parameters__type}{gko::\+enable\+\_\+parameters\+\_\+type$<$ parameters\+\_\+type, Factory $>$}}}
\begin{DoxyCompactItemize}
\item 
parameters\+\_\+type \& {\bfseries with\+\_\+loggers} (Args \&\&... \+\_\+value)
\begin{DoxyCompactList}\small\item\em Provides the loggers to be added to the factory and its generated objects in a fluent interface. \end{DoxyCompactList}\item 
std::\+unique\+\_\+ptr$<$ Factory $>$ \doxymbox{\hyperlink{classgko_1_1enable__parameters__type_a65a5adc4eb7078475d26e7991efae64d}{on}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$ exec) const
\begin{DoxyCompactList}\small\item\em Creates a new factory on the specified executor. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{structgko_1_1solver_1_1Idr_1_1parameters__type_af6626707077c83ef70ca01be17f149ff}{subspace\+\_\+dim}} \{2u\}
\begin{DoxyCompactList}\small\item\em Dimension of the subspace S. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{namespacegko_a107302a750bfa82a2107c77293f791c9}{remove\+\_\+complex}}$<$ Value\+Type $>$ \doxymbox{\hyperlink{structgko_1_1solver_1_1Idr_1_1parameters__type_a73c085e2dd8438bbc658619ef5908308}{kappa}} \{0.\+7\}
\begin{DoxyCompactList}\small\item\em Threshold to determine if Av\+\_\+n and v\+\_\+n are too close to being perpendicular. \end{DoxyCompactList}\item 
bool \doxymbox{\hyperlink{structgko_1_1solver_1_1Idr_1_1parameters__type_a79841ca6357faf532aeb2f8cd513d92b}{deterministic}} \{false\}
\begin{DoxyCompactList}\small\item\em If set to true, the vectors spanning the subspace S are chosen deterministically. \end{DoxyCompactList}\item 
bool \doxymbox{\hyperlink{structgko_1_1solver_1_1Idr_1_1parameters__type_a6fbc7890c7a7ef7a9457c587f254d66a}{complex\+\_\+subspace}} \{false\}
\begin{DoxyCompactList}\small\item\em If set to true, IDR will use a complex subspace S also for real problems, allowing for faster convergence and better results by acknowledging the influence of complex eigenvectors. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes inherited from \doxymbox{\hyperlink{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters}{gko::\+solver::\+enable\+\_\+preconditioned\+\_\+iterative\+\_\+solver\+\_\+factory\+\_\+parameters$<$ parameters\+\_\+type, Factory $>$}}}
\begin{DoxyCompactItemize}
\item 
std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOpFactory}{Lin\+Op\+Factory}} $>$ \doxymbox{\hyperlink{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters_abc270279ce305336c15515e385d207a1}{preconditioner}}
\begin{DoxyCompactList}\small\item\em The preconditioner to be used by the iterative solver. \end{DoxyCompactList}\item 
std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters_a7765c24219826716fd9be54b9a068f2e}{generated\+\_\+preconditioner}}
\begin{DoxyCompactList}\small\item\em Already generated preconditioner. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes inherited from \doxymbox{\hyperlink{structgko_1_1solver_1_1enable__iterative__solver__factory__parameters}{gko::\+solver::\+enable\+\_\+iterative\+\_\+solver\+\_\+factory\+\_\+parameters$<$ parameters\+\_\+type, Factory $>$}}}
\begin{DoxyCompactItemize}
\item 
std::\+vector$<$ std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{namespacegko_1_1stop_a61839f234ddbaaf68db337e58e012499}{stop::\+\+Criterion\+Factory}} $>$ $>$ {\bfseries criteria}
\begin{DoxyCompactList}\small\item\em Stopping criteria to be used by the solver. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1enable__parameters__type}{gko::\+enable\+\_\+parameters\+\_\+type$<$ parameters\+\_\+type, Factory $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries factory}
\end{DoxyCompactItemize}


\label{doc-variable-members}
\Hypertarget{structgko_1_1solver_1_1Idr_1_1parameters__type_doc-variable-members}
\doxysubsection{Member Data Documentation}
\Hypertarget{structgko_1_1solver_1_1Idr_1_1parameters__type_a6fbc7890c7a7ef7a9457c587f254d66a}\index{gko::solver::Idr$<$ ValueType $>$::parameters\_type@{gko::solver::Idr$<$ ValueType $>$::parameters\_type}!complex\_subspace@{complex\_subspace}}
\index{complex\_subspace@{complex\_subspace}!gko::solver::Idr$<$ ValueType $>$::parameters\_type@{gko::solver::Idr$<$ ValueType $>$::parameters\_type}}
\doxysubsubsection{\texorpdfstring{complex\_subspace}{complex\_subspace}}
{\footnotesize\ttfamily \label{structgko_1_1solver_1_1Idr_1_1parameters__type_a6fbc7890c7a7ef7a9457c587f254d66a} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
bool \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+Type $>$::\+parameters\+\_\+type::\+complex\+\_\+subspace \{false\}}



If set to true, IDR will use a complex subspace S also for real problems, allowing for faster convergence and better results by acknowledging the influence of complex eigenvectors. 

The default is false. \Hypertarget{structgko_1_1solver_1_1Idr_1_1parameters__type_a79841ca6357faf532aeb2f8cd513d92b}\index{gko::solver::Idr$<$ ValueType $>$::parameters\_type@{gko::solver::Idr$<$ ValueType $>$::parameters\_type}!deterministic@{deterministic}}
\index{deterministic@{deterministic}!gko::solver::Idr$<$ ValueType $>$::parameters\_type@{gko::solver::Idr$<$ ValueType $>$::parameters\_type}}
\doxysubsubsection{\texorpdfstring{deterministic}{deterministic}}
{\footnotesize\ttfamily \label{structgko_1_1solver_1_1Idr_1_1parameters__type_a79841ca6357faf532aeb2f8cd513d92b} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
bool \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+Type $>$::\+parameters\+\_\+type::\+deterministic \{false\}}



If set to true, the vectors spanning the subspace S are chosen deterministically. 

This is mostly needed for testing purposes.

Note:\+ If \textquotesingle{}deterministic\textquotesingle{} is set to true, the subspace vectors are generated in serial on the CPU, which can be very slow.

The default behaviour is to choose the subspace vectors randomly. \Hypertarget{structgko_1_1solver_1_1Idr_1_1parameters__type_a73c085e2dd8438bbc658619ef5908308}\index{gko::solver::Idr$<$ ValueType $>$::parameters\_type@{gko::solver::Idr$<$ ValueType $>$::parameters\_type}!kappa@{kappa}}
\index{kappa@{kappa}!gko::solver::Idr$<$ ValueType $>$::parameters\_type@{gko::solver::Idr$<$ ValueType $>$::parameters\_type}}
\doxysubsubsection{\texorpdfstring{kappa}{kappa}}
{\footnotesize\ttfamily \label{structgko_1_1solver_1_1Idr_1_1parameters__type_a73c085e2dd8438bbc658619ef5908308} 
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 $>$::\+parameters\+\_\+type::\+kappa \{0.\+7\}}



Threshold to determine if Av\+\_\+n and v\+\_\+n are too close to being perpendicular. 

This is considered to be the case if $|(Av_n)^H * v_n / (norm(Av_n) * norm(v_n))| < kappa$ \Hypertarget{structgko_1_1solver_1_1Idr_1_1parameters__type_af6626707077c83ef70ca01be17f149ff}\index{gko::solver::Idr$<$ ValueType $>$::parameters\_type@{gko::solver::Idr$<$ ValueType $>$::parameters\_type}!subspace\_dim@{subspace\_dim}}
\index{subspace\_dim@{subspace\_dim}!gko::solver::Idr$<$ ValueType $>$::parameters\_type@{gko::solver::Idr$<$ ValueType $>$::parameters\_type}}
\doxysubsubsection{\texorpdfstring{subspace\_dim}{subspace\_dim}}
{\footnotesize\ttfamily \label{structgko_1_1solver_1_1Idr_1_1parameters__type_af6626707077c83ef70ca01be17f149ff} 
template$<$typename Value\+Type = default\+\_\+precision$>$ \\
\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\+\_\+type}} \doxymbox{\hyperlink{classgko_1_1solver_1_1Idr}{gko::\+solver::\+\+Idr}}$<$ Value\+Type $>$::\+parameters\+\_\+type::\+subspace\+\_\+dim \{2u\}}



Dimension of the subspace S. 

Determines how many intermediate residuals are computed in each iteration. 

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