\doxysection{chebyshev.\+hpp}
\hypertarget{chebyshev_8hpp_source}{}\label{chebyshev_8hpp_source}\index{ginkgo/core/solver/chebyshev.hpp@{ginkgo/core/solver/chebyshev.hpp}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{//\ SPDX-\/FileCopyrightText:\ 2025\ The\ Ginkgo\ authors}}
\DoxyCodeLine{00002\ \textcolor{comment}{//}}
\DoxyCodeLine{00003\ \textcolor{comment}{//\ SPDX-\/License-\/Identifier:\ BSD-\/3-\/Clause}}
\DoxyCodeLine{00004\ }
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#ifndef\ GKO\_PUBLIC\_CORE\_SOLVER\_CHEBYSHEV\_HPP\_}}
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#define\ GKO\_PUBLIC\_CORE\_SOLVER\_CHEBYSHEV\_HPP\_}}
\DoxyCodeLine{00007\ }
\DoxyCodeLine{00008\ }
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#include\ <vector>}}
\DoxyCodeLine{00010\ }
\DoxyCodeLine{00011\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/exception\_helpers.hpp>}}
\DoxyCodeLine{00012\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/lin\_op.hpp>}}
\DoxyCodeLine{00013\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/types.hpp>}}
\DoxyCodeLine{00014\ \textcolor{preprocessor}{\#include\ <ginkgo/core/config/config.hpp>}}
\DoxyCodeLine{00015\ \textcolor{preprocessor}{\#include\ <ginkgo/core/config/registry.hpp>}}
\DoxyCodeLine{00016\ \textcolor{preprocessor}{\#include\ <ginkgo/core/matrix/dense.hpp>}}
\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#include\ <ginkgo/core/matrix/identity.hpp>}}
\DoxyCodeLine{00018\ \textcolor{preprocessor}{\#include\ <ginkgo/core/solver/solver\_base.hpp>}}
\DoxyCodeLine{00019\ \textcolor{preprocessor}{\#include\ <ginkgo/core/stop/combined.hpp>}}
\DoxyCodeLine{00020\ \textcolor{preprocessor}{\#include\ <ginkgo/core/stop/criterion.hpp>}}
\DoxyCodeLine{00021\ \textcolor{preprocessor}{\#include\ <ginkgo/core/stop/iteration.hpp>}}
\DoxyCodeLine{00022\ }
\DoxyCodeLine{00023\ }
\DoxyCodeLine{00024\ \textcolor{keyword}{namespace\ }\doxymbox{\hyperlink{namespacegko}{gko}}\ \{}
\DoxyCodeLine{00025\ \textcolor{keyword}{namespace\ }\doxymbox{\hyperlink{namespacegko_1_1solver}{solver}}\ \{}
\DoxyCodeLine{00026\ \textcolor{keyword}{namespace\ }detail\ \{}
\DoxyCodeLine{00027\ }
\DoxyCodeLine{00028\ }
\DoxyCodeLine{00029\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ T>}
\DoxyCodeLine{00030\ \textcolor{keyword}{using\ }coeff\_type\ =}
\DoxyCodeLine{00031\ \ \ \ \ std::conditional\_t<is\_complex<T>(),\ std::complex<double>,\ \textcolor{keywordtype}{double}>;}
\DoxyCodeLine{00032\ }
\DoxyCodeLine{00033\ }
\DoxyCodeLine{00034\ \}}
\DoxyCodeLine{00035\ }
\DoxyCodeLine{00061\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType\ =\ default\_precision>}
\DoxyCodeLine{00062\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev}}\ final}
\DoxyCodeLine{00063\ \ \ \ \ :\ \textcolor{keyword}{public}\ \doxymbox{\hyperlink{classgko_1_1EnableLinOp}{EnableLinOp}}<Chebyshev<ValueType>>,}
\DoxyCodeLine{00064\ \ \ \ \ \ \ \textcolor{keyword}{public}\ EnablePreconditionedIterativeSolver<ValueType,}
\DoxyCodeLine{00065\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Chebyshev<ValueType>>,}
\DoxyCodeLine{00066\ \ \ \ \ \ \ \textcolor{keyword}{public}\ EnableApplyWithInitialGuess<Chebyshev<ValueType>>,}
\DoxyCodeLine{00067\ \ \ \ \ \ \ \textcolor{keyword}{public}\ \doxymbox{\hyperlink{classgko_1_1Transposable}{Transposable}}\ \{}
\DoxyCodeLine{00068\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1EnableLinOp}{EnableLinOp}}<\doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev}}>;}
\DoxyCodeLine{00069\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1EnablePolymorphicObject}{EnablePolymorphicObject}}<\doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev}},\ \doxymbox{\hyperlink{classgko_1_1LinOp}{LinOp}}>;}
\DoxyCodeLine{00070\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }EnableApplyWithInitialGuess<\doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev}}>;}
\DoxyCodeLine{00071\ \ \ \ \ GKO\_ASSERT\_SUPPORTED\_VALUE\_TYPE;}
\DoxyCodeLine{00072\ }
\DoxyCodeLine{00073\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00074\ \ \ \ \ \textcolor{keyword}{using\ }value\_type\ =\ ValueType;}
\DoxyCodeLine{00075\ \ \ \ \ \textcolor{keyword}{using\ }transposed\_type\ =\ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev<ValueType>}};}
\DoxyCodeLine{00076\ }
\DoxyCodeLine{00077\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_afa5efbd38a62f86477d95d8a239b3c50}{transpose}}()\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00078\ }
\DoxyCodeLine{00079\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a94ec64680857bb048f996056118eeb28}{conj\_transpose}}()\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00080\ }
\DoxyCodeLine{00086\ \ \ \ \ \textcolor{keywordtype}{bool}\ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_aa27987841c377274ac47350142bb990a}{apply\_uses\_initial\_guess}}()\textcolor{keyword}{\ const\ override}}
\DoxyCodeLine{00087\ \textcolor{keyword}{\ \ \ \ }\{}
\DoxyCodeLine{00088\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ this-\/>get\_default\_initial\_guess()\ ==}
\DoxyCodeLine{00089\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_1_1solver_a82d21321745fbd3dc65c276d5838bb8aa1f5f6080965ed6d0a90e6b9ec599e441}{initial\_guess\_mode::provided}};}
\DoxyCodeLine{00090\ \ \ \ \ \}}
\DoxyCodeLine{00091\ }
\DoxyCodeLine{00098\ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev}}\&\ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_af12a9e40d7a50b56377c948f4e8275c0}{operator=}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev}}\&);}
\DoxyCodeLine{00099\ }
\DoxyCodeLine{00107\ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev}}\&\ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_afaa24451366c80bc6f27215fc98620e2}{operator=}}(\doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev}}\&\&);}
\DoxyCodeLine{00108\ }
\DoxyCodeLine{00113\ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev}}\&);}
\DoxyCodeLine{00114\ }
\DoxyCodeLine{00121\ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a3838daecb94d8aedaa207beb5d90a384}{Chebyshev}}(\doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev}}\&\&);}
\DoxyCodeLine{00122\ }
\DoxyCodeLine{00123\ \ \ \ \ \textcolor{keyword}{class\ }Factory;}
\DoxyCodeLine{00124\ }
\DoxyCodeLine{00125\ \ \ \ \ \textcolor{keyword}{struct\ }\doxymbox{\hyperlink{structgko_1_1solver_1_1Chebyshev_1_1parameters__type}{parameters\_type}}}
\DoxyCodeLine{00126\ \ \ \ \ \ \ \ \ :\ \doxymbox{\hyperlink{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters}{enable\_preconditioned\_iterative\_solver\_factory\_parameters}}<}
\DoxyCodeLine{00127\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ parameters\_type,\ Factory>\ \{}
\DoxyCodeLine{00135\ \ \ \ \ \ \ \ \ std::pair<detail::coeff\_type<value\_type>,}
\DoxyCodeLine{00136\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ detail::coeff\_type<value\_type>>}
\DoxyCodeLine{00137\ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{group__LinOp_gaa292314d27ec1fb7ad54debaa3606ea8}{GKO\_FACTORY\_PARAMETER\_VECTOR}}(\doxymbox{\hyperlink{structgko_1_1solver_1_1Chebyshev_1_1parameters__type_a6820e0511be025f93cee969edf3a59ae}{foci}},}
\DoxyCodeLine{00138\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ detail::coeff\_type<value\_type>\{0\},}
\DoxyCodeLine{00139\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ detail::coeff\_type<value\_type>\{1\});}
\DoxyCodeLine{00140\ }
\DoxyCodeLine{00145\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_1_1solver_a82d21321745fbd3dc65c276d5838bb8a}{initial\_guess\_mode}}\ \doxymbox{\hyperlink{group__LinOp_ga49d4c09c39f06b22bebbbfd1d8bfe450}{GKO\_FACTORY\_PARAMETER\_SCALAR}}(}
\DoxyCodeLine{00146\ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{structgko_1_1solver_1_1Chebyshev_1_1parameters__type_a7a41a9b17c2728165d98a87988214a6b}{default\_initial\_guess}},\ \doxymbox{\hyperlink{namespacegko_1_1solver_a82d21321745fbd3dc65c276d5838bb8aa1f5f6080965ed6d0a90e6b9ec599e441}{initial\_guess\_mode::provided}});}
\DoxyCodeLine{00147\ \ \ \ \ \};}
\DoxyCodeLine{00148\ }
\DoxyCodeLine{00149\ \ \ \ \ \doxymbox{\hyperlink{group__LinOp_ga8e0af90ec2414b768266f77cedffc309}{GKO\_ENABLE\_LIN\_OP\_FACTORY}}(\doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev}},\ parameters,\ Factory);}
\DoxyCodeLine{00150\ \ \ \ \ \doxymbox{\hyperlink{group__LinOp_ga521f65604cc4cf427dcb2ecfa49b757c}{GKO\_ENABLE\_BUILD\_METHOD}}(Factory);}
\DoxyCodeLine{00151\ }
\DoxyCodeLine{00165\ \ \ \ \ \textcolor{keyword}{static}\ parameters\_type\ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a77ecfacba7fd986d02cb5c9aa2282d60}{parse}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1config_1_1pnode}{config::pnode}}\&\ config,}
\DoxyCodeLine{00166\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1config_1_1registry}{config::registry}}\&\ context,}
\DoxyCodeLine{00167\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1config_1_1type__descriptor}{config::type\_descriptor}}\&\ td\_for\_child\ =}
\DoxyCodeLine{00168\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ config::make\_type\_descriptor<ValueType>());}
\DoxyCodeLine{00169\ }
\DoxyCodeLine{00170\ \textcolor{keyword}{protected}:}
\DoxyCodeLine{00171\ \ \ \ \ \textcolor{keywordtype}{void}\ apply\_impl(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1LinOp}{LinOp}}*\ b,\ \doxymbox{\hyperlink{classgko_1_1LinOp}{LinOp}}*\ x)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00172\ }
\DoxyCodeLine{00173\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ VectorType>}
\DoxyCodeLine{00174\ \ \ \ \ \textcolor{keywordtype}{void}\ apply\_dense\_impl(\textcolor{keyword}{const}\ VectorType*\ b,\ VectorType*\ x,}
\DoxyCodeLine{00175\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_1_1solver_a82d21321745fbd3dc65c276d5838bb8a}{initial\_guess\_mode}}\ guess)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00176\ }
\DoxyCodeLine{00177\ \ \ \ \ \textcolor{keywordtype}{void}\ apply\_impl(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1LinOp}{LinOp}}*\ alpha,\ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1LinOp}{LinOp}}*\ b,\ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1LinOp}{LinOp}}*\ beta,}
\DoxyCodeLine{00178\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1LinOp}{LinOp}}*\ x)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00179\ }
\DoxyCodeLine{00180\ \ \ \ \ \textcolor{keywordtype}{void}\ apply\_with\_initial\_guess\_impl(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1LinOp}{LinOp}}*\ b,\ \doxymbox{\hyperlink{classgko_1_1LinOp}{LinOp}}*\ x,}
\DoxyCodeLine{00181\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_1_1solver_a82d21321745fbd3dc65c276d5838bb8a}{initial\_guess\_mode}}\ guess)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00182\ }
\DoxyCodeLine{00183\ \ \ \ \ \textcolor{keywordtype}{void}\ apply\_with\_initial\_guess\_impl(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1LinOp}{LinOp}}*\ alpha,\ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1LinOp}{LinOp}}*\ b,}
\DoxyCodeLine{00184\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1LinOp}{LinOp}}*\ beta,\ \doxymbox{\hyperlink{classgko_1_1LinOp}{LinOp}}*\ x,}
\DoxyCodeLine{00185\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_1_1solver_a82d21321745fbd3dc65c276d5838bb8a}{initial\_guess\_mode}}\ guess)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00186\ }
\DoxyCodeLine{00187\ \ \ \ \ \textcolor{keyword}{explicit}\ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev}}(std::shared\_ptr<const\ Executor>\ exec);}
\DoxyCodeLine{00188\ }
\DoxyCodeLine{00189\ \ \ \ \ \textcolor{keyword}{explicit}\ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev_a4e6a776ab630046caae047dad07bfb91}{Chebyshev}}(\textcolor{keyword}{const}\ Factory*\ factory,}
\DoxyCodeLine{00190\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::shared\_ptr<const\ LinOp>\ system\_matrix);}
\DoxyCodeLine{00191\ }
\DoxyCodeLine{00192\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00193\ \ \ \ \ std::shared\_ptr<const\ LinOp>\ solver\_\{\};}
\DoxyCodeLine{00194\ \ \ \ \ detail::coeff\_type<value\_type>\ center\_;}
\DoxyCodeLine{00195\ \ \ \ \ detail::coeff\_type<value\_type>\ foci\_direction\_;}
\DoxyCodeLine{00196\ \};}
\DoxyCodeLine{00197\ }
\DoxyCodeLine{00198\ }
\DoxyCodeLine{00199\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType>}
\DoxyCodeLine{00200\ \textcolor{keyword}{struct\ }\doxymbox{\hyperlink{structgko_1_1solver_1_1workspace__traits}{workspace\_traits}}<\doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev}{Chebyshev}}<ValueType>>\ \{}
\DoxyCodeLine{00201\ \ \ \ \ \textcolor{keyword}{using\ }Solver\ =\ \doxymbox{\hyperlink{classgko_1_1solver_1_1Chebyshev}{Chebyshev<ValueType>}};}
\DoxyCodeLine{00202\ \ \ \ \ \textcolor{comment}{//\ number\ of\ vectors\ used\ by\ this\ workspace}}
\DoxyCodeLine{00203\ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keywordtype}{int}\ num\_vectors(\textcolor{keyword}{const}\ Solver\&);}
\DoxyCodeLine{00204\ \ \ \ \ \textcolor{comment}{//\ number\ of\ arrays\ used\ by\ this\ workspace}}
\DoxyCodeLine{00205\ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keywordtype}{int}\ num\_arrays(\textcolor{keyword}{const}\ Solver\&);}
\DoxyCodeLine{00206\ \ \ \ \ \textcolor{comment}{//\ array\ containing\ the\ num\_vectors\ names\ for\ the\ workspace\ vectors}}
\DoxyCodeLine{00207\ \ \ \ \ \textcolor{keyword}{static}\ std::vector<std::string>\ op\_names(\textcolor{keyword}{const}\ Solver\&);}
\DoxyCodeLine{00208\ \ \ \ \ \textcolor{comment}{//\ array\ containing\ the\ num\_arrays\ names\ for\ the\ workspace\ vectors}}
\DoxyCodeLine{00209\ \ \ \ \ \textcolor{keyword}{static}\ std::vector<std::string>\ array\_names(\textcolor{keyword}{const}\ Solver\&);}
\DoxyCodeLine{00210\ \ \ \ \ \textcolor{comment}{//\ array\ containing\ all\ varying\ scalar\ vectors\ (independent\ of\ problem\ size)}}
\DoxyCodeLine{00211\ \ \ \ \ \textcolor{keyword}{static}\ std::vector<int>\ scalars(\textcolor{keyword}{const}\ Solver\&);}
\DoxyCodeLine{00212\ \ \ \ \ \textcolor{comment}{//\ array\ containing\ all\ varying\ vectors\ (dependent\ on\ problem\ size)}}
\DoxyCodeLine{00213\ \ \ \ \ \textcolor{keyword}{static}\ std::vector<int>\ vectors(\textcolor{keyword}{const}\ Solver\&);}
\DoxyCodeLine{00214\ }
\DoxyCodeLine{00215\ \ \ \ \ \textcolor{comment}{//\ residual\ vector}}
\DoxyCodeLine{00216\ \ \ \ \ \textcolor{keyword}{constexpr}\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{int}\ residual\ =\ 0;}
\DoxyCodeLine{00217\ \ \ \ \ \textcolor{comment}{//\ inner\ solution\ vector}}
\DoxyCodeLine{00218\ \ \ \ \ \textcolor{keyword}{constexpr}\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{int}\ inner\_solution\ =\ 1;}
\DoxyCodeLine{00219\ \ \ \ \ \textcolor{comment}{//\ update\ solution}}
\DoxyCodeLine{00220\ \ \ \ \ \textcolor{keyword}{constexpr}\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{int}\ update\_solution\ =\ 2;}
\DoxyCodeLine{00221\ \ \ \ \ \textcolor{comment}{//\ constant\ 1.0\ scalar}}
\DoxyCodeLine{00222\ \ \ \ \ \textcolor{keyword}{constexpr}\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{int}\ one\ =\ 3;}
\DoxyCodeLine{00223\ \ \ \ \ \textcolor{comment}{//\ constant\ -\/1.0\ scalar}}
\DoxyCodeLine{00224\ \ \ \ \ \textcolor{keyword}{constexpr}\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{int}\ minus\_one\ =\ 4;}
\DoxyCodeLine{00225\ }
\DoxyCodeLine{00226\ \ \ \ \ \textcolor{comment}{//\ stopping\ status\ array}}
\DoxyCodeLine{00227\ \ \ \ \ \textcolor{keyword}{constexpr}\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{int}\ stop\ =\ 0;}
\DoxyCodeLine{00228\ \};}
\DoxyCodeLine{00229\ }
\DoxyCodeLine{00230\ }
\DoxyCodeLine{00231\ \}\ \ \textcolor{comment}{//\ namespace\ solver}}
\DoxyCodeLine{00232\ \}\ \ \textcolor{comment}{//\ namespace\ gko}}
\DoxyCodeLine{00233\ }
\DoxyCodeLine{00234\ }
\DoxyCodeLine{00235\ \textcolor{preprocessor}{\#endif\ \ }\textcolor{comment}{//\ GKO\_PUBLIC\_CORE\_SOLVER\_CHEBYSHEV\_HPP\_}}

\end{DoxyCode}
