\doxysection{gko::\+experimental::\+distributed::\+preconditioner::\+Schwarz\texorpdfstring{$<$}{<} Value\+Type, Local\+Index\+Type, Global\+Index\+Type \texorpdfstring{$>$}{>}::\+parameters\+\_\+type Struct Reference}
\hypertarget{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type}{}\label{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type}\index{gko::experimental::distributed::preconditioner::Schwarz$<$ ValueType, LocalIndexType, GlobalIndexType $>$::parameters\_type@{gko::experimental::distributed::preconditioner::Schwarz$<$ ValueType, LocalIndexType, GlobalIndexType $>$::parameters\_type}}


Inheritance diagram for gko::\+experimental::\+distributed::\+preconditioner::\+Schwarz\texorpdfstring{$<$}{<} Value\+Type, Local\+Index\+Type, Global\+Index\+Type \texorpdfstring{$>$}{>}::\+parameters\+\_\+type:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=284pt]{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for gko::\+experimental::\+distributed::\+preconditioner::\+Schwarz\texorpdfstring{$<$}{<} Value\+Type, Local\+Index\+Type, Global\+Index\+Type \texorpdfstring{$>$}{>}::\+parameters\+\_\+type:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_ab7c647c8adca989b7766da2b73e7e5a1}\label{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_ab7c647c8adca989b7766da2b73e7e5a1} 
auto {\bfseries with\+\_\+local\+\_\+solver} (\doxymbox{\hyperlink{classgko_1_1deferred__factory__parameter}{::\+gko::\+deferred\+\_\+factory\+\_\+parameter}}$<$ local\+\_\+solver\+\_\+type $>$ factory) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\item 
\Hypertarget{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_ac1573f683f07a0147bb2a43065b13bd0}\label{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_ac1573f683f07a0147bb2a43065b13bd0} 
{\footnotesize template$<$typename... Args$>$ }\\auto {\bfseries with\+\_\+generated\+\_\+local\+\_\+solver} (Args \&\&... \+\_\+value) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\item 
\Hypertarget{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_a56eb42534f546f1ea7957e500b3e71d2}\label{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_a56eb42534f546f1ea7957e500b3e71d2} 
{\footnotesize template$<$typename... Args$>$ }\\auto {\bfseries with\+\_\+l1\+\_\+smoother} (Args \&\&... \+\_\+value) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\item 
\Hypertarget{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_a4e0ae77fa9ca3fe861d031fc0567d189}\label{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_a4e0ae77fa9ca3fe861d031fc0567d189} 
{\footnotesize template$<$typename... Args$>$ }\\auto {\bfseries with\+\_\+coarse\+\_\+weight} (Args \&\&... \+\_\+value) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\item 
\Hypertarget{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_a00988793157eb94edd2e50250fe0b592}\label{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_a00988793157eb94edd2e50250fe0b592} 
auto {\bfseries with\+\_\+coarse\+\_\+level} (\doxymbox{\hyperlink{classgko_1_1deferred__factory__parameter}{::\+gko::\+deferred\+\_\+factory\+\_\+parameter}}$<$ coarse\+\_\+level\+\_\+type $>$ factory) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\item 
\Hypertarget{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_a6597b4ace034846e9569623eba1d49c5}\label{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_a6597b4ace034846e9569623eba1d49c5} 
auto {\bfseries with\+\_\+coarse\+\_\+solver} (\doxymbox{\hyperlink{classgko_1_1deferred__factory__parameter}{::\+gko::\+deferred\+\_\+factory\+\_\+parameter}}$<$ coarse\+\_\+solver\+\_\+type $>$ factory) -\/$>$ 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 
\Hypertarget{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_ab87b426379b87584c6ae87e8a87e5cc5}\label{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_ab87b426379b87584c6ae87e8a87e5cc5} 
std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOpFactory}{Lin\+Op\+Factory}} $>$ {\bfseries local\+\_\+solver} \{\}
\begin{DoxyCompactList}\small\item\em Local solver factory. \end{DoxyCompactList}\item 
\Hypertarget{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_a6fb14b36a6cfc1b42e98ab01bfac9e08}\label{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_a6fb14b36a6cfc1b42e98ab01bfac9e08} 
std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ {\bfseries generated\+\_\+local\+\_\+solver} \{nullptr\}
\begin{DoxyCompactList}\small\item\em Generated Inner solvers. \end{DoxyCompactList}\item 
bool \doxymbox{\hyperlink{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_ac3dc2f0edd0a79f9d6acca15ecca96e6}{l1\+\_\+smoother}} \{false\}
\begin{DoxyCompactList}\small\item\em Enable l1 smoother. \end{DoxyCompactList}\item 
Value\+Type \doxymbox{\hyperlink{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_af643f67ac7e05c6b1d129895ce8a135d}{coarse\+\_\+weight}} \{Value\+Type\{-\/1.\+0\}\}
\begin{DoxyCompactList}\small\item\em Coarse weighting. \end{DoxyCompactList}\item 
std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOpFactory}{Lin\+Op\+Factory}} $>$ \doxymbox{\hyperlink{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_a019cc4ecb7badba295249fc74afb69cc}{coarse\+\_\+level}} \{\}
\begin{DoxyCompactList}\small\item\em Operator factory list to generate the triplet (prolong\+\_\+op, coarse\+\_\+op, restrict\+\_\+op), {\ttfamily A\+\_\+c = R \texorpdfstring{$\ast$}{*} A \texorpdfstring{$\ast$}{*} P}. \end{DoxyCompactList}\item 
\Hypertarget{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_ac1aa0f01ead3137c337fd26889a18c85}\label{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_ac1aa0f01ead3137c337fd26889a18c85} 
std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOpFactory}{Lin\+Op\+Factory}} $>$ {\bfseries coarse\+\_\+solver} \{\}
\begin{DoxyCompactList}\small\item\em Coarse solver factory. \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_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_doc-variable-members}
\doxysubsection{Member Data Documentation}
\Hypertarget{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_a019cc4ecb7badba295249fc74afb69cc}\index{gko::experimental::distributed::preconditioner::Schwarz$<$ ValueType, LocalIndexType, GlobalIndexType $>$::parameters\_type@{gko::experimental::distributed::preconditioner::Schwarz$<$ ValueType, LocalIndexType, GlobalIndexType $>$::parameters\_type}!coarse\_level@{coarse\_level}}
\index{coarse\_level@{coarse\_level}!gko::experimental::distributed::preconditioner::Schwarz$<$ ValueType, LocalIndexType, GlobalIndexType $>$::parameters\_type@{gko::experimental::distributed::preconditioner::Schwarz$<$ ValueType, LocalIndexType, GlobalIndexType $>$::parameters\_type}}
\doxysubsubsection{\texorpdfstring{coarse\_level}{coarse\_level}}
{\footnotesize\ttfamily \label{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_a019cc4ecb7badba295249fc74afb69cc} 
template$<$typename Value\+Type = default\+\_\+precision, typename Local\+Index\+Type = int32, typename Global\+Index\+Type = int64$>$ \\
std::\+shared\+\_\+ptr$<$const \doxymbox{\hyperlink{classgko_1_1LinOpFactory}{Lin\+Op\+Factory}}$>$ \doxymbox{\hyperlink{classgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz}{gko::\+experimental::\+distributed::\+preconditioner::\+\+Schwarz}}$<$ Value\+Type, Local\+Index\+Type, Global\+Index\+Type $>$::\+parameters\+\_\+type::\+coarse\+\_\+level \{\}}



Operator factory list to generate the triplet (prolong\+\_\+op, coarse\+\_\+op, restrict\+\_\+op), {\ttfamily A\+\_\+c = R \texorpdfstring{$\ast$}{*} A \texorpdfstring{$\ast$}{*} P}. 

Note:\+ The linop factory must generate the triplet (R, A\+\_\+c, P). For example, any coarse level generator from \doxylink{classgko_1_1multigrid_1_1MultigridLevel}{multigrid::\+\+Multigrid\+Level} can be used. \Hypertarget{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_af643f67ac7e05c6b1d129895ce8a135d}\index{gko::experimental::distributed::preconditioner::Schwarz$<$ ValueType, LocalIndexType, GlobalIndexType $>$::parameters\_type@{gko::experimental::distributed::preconditioner::Schwarz$<$ ValueType, LocalIndexType, GlobalIndexType $>$::parameters\_type}!coarse\_weight@{coarse\_weight}}
\index{coarse\_weight@{coarse\_weight}!gko::experimental::distributed::preconditioner::Schwarz$<$ ValueType, LocalIndexType, GlobalIndexType $>$::parameters\_type@{gko::experimental::distributed::preconditioner::Schwarz$<$ ValueType, LocalIndexType, GlobalIndexType $>$::parameters\_type}}
\doxysubsubsection{\texorpdfstring{coarse\_weight}{coarse\_weight}}
{\footnotesize\ttfamily \label{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_af643f67ac7e05c6b1d129895ce8a135d} 
template$<$typename Value\+Type = default\+\_\+precision, typename Local\+Index\+Type = int32, typename Global\+Index\+Type = int64$>$ \\
Value\+Type \doxymbox{\hyperlink{classgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz}{gko::\+experimental::\+distributed::\+preconditioner::\+\+Schwarz}}$<$ Value\+Type, Local\+Index\+Type, Global\+Index\+Type $>$::\+parameters\+\_\+type::\+coarse\+\_\+weight \{Value\+Type\{-\/1.\+0\}\}}



Coarse weighting. 

By default the coarse and the local solutions are added together (when the coarse weight is \texorpdfstring{$<$}{<} 0 or \texorpdfstring{$>$}{>} 1). A weighting can instead be provided if the coarse solution tends to over-\/correct. \Hypertarget{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_ac3dc2f0edd0a79f9d6acca15ecca96e6}\index{gko::experimental::distributed::preconditioner::Schwarz$<$ ValueType, LocalIndexType, GlobalIndexType $>$::parameters\_type@{gko::experimental::distributed::preconditioner::Schwarz$<$ ValueType, LocalIndexType, GlobalIndexType $>$::parameters\_type}!l1\_smoother@{l1\_smoother}}
\index{l1\_smoother@{l1\_smoother}!gko::experimental::distributed::preconditioner::Schwarz$<$ ValueType, LocalIndexType, GlobalIndexType $>$::parameters\_type@{gko::experimental::distributed::preconditioner::Schwarz$<$ ValueType, LocalIndexType, GlobalIndexType $>$::parameters\_type}}
\doxysubsubsection{\texorpdfstring{l1\_smoother}{l1\_smoother}}
{\footnotesize\ttfamily \label{structgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz_1_1parameters__type_ac3dc2f0edd0a79f9d6acca15ecca96e6} 
template$<$typename Value\+Type = default\+\_\+precision, typename Local\+Index\+Type = int32, typename Global\+Index\+Type = int64$>$ \\
bool \doxymbox{\hyperlink{classgko_1_1experimental_1_1distributed_1_1preconditioner_1_1Schwarz}{gko::\+experimental::\+distributed::\+preconditioner::\+\+Schwarz}}$<$ Value\+Type, Local\+Index\+Type, Global\+Index\+Type $>$::\+parameters\+\_\+type::\+l1\+\_\+smoother \{false\}}



Enable l1 smoother. 

This creates a diagonal matrix from the row-\/wise absolute sum of the non-\/local matrix entries. The diagonal matrix is then added to the system matrix when generating the local solver.

Note:\+ The L1 smoother will not be used for the coarse level matrix generation, and the original system matrix will still be used. 

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