\doxysection{dense.\+hpp}
\hypertarget{dense_8hpp_source}{}\label{dense_8hpp_source}\index{ginkgo/core/matrix/dense.hpp@{ginkgo/core/matrix/dense.hpp}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{//\ SPDX-\/FileCopyrightText:\ 2017\ -\/\ 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\_MATRIX\_DENSE\_HPP\_}}
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#define\ GKO\_PUBLIC\_CORE\_MATRIX\_DENSE\_HPP\_}}
\DoxyCodeLine{00007\ }
\DoxyCodeLine{00008\ }
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#include\ <initializer\_list>}}
\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#include\ <type\_traits>}}
\DoxyCodeLine{00011\ }
\DoxyCodeLine{00012\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/array.hpp>}}
\DoxyCodeLine{00013\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/exception\_helpers.hpp>}}
\DoxyCodeLine{00014\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/executor.hpp>}}
\DoxyCodeLine{00015\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/lin\_op.hpp>}}
\DoxyCodeLine{00016\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/range\_accessors.hpp>}}
\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/types.hpp>}}
\DoxyCodeLine{00018\ \textcolor{preprocessor}{\#include\ <ginkgo/core/base/utils.hpp>}}
\DoxyCodeLine{00019\ \textcolor{preprocessor}{\#include\ <ginkgo/core/matrix/permutation.hpp>}}
\DoxyCodeLine{00020\ \textcolor{preprocessor}{\#include\ <ginkgo/core/matrix/scaled\_permutation.hpp>}}
\DoxyCodeLine{00021\ }
\DoxyCodeLine{00022\ }
\DoxyCodeLine{00023\ \textcolor{keyword}{namespace\ }\doxymbox{\hyperlink{namespacegko}{gko}}\ \{}
\DoxyCodeLine{00024\ \textcolor{keyword}{namespace\ }experimental\ \{}
\DoxyCodeLine{00025\ \textcolor{keyword}{namespace\ }\doxymbox{\hyperlink{namespacegko_1_1experimental_1_1distributed}{distributed}}\ \{}
\DoxyCodeLine{00026\ }
\DoxyCodeLine{00027\ }
\DoxyCodeLine{00028\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType>}
\DoxyCodeLine{00029\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1experimental_1_1distributed_1_1Vector}{Vector}};}
\DoxyCodeLine{00030\ }
\DoxyCodeLine{00031\ }
\DoxyCodeLine{00032\ \textcolor{keyword}{namespace\ }detail\ \{}
\DoxyCodeLine{00033\ }
\DoxyCodeLine{00034\ }
\DoxyCodeLine{00035\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType>}
\DoxyCodeLine{00036\ \textcolor{keyword}{class\ }VectorCache;}
\DoxyCodeLine{00037\ }
\DoxyCodeLine{00038\ }
\DoxyCodeLine{00039\ \}\ \ \textcolor{comment}{//\ namespace\ detail}}
\DoxyCodeLine{00040\ \}\ \ \textcolor{comment}{//\ namespace\ distributed}}
\DoxyCodeLine{00041\ \}\ \ \textcolor{comment}{//\ namespace\ experimental}}
\DoxyCodeLine{00042\ }
\DoxyCodeLine{00043\ }
\DoxyCodeLine{00044\ \textcolor{keyword}{namespace\ }\doxymbox{\hyperlink{namespacegko_1_1matrix}{matrix}}\ \{}
\DoxyCodeLine{00045\ }
\DoxyCodeLine{00046\ }
\DoxyCodeLine{00047\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType,\ \textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{00048\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Coo}{Coo}};}
\DoxyCodeLine{00049\ }
\DoxyCodeLine{00050\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType,\ \textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{00051\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr}};}
\DoxyCodeLine{00052\ }
\DoxyCodeLine{00053\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType>}
\DoxyCodeLine{00054\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Diagonal}{Diagonal}};}
\DoxyCodeLine{00055\ }
\DoxyCodeLine{00056\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType,\ \textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{00057\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{Ell}};}
\DoxyCodeLine{00058\ }
\DoxyCodeLine{00059\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType,\ \textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{00060\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Fbcsr}{Fbcsr}};}
\DoxyCodeLine{00061\ }
\DoxyCodeLine{00062\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType,\ \textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{00063\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Hybrid}{Hybrid}};}
\DoxyCodeLine{00064\ }
\DoxyCodeLine{00065\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType,\ \textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{00066\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Sellp}{Sellp}};}
\DoxyCodeLine{00067\ }
\DoxyCodeLine{00068\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType,\ \textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{00069\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{SparsityCsr}};}
\DoxyCodeLine{00070\ }
\DoxyCodeLine{00071\ }
\DoxyCodeLine{00087\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType\ =\ default\_precision>}
\DoxyCodeLine{00088\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}}
\DoxyCodeLine{00089\ \ \ \ \ :\ \textcolor{keyword}{public}\ \doxymbox{\hyperlink{classgko_1_1EnableLinOp}{EnableLinOp}}<Dense<ValueType>>,}
\DoxyCodeLine{00090\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Dense<next\_precision<ValueType>>>,}
\DoxyCodeLine{00091\ \textcolor{preprocessor}{\#if\ GINKGO\_ENABLE\_HALF\ ||\ GINKGO\_ENABLE\_BFLOAT16}}
\DoxyCodeLine{00092\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Dense<next\_precision<ValueType,\ 2>>>,}
\DoxyCodeLine{00093\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00094\ \textcolor{preprocessor}{\#if\ GINKGO\_ENABLE\_HALF\ \&\&\ GINKGO\_ENABLE\_BFLOAT16}}
\DoxyCodeLine{00095\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Dense<next\_precision<ValueType,\ 3>>>,}
\DoxyCodeLine{00096\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00097\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Coo<ValueType,\ int32>>,}
\DoxyCodeLine{00098\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Coo<ValueType,\ int64>>,}
\DoxyCodeLine{00099\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Csr<ValueType,\ int32>>,}
\DoxyCodeLine{00100\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Csr<ValueType,\ int64>>,}
\DoxyCodeLine{00101\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Ell<ValueType,\ int32>>,}
\DoxyCodeLine{00102\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Ell<ValueType,\ int64>>,}
\DoxyCodeLine{00103\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Fbcsr<ValueType,\ int32>>,}
\DoxyCodeLine{00104\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Fbcsr<ValueType,\ int64>>,}
\DoxyCodeLine{00105\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Hybrid<ValueType,\ int32>>,}
\DoxyCodeLine{00106\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Hybrid<ValueType,\ int64>>,}
\DoxyCodeLine{00107\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Sellp<ValueType,\ int32>>,}
\DoxyCodeLine{00108\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<Sellp<ValueType,\ int64>>,}
\DoxyCodeLine{00109\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<SparsityCsr<ValueType,\ int32>>,}
\DoxyCodeLine{00110\ \ \ \ \ \ \ \textcolor{keyword}{public}\ ConvertibleTo<SparsityCsr<ValueType,\ int64>>,}
\DoxyCodeLine{00111\ \ \ \ \ \ \ \textcolor{keyword}{public}\ \doxymbox{\hyperlink{classgko_1_1DiagonalExtractable}{DiagonalExtractable}}<ValueType>,}
\DoxyCodeLine{00112\ \ \ \ \ \ \ \textcolor{keyword}{public}\ \doxymbox{\hyperlink{classgko_1_1ReadableFromMatrixData}{ReadableFromMatrixData}}<ValueType,\ int32>,}
\DoxyCodeLine{00113\ \ \ \ \ \ \ \textcolor{keyword}{public}\ \doxymbox{\hyperlink{classgko_1_1ReadableFromMatrixData}{ReadableFromMatrixData}}<ValueType,\ int64>,}
\DoxyCodeLine{00114\ \ \ \ \ \ \ \textcolor{keyword}{public}\ \doxymbox{\hyperlink{classgko_1_1WritableToMatrixData}{WritableToMatrixData}}<ValueType,\ int32>,}
\DoxyCodeLine{00115\ \ \ \ \ \ \ \textcolor{keyword}{public}\ \doxymbox{\hyperlink{classgko_1_1WritableToMatrixData}{WritableToMatrixData}}<ValueType,\ int64>,}
\DoxyCodeLine{00116\ \ \ \ \ \ \ \textcolor{keyword}{public}\ \doxymbox{\hyperlink{classgko_1_1Transposable}{Transposable}},}
\DoxyCodeLine{00117\ \ \ \ \ \ \ \textcolor{keyword}{public}\ \doxymbox{\hyperlink{classgko_1_1Permutable}{Permutable}}<int32>,}
\DoxyCodeLine{00118\ \ \ \ \ \ \ \textcolor{keyword}{public}\ \doxymbox{\hyperlink{classgko_1_1Permutable}{Permutable}}<int64>,}
\DoxyCodeLine{00119\ \ \ \ \ \ \ \textcolor{keyword}{public}\ \doxymbox{\hyperlink{classgko_1_1EnableAbsoluteComputation}{EnableAbsoluteComputation}}<remove\_complex<Dense<ValueType>>>,}
\DoxyCodeLine{00120\ \ \ \ \ \ \ \textcolor{keyword}{public}\ \doxymbox{\hyperlink{classgko_1_1ScaledIdentityAddable}{ScaledIdentityAddable}}\ \{}
\DoxyCodeLine{00121\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1EnablePolymorphicObject}{EnablePolymorphicObject}}<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}},\ \doxymbox{\hyperlink{classgko_1_1LinOp}{LinOp}}>;}
\DoxyCodeLine{00122\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Coo}{Coo}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a16bd14c10900eb804d784908d8aab5ab}{int32}}>;}
\DoxyCodeLine{00123\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Coo}{Coo}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a913ec044df518649fa5a891f8dffae34}{int64}}>;}
\DoxyCodeLine{00124\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a16bd14c10900eb804d784908d8aab5ab}{int32}}>;}
\DoxyCodeLine{00125\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a913ec044df518649fa5a891f8dffae34}{int64}}>;}
\DoxyCodeLine{00126\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Diagonal}{Diagonal}}<ValueType>;}
\DoxyCodeLine{00127\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{Ell}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a16bd14c10900eb804d784908d8aab5ab}{int32}}>;}
\DoxyCodeLine{00128\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{Ell}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a913ec044df518649fa5a891f8dffae34}{int64}}>;}
\DoxyCodeLine{00129\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Fbcsr}{Fbcsr}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a16bd14c10900eb804d784908d8aab5ab}{int32}}>;}
\DoxyCodeLine{00130\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Fbcsr}{Fbcsr}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a913ec044df518649fa5a891f8dffae34}{int64}}>;}
\DoxyCodeLine{00131\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Hybrid}{Hybrid}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a16bd14c10900eb804d784908d8aab5ab}{int32}}>;}
\DoxyCodeLine{00132\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Hybrid}{Hybrid}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a913ec044df518649fa5a891f8dffae34}{int64}}>;}
\DoxyCodeLine{00133\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Sellp}{Sellp}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a16bd14c10900eb804d784908d8aab5ab}{int32}}>;}
\DoxyCodeLine{00134\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Sellp}{Sellp}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a913ec044df518649fa5a891f8dffae34}{int64}}>;}
\DoxyCodeLine{00135\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{SparsityCsr}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a16bd14c10900eb804d784908d8aab5ab}{int32}}>;}
\DoxyCodeLine{00136\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{SparsityCsr}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a913ec044df518649fa5a891f8dffae34}{int64}}>;}
\DoxyCodeLine{00137\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}<\doxymbox{\hyperlink{namespacegko_a4ad20e5381a84928753efde0b2bc7f85}{to\_complex}}<ValueType>>;}
\DoxyCodeLine{00138\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1experimental_1_1distributed_1_1Vector}{experimental::distributed::Vector}}<ValueType>;}
\DoxyCodeLine{00139\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }experimental::distributed::detail::VectorCache<ValueType>;}
\DoxyCodeLine{00140\ \ \ \ \ GKO\_ASSERT\_SUPPORTED\_VALUE\_TYPE;}
\DoxyCodeLine{00141\ }
\DoxyCodeLine{00142\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00143\ \ \ \ \ \textcolor{keyword}{using\ }\doxymbox{\hyperlink{classgko_1_1EnableLinOp}{EnableLinOp}}<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}>::convert\_to;}
\DoxyCodeLine{00144\ \ \ \ \ \textcolor{keyword}{using\ }\doxymbox{\hyperlink{classgko_1_1EnableLinOp}{EnableLinOp}}<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}>::move\_to;}
\DoxyCodeLine{00145\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense<next\_precision<ValueType>}}>>::convert\_to;}
\DoxyCodeLine{00146\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense<next\_precision<ValueType>}}>>::move\_to;}
\DoxyCodeLine{00147\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Coo}{Coo<ValueType,\ int32>}}>::convert\_to;}
\DoxyCodeLine{00148\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Coo}{Coo<ValueType,\ int32>}}>::move\_to;}
\DoxyCodeLine{00149\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Coo}{Coo<ValueType,\ int64>}}>::convert\_to;}
\DoxyCodeLine{00150\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Coo}{Coo<ValueType,\ int64>}}>::move\_to;}
\DoxyCodeLine{00151\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr<ValueType,\ int32>}}>::convert\_to;}
\DoxyCodeLine{00152\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr<ValueType,\ int32>}}>::move\_to;}
\DoxyCodeLine{00153\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr<ValueType,\ int64>}}>::convert\_to;}
\DoxyCodeLine{00154\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr<ValueType,\ int64>}}>::move\_to;}
\DoxyCodeLine{00155\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{Ell<ValueType,\ int32>}}>::convert\_to;}
\DoxyCodeLine{00156\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{Ell<ValueType,\ int32>}}>::move\_to;}
\DoxyCodeLine{00157\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{Ell<ValueType,\ int64>}}>::convert\_to;}
\DoxyCodeLine{00158\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{Ell<ValueType,\ int64>}}>::move\_to;}
\DoxyCodeLine{00159\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Fbcsr}{Fbcsr<ValueType,\ int32>}}>::convert\_to;}
\DoxyCodeLine{00160\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Fbcsr}{Fbcsr<ValueType,\ int32>}}>::move\_to;}
\DoxyCodeLine{00161\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Fbcsr}{Fbcsr<ValueType,\ int64>}}>::convert\_to;}
\DoxyCodeLine{00162\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Fbcsr}{Fbcsr<ValueType,\ int64>}}>::move\_to;}
\DoxyCodeLine{00163\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Hybrid}{Hybrid<ValueType,\ int32>}}>::convert\_to;}
\DoxyCodeLine{00164\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Hybrid}{Hybrid<ValueType,\ int32>}}>::move\_to;}
\DoxyCodeLine{00165\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Hybrid}{Hybrid<ValueType,\ int64>}}>::convert\_to;}
\DoxyCodeLine{00166\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Hybrid}{Hybrid<ValueType,\ int64>}}>::move\_to;}
\DoxyCodeLine{00167\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Sellp}{Sellp<ValueType,\ int32>}}>::convert\_to;}
\DoxyCodeLine{00168\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Sellp}{Sellp<ValueType,\ int32>}}>::move\_to;}
\DoxyCodeLine{00169\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Sellp}{Sellp<ValueType,\ int64>}}>::convert\_to;}
\DoxyCodeLine{00170\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Sellp}{Sellp<ValueType,\ int64>}}>::move\_to;}
\DoxyCodeLine{00171\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{SparsityCsr<ValueType,\ int32>}}>::convert\_to;}
\DoxyCodeLine{00172\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{SparsityCsr<ValueType,\ int32>}}>::move\_to;}
\DoxyCodeLine{00173\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{SparsityCsr<ValueType,\ int64>}}>::convert\_to;}
\DoxyCodeLine{00174\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{SparsityCsr<ValueType,\ int64>}}>::move\_to;}
\DoxyCodeLine{00175\ \ \ \ \ \textcolor{keyword}{using\ }\doxymbox{\hyperlink{classgko_1_1ReadableFromMatrixData}{ReadableFromMatrixData}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a16bd14c10900eb804d784908d8aab5ab}{int32}}>::read;}
\DoxyCodeLine{00176\ \ \ \ \ \textcolor{keyword}{using\ }\doxymbox{\hyperlink{classgko_1_1ReadableFromMatrixData}{ReadableFromMatrixData}}<ValueType,\ \doxymbox{\hyperlink{namespacegko_a913ec044df518649fa5a891f8dffae34}{int64}}>::read;}
\DoxyCodeLine{00177\ }
\DoxyCodeLine{00178\ \ \ \ \ \textcolor{keyword}{using\ }value\_type\ =\ ValueType;}
\DoxyCodeLine{00179\ \ \ \ \ \textcolor{keyword}{using\ }index\_type\ =\ \doxymbox{\hyperlink{namespacegko_a913ec044df518649fa5a891f8dffae34}{int64}};}
\DoxyCodeLine{00180\ \ \ \ \ \textcolor{keyword}{using\ }transposed\_type\ =\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense<ValueType>}};}
\DoxyCodeLine{00181\ \ \ \ \ \textcolor{keyword}{using\ }mat\_data\ =\ \doxymbox{\hyperlink{structgko_1_1matrix__data}{matrix\_data<ValueType,\ int64>}};}
\DoxyCodeLine{00182\ \ \ \ \ \textcolor{keyword}{using\ }mat\_data32\ =\ \doxymbox{\hyperlink{structgko_1_1matrix__data}{matrix\_data<ValueType,\ int32>}};}
\DoxyCodeLine{00183\ \ \ \ \ \textcolor{keyword}{using\ }device\_mat\_data\ =\ \doxymbox{\hyperlink{classgko_1_1device__matrix__data}{device\_matrix\_data<ValueType,\ int64>}};}
\DoxyCodeLine{00184\ \ \ \ \ \textcolor{keyword}{using\ }device\_mat\_data32\ =\ \doxymbox{\hyperlink{classgko_1_1device__matrix__data}{device\_matrix\_data<ValueType,\ int32>}};}
\DoxyCodeLine{00185\ \ \ \ \ \textcolor{keyword}{using\ }absolute\_type\ =\ \doxymbox{\hyperlink{namespacegko_a107302a750bfa82a2107c77293f791c9}{remove\_complex<Dense>}};}
\DoxyCodeLine{00186\ \ \ \ \ \textcolor{keyword}{using\ }real\_type\ =\ absolute\_type;}
\DoxyCodeLine{00187\ \ \ \ \ \textcolor{keyword}{using\ }complex\_type\ =\ \doxymbox{\hyperlink{namespacegko_a4ad20e5381a84928753efde0b2bc7f85}{to\_complex<Dense>}};}
\DoxyCodeLine{00188\ }
\DoxyCodeLine{00189\ \ \ \ \ \textcolor{keyword}{using\ }row\_major\_range\ =\ \doxymbox{\hyperlink{classgko_1_1range}{gko::range<gko::accessor::row\_major<ValueType,\ 2>}}>;}
\DoxyCodeLine{00190\ }
\DoxyCodeLine{00197\ \ \ \ \ \textcolor{keyword}{static}\ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a1c6f65fa98aa09fff8e7eb8820ee8e26}{create\_with\_config\_of}}(}
\DoxyCodeLine{00198\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ Dense>}}\ other)}
\DoxyCodeLine{00199\ \ \ \ \ \{}
\DoxyCodeLine{00200\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ De-\/referencing\ \`{}other`\ before\ calling\ the\ functions\ (instead\ of}}
\DoxyCodeLine{00201\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ using\ operator\ \`{}-\/>`)\ is\ currently\ required\ to\ be\ compatible\ with}}
\DoxyCodeLine{00202\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ CUDA\ 10.1.}}
\DoxyCodeLine{00203\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Otherwise,\ it\ results\ in\ a\ compile\ error.}}
\DoxyCodeLine{00204\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (*other).create\_with\_same\_config();}
\DoxyCodeLine{00205\ \ \ \ \ \}}
\DoxyCodeLine{00206\ }
\DoxyCodeLine{00218\ \ \ \ \ \textcolor{keyword}{static}\ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a481ebd632246eed044d432a8117ec069}{create\_with\_type\_of}}(}
\DoxyCodeLine{00219\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ Dense>}}\ other,\ std::shared\_ptr<const\ Executor>\ exec,}
\DoxyCodeLine{00220\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\&\ size\ =\ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\{\})}
\DoxyCodeLine{00221\ \ \ \ \ \{}
\DoxyCodeLine{00222\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ See\ create\_with\_config\_of()}}
\DoxyCodeLine{00223\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (*other).create\_with\_type\_of\_impl(exec,\ size,\ size[1]);}
\DoxyCodeLine{00224\ \ \ \ \ \}}
\DoxyCodeLine{00225\ }
\DoxyCodeLine{00234\ \ \ \ \ \textcolor{keyword}{static}\ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_af3aa909deaa3edaa59a364a0c798c383}{create\_with\_type\_of}}(}
\DoxyCodeLine{00235\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ Dense>}}\ other,\ std::shared\_ptr<const\ Executor>\ exec,}
\DoxyCodeLine{00236\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\&\ size,\ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ stride)}
\DoxyCodeLine{00237\ \ \ \ \ \{}
\DoxyCodeLine{00238\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ See\ create\_with\_config\_of()}}
\DoxyCodeLine{00239\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (*other).create\_with\_type\_of\_impl(exec,\ size,\ stride);}
\DoxyCodeLine{00240\ \ \ \ \ \}}
\DoxyCodeLine{00241\ }
\DoxyCodeLine{00252\ \ \ \ \ \textcolor{keyword}{static}\ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a2d15c660431de7beec1cdae4702b44d3}{create\_with\_type\_of}}(}
\DoxyCodeLine{00253\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ Dense>}}\ other,\ std::shared\_ptr<const\ Executor>\ exec,}
\DoxyCodeLine{00254\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\&\ size,\ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\&\ local\_size,\ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ stride)}
\DoxyCodeLine{00255\ \ \ \ \ \{}
\DoxyCodeLine{00256\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ See\ create\_with\_config\_of()}}
\DoxyCodeLine{00257\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (*other).create\_with\_type\_of\_impl(exec,\ size,\ stride);}
\DoxyCodeLine{00258\ \ \ \ \ \}}
\DoxyCodeLine{00259\ }
\DoxyCodeLine{00268\ \ \ \ \ \textcolor{keyword}{static}\ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_aa24190fef5a235843c610343e66ce141}{create\_view\_of}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ other)}
\DoxyCodeLine{00269\ \ \ \ \ \{}
\DoxyCodeLine{00270\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ other-\/>create\_view\_of\_impl();}
\DoxyCodeLine{00271\ \ \ \ \ \}}
\DoxyCodeLine{00272\ }
\DoxyCodeLine{00280\ \ \ \ \ \textcolor{keyword}{static}\ std::unique\_ptr<const\ Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_abd682be340c3f29f55b73a630ca8ef64}{create\_const\_view\_of}}(}
\DoxyCodeLine{00281\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ Dense>}}\ other)}
\DoxyCodeLine{00282\ \ \ \ \ \{}
\DoxyCodeLine{00283\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ other-\/>create\_const\_view\_of\_impl();}
\DoxyCodeLine{00284\ \ \ \ \ \}}
\DoxyCodeLine{00285\ }
\DoxyCodeLine{00286\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense}}<\doxymbox{\hyperlink{namespacegko_ada2119004771922e8f7fcb6910a0363c}{previous\_precision}}<ValueType>>;}
\DoxyCodeLine{00287\ }
\DoxyCodeLine{00288\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense}}<\doxymbox{\hyperlink{namespacegko_aee37f85b217e5e26fe64207d41fa4bac}{next\_precision<ValueType>}}>*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00289\ }
\DoxyCodeLine{00290\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense}}<\doxymbox{\hyperlink{namespacegko_aee37f85b217e5e26fe64207d41fa4bac}{next\_precision<ValueType>}}>*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00291\ }
\DoxyCodeLine{00292\ \textcolor{preprocessor}{\#if\ GINKGO\_ENABLE\_HALF\ ||\ GINKGO\_ENABLE\_BFLOAT16}}
\DoxyCodeLine{00293\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense}}<\doxymbox{\hyperlink{namespacegko_ada2119004771922e8f7fcb6910a0363c}{previous\_precision}}<ValueType,\ 2>>;}
\DoxyCodeLine{00294\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense<next\_precision<ValueType,\ 2>}}>>\doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{::convert\_to}};}
\DoxyCodeLine{00295\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense<next\_precision<ValueType,\ 2>}}>>\doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{::move\_to}};}
\DoxyCodeLine{00296\ }
\DoxyCodeLine{00297\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense}}<\doxymbox{\hyperlink{namespacegko_aee37f85b217e5e26fe64207d41fa4bac}{next\_precision<ValueType,\ 2>}}>*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00298\ }
\DoxyCodeLine{00299\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense}}<\doxymbox{\hyperlink{namespacegko_aee37f85b217e5e26fe64207d41fa4bac}{next\_precision<ValueType,\ 2>}}>*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00300\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00301\ }
\DoxyCodeLine{00302\ \textcolor{preprocessor}{\#if\ GINKGO\_ENABLE\_HALF\ \&\&\ GINKGO\_ENABLE\_BFLOAT16}}
\DoxyCodeLine{00303\ \ \ \ \ \textcolor{keyword}{friend}\ \textcolor{keyword}{class\ }\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense}}<\doxymbox{\hyperlink{namespacegko_ada2119004771922e8f7fcb6910a0363c}{previous\_precision}}<ValueType,\ 3>>;}
\DoxyCodeLine{00304\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense<next\_precision<ValueType,\ 3>}}>>\doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{::convert\_to}};}
\DoxyCodeLine{00305\ \ \ \ \ \textcolor{keyword}{using\ }ConvertibleTo<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense<next\_precision<ValueType,\ 3>}}>>\doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{::move\_to}};}
\DoxyCodeLine{00306\ }
\DoxyCodeLine{00307\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense}}<\doxymbox{\hyperlink{namespacegko_aee37f85b217e5e26fe64207d41fa4bac}{next\_precision<ValueType,\ 3>}}>*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00308\ }
\DoxyCodeLine{00309\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{Dense}}<\doxymbox{\hyperlink{namespacegko_aee37f85b217e5e26fe64207d41fa4bac}{next\_precision<ValueType,\ 3>}}>*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00310\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00311\ }
\DoxyCodeLine{00312\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Coo}{Coo<ValueType,\ int32>}}*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00313\ }
\DoxyCodeLine{00314\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Coo}{Coo<ValueType,\ int32>}}*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00315\ }
\DoxyCodeLine{00316\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Coo}{Coo<ValueType,\ int64>}}*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00317\ }
\DoxyCodeLine{00318\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Coo}{Coo<ValueType,\ int64>}}*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00319\ }
\DoxyCodeLine{00320\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr<ValueType,\ int32>}}*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00321\ }
\DoxyCodeLine{00322\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr<ValueType,\ int32>}}*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00323\ }
\DoxyCodeLine{00324\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr<ValueType,\ int64>}}*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00325\ }
\DoxyCodeLine{00326\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Csr}{Csr<ValueType,\ int64>}}*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00327\ }
\DoxyCodeLine{00328\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{Ell<ValueType,\ int32>}}*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00329\ }
\DoxyCodeLine{00330\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{Ell<ValueType,\ int32>}}*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00331\ }
\DoxyCodeLine{00332\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{Ell<ValueType,\ int64>}}*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00333\ }
\DoxyCodeLine{00334\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Ell}{Ell<ValueType,\ int64>}}*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00335\ }
\DoxyCodeLine{00336\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Fbcsr}{Fbcsr<ValueType,\ int32>}}*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00337\ }
\DoxyCodeLine{00338\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Fbcsr}{Fbcsr<ValueType,\ int32>}}*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00339\ }
\DoxyCodeLine{00340\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Fbcsr}{Fbcsr<ValueType,\ int64>}}*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00341\ }
\DoxyCodeLine{00342\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Fbcsr}{Fbcsr<ValueType,\ int64>}}*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00343\ }
\DoxyCodeLine{00344\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Hybrid}{Hybrid<ValueType,\ int32>}}*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00345\ }
\DoxyCodeLine{00346\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Hybrid}{Hybrid<ValueType,\ int32>}}*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00347\ }
\DoxyCodeLine{00348\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Hybrid}{Hybrid<ValueType,\ int64>}}*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00349\ }
\DoxyCodeLine{00350\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Hybrid}{Hybrid<ValueType,\ int64>}}*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00351\ }
\DoxyCodeLine{00352\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Sellp}{Sellp<ValueType,\ int32>}}*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00353\ }
\DoxyCodeLine{00354\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Sellp}{Sellp<ValueType,\ int32>}}*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00355\ }
\DoxyCodeLine{00356\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Sellp}{Sellp<ValueType,\ int64>}}*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00357\ }
\DoxyCodeLine{00358\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Sellp}{Sellp<ValueType,\ int64>}}*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00359\ }
\DoxyCodeLine{00360\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{SparsityCsr<ValueType,\ int32>}}*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00361\ }
\DoxyCodeLine{00362\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{SparsityCsr<ValueType,\ int32>}}*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00363\ }
\DoxyCodeLine{00364\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a7cb327baf9ca9018d06fa5554464d29d}{convert\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{SparsityCsr<ValueType,\ int64>}}*\ result)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00365\ }
\DoxyCodeLine{00366\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_a6fcc3453bf500454b56a5f2f196b871c}{move\_to}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1SparsityCsr}{SparsityCsr<ValueType,\ int64>}}*\ result)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00367\ }
\DoxyCodeLine{00368\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_abc58509ecdcb48399e12f9a081ed7545}{read}}(\textcolor{keyword}{const}\ mat\_data\&\ data)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00369\ }
\DoxyCodeLine{00370\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_abc58509ecdcb48399e12f9a081ed7545}{read}}(\textcolor{keyword}{const}\ mat\_data32\&\ data)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00371\ }
\DoxyCodeLine{00372\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_abc58509ecdcb48399e12f9a081ed7545}{read}}(\textcolor{keyword}{const}\ device\_mat\_data\&\ data)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00373\ }
\DoxyCodeLine{00374\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_abc58509ecdcb48399e12f9a081ed7545}{read}}(\textcolor{keyword}{const}\ device\_mat\_data32\&\ data)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00375\ }
\DoxyCodeLine{00376\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_abc58509ecdcb48399e12f9a081ed7545}{read}}(device\_mat\_data\&\&\ data)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00377\ }
\DoxyCodeLine{00378\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_abc58509ecdcb48399e12f9a081ed7545}{read}}(device\_mat\_data32\&\&\ data)\ \textcolor{keyword}{override};}
\DoxyCodeLine{00379\ }
\DoxyCodeLine{00380\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_af82d8f7795fefcf5f38a38895e316c02}{write}}(mat\_data\&\ data)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00381\ }
\DoxyCodeLine{00382\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{namespacegko_af82d8f7795fefcf5f38a38895e316c02}{write}}(mat\_data32\&\ data)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00383\ }
\DoxyCodeLine{00384\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ac31fee525813e3acbd6d5d8e20bad230}{transpose}}()\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00385\ }
\DoxyCodeLine{00386\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ac0ae2a7dcb94eb0b32e494c970d1fc7c}{conj\_transpose}}()\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00387\ }
\DoxyCodeLine{00394\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ab251ea79598302b993a96549300bb114}{transpose}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00395\ }
\DoxyCodeLine{00402\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a551f8894b665a5d1b662de0d7b8a7321}{conj\_transpose}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00403\ }
\DoxyCodeLine{00409\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_af8eb9f6120517fbc19cee8e9ddfceb05}{fill}}(\textcolor{keyword}{const}\ ValueType\ value);}
\DoxyCodeLine{00410\ }
\DoxyCodeLine{00425\ \ \ \ \ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a44417168832f57ffe0e3a07ab1f85a2d}{permute}}(}
\DoxyCodeLine{00426\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Permutation}{Permutation<int32>}}>\ permutation,}
\DoxyCodeLine{00427\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972}{permute\_mode}}\ mode\ =\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972afeca3c730601be7fd57f1f0b668b4637}{permute\_mode::symmetric}})\ \textcolor{keyword}{const};}
\DoxyCodeLine{00428\ }
\DoxyCodeLine{00432\ \ \ \ \ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a327d02d87a7c42bc0f1df1a8d56f5498}{permute}}(}
\DoxyCodeLine{00433\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Permutation}{Permutation<int64>}}>\ permutation,}
\DoxyCodeLine{00434\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972}{permute\_mode}}\ mode\ =\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972afeca3c730601be7fd57f1f0b668b4637}{permute\_mode::symmetric}})\ \textcolor{keyword}{const};}
\DoxyCodeLine{00435\ }
\DoxyCodeLine{00441\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a76c84f30341d37da8431dd50b9818d97}{permute}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Permutation}{Permutation<int32>}}>\ permutation,}
\DoxyCodeLine{00442\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output,\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972}{permute\_mode}}\ mode)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00443\ }
\DoxyCodeLine{00448\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a6ee67b630dd0d4b3912f9ad520e3b29a}{permute}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Permutation}{Permutation<int64>}}>\ permutation,}
\DoxyCodeLine{00449\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output,\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972}{permute\_mode}}\ mode)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00450\ }
\DoxyCodeLine{00464\ \ \ \ \ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a3f0dd08963b8c1a72bf8cbbee9aca064}{permute}}(}
\DoxyCodeLine{00465\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Permutation}{Permutation<int32>}}>\ row\_permutation,}
\DoxyCodeLine{00466\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Permutation}{Permutation<int32>}}>\ column\_permutation,}
\DoxyCodeLine{00467\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ invert\ =\ \textcolor{keyword}{false})\ \textcolor{keyword}{const};}
\DoxyCodeLine{00468\ }
\DoxyCodeLine{00473\ \ \ \ \ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a1c8a463a964a8aaaea4000ef4f6e5421}{permute}}(}
\DoxyCodeLine{00474\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Permutation}{Permutation<int64>}}>\ row\_permutation,}
\DoxyCodeLine{00475\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Permutation}{Permutation<int64>}}>\ column\_permutation,}
\DoxyCodeLine{00476\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ invert\ =\ \textcolor{keyword}{false})\ \textcolor{keyword}{const};}
\DoxyCodeLine{00477\ }
\DoxyCodeLine{00484\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_aa588c67e8dc76643894b9c037a30ac06}{permute}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Permutation}{Permutation<int32>}}>\ row\_permutation,}
\DoxyCodeLine{00485\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Permutation}{Permutation<int32>}}>\ column\_permutation,}
\DoxyCodeLine{00486\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output,\ \textcolor{keywordtype}{bool}\ invert\ =\ \textcolor{keyword}{false})\ \textcolor{keyword}{const};}
\DoxyCodeLine{00487\ }
\DoxyCodeLine{00492\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ae5fa218b2d9def040ecb51136419f743}{permute}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Permutation}{Permutation<int64>}}>\ row\_permutation,}
\DoxyCodeLine{00493\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Permutation}{Permutation<int64>}}>\ column\_permutation,}
\DoxyCodeLine{00494\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output,\ \textcolor{keywordtype}{bool}\ invert\ =\ \textcolor{keyword}{false})\ \textcolor{keyword}{const};}
\DoxyCodeLine{00495\ }
\DoxyCodeLine{00505\ \ \ \ \ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ab229ed386ec8ecac07bab1e088ba6f33}{scale\_permute}}(}
\DoxyCodeLine{00506\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1ScaledPermutation}{ScaledPermutation<value\_type,\ int32>}}>\ permutation,}
\DoxyCodeLine{00507\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972}{permute\_mode}}\ mode\ =\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972afeca3c730601be7fd57f1f0b668b4637}{permute\_mode::symmetric}})\ \textcolor{keyword}{const};}
\DoxyCodeLine{00508\ }
\DoxyCodeLine{00513\ \ \ \ \ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_abcaac186aaa4c7b001a6d736f86f790b}{scale\_permute}}(}
\DoxyCodeLine{00514\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1ScaledPermutation}{ScaledPermutation<value\_type,\ int64>}}>\ permutation,}
\DoxyCodeLine{00515\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972}{permute\_mode}}\ mode\ =\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972afeca3c730601be7fd57f1f0b668b4637}{permute\_mode::symmetric}})\ \textcolor{keyword}{const};}
\DoxyCodeLine{00516\ }
\DoxyCodeLine{00523\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ac5c25fd1daa6ea55718af004b8d42634}{scale\_permute}}(}
\DoxyCodeLine{00524\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1ScaledPermutation}{ScaledPermutation<value\_type,\ int32>}}>\ permutation,}
\DoxyCodeLine{00525\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output,\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972}{permute\_mode}}\ mode)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00526\ }
\DoxyCodeLine{00531\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a9aa50db81db9f0cfe55e063f45c2d8e1}{scale\_permute}}(}
\DoxyCodeLine{00532\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1ScaledPermutation}{ScaledPermutation<value\_type,\ int64>}}>\ permutation,}
\DoxyCodeLine{00533\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output,\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972}{permute\_mode}}\ mode)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00534\ }
\DoxyCodeLine{00547\ \ \ \ \ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a80e0ab242dee7cc0e656b3f514982537}{scale\_permute}}(}
\DoxyCodeLine{00548\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1ScaledPermutation}{ScaledPermutation<value\_type,\ int32>}}>\ row\_permutation,}
\DoxyCodeLine{00549\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1ScaledPermutation}{ScaledPermutation<value\_type,\ int32>}}>}
\DoxyCodeLine{00550\ \ \ \ \ \ \ \ \ \ \ \ \ column\_permutation,}
\DoxyCodeLine{00551\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ invert\ =\ \textcolor{keyword}{false})\ \textcolor{keyword}{const};}
\DoxyCodeLine{00552\ }
\DoxyCodeLine{00557\ \ \ \ \ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a0d2b7ddcfd590addca2ade6a9c3787d8}{scale\_permute}}(}
\DoxyCodeLine{00558\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1ScaledPermutation}{ScaledPermutation<value\_type,\ int64>}}>\ row\_permutation,}
\DoxyCodeLine{00559\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1ScaledPermutation}{ScaledPermutation<value\_type,\ int64>}}>}
\DoxyCodeLine{00560\ \ \ \ \ \ \ \ \ \ \ \ \ column\_permutation,}
\DoxyCodeLine{00561\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ invert\ =\ \textcolor{keyword}{false})\ \textcolor{keyword}{const};}
\DoxyCodeLine{00562\ }
\DoxyCodeLine{00569\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a76928c7682537cbe137701242d54112b}{scale\_permute}}(}
\DoxyCodeLine{00570\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1ScaledPermutation}{ScaledPermutation<value\_type,\ int32>}}>\ row\_permutation,}
\DoxyCodeLine{00571\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1ScaledPermutation}{ScaledPermutation<value\_type,\ int32>}}>}
\DoxyCodeLine{00572\ \ \ \ \ \ \ \ \ \ \ \ \ column\_permutation,}
\DoxyCodeLine{00573\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output,\ \textcolor{keywordtype}{bool}\ invert\ =\ \textcolor{keyword}{false})\ \textcolor{keyword}{const};}
\DoxyCodeLine{00574\ }
\DoxyCodeLine{00580\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a85365942b5f2d721a23788f6c399ba32}{scale\_permute}}(}
\DoxyCodeLine{00581\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1ScaledPermutation}{ScaledPermutation<value\_type,\ int64>}}>\ row\_permutation,}
\DoxyCodeLine{00582\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1ScaledPermutation}{ScaledPermutation<value\_type,\ int64>}}>}
\DoxyCodeLine{00583\ \ \ \ \ \ \ \ \ \ \ \ \ column\_permutation,}
\DoxyCodeLine{00584\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output,\ \textcolor{keywordtype}{bool}\ invert\ =\ \textcolor{keyword}{false})\ \textcolor{keyword}{const};}
\DoxyCodeLine{00585\ }
\DoxyCodeLine{00586\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a6374f7f447af8320917c53f1552dac9f}{permute}}(}
\DoxyCodeLine{00587\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ permutation\_indices)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00588\ }
\DoxyCodeLine{00589\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a33e68ba28b5ab55e3f824861b24be686}{permute}}(}
\DoxyCodeLine{00590\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ permutation\_indices)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00591\ }
\DoxyCodeLine{00601\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a93163c011c03a9837baf827c707dc3d5}{permute}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ permutation\_indices,}
\DoxyCodeLine{00602\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00603\ }
\DoxyCodeLine{00607\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a49171b3b04043ce4ccef5ee8b4509450}{permute}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ permutation\_indices,}
\DoxyCodeLine{00608\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00609\ }
\DoxyCodeLine{00610\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a8ee465f8ab3648019f5796f06c746e7a}{inverse\_permute}}(}
\DoxyCodeLine{00611\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ permutation\_indices)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00612\ }
\DoxyCodeLine{00613\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a38b857ba1b3e52230b60893f4e6a50fe}{inverse\_permute}}(}
\DoxyCodeLine{00614\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ permutation\_indices)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00615\ }
\DoxyCodeLine{00626\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a6f7d2510cf794ede89fc61b1af5804f7}{inverse\_permute}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ permutation\_indices,}
\DoxyCodeLine{00627\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00628\ }
\DoxyCodeLine{00632\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a452fa43a28cf1cbdac9498dad1ea5b12}{inverse\_permute}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ permutation\_indices,}
\DoxyCodeLine{00633\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00634\ }
\DoxyCodeLine{00635\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a6a68f7ec26cc007548550577c01c7d0e}{row\_permute}}(}
\DoxyCodeLine{00636\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ permutation\_indices)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00637\ }
\DoxyCodeLine{00638\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a1c6a43bfc440138798de73c53072eedd}{row\_permute}}(}
\DoxyCodeLine{00639\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ permutation\_indices)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00640\ }
\DoxyCodeLine{00650\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a20769029d7b6e90f13e44ab0dffb9787}{row\_permute}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ permutation\_indices,}
\DoxyCodeLine{00651\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00652\ }
\DoxyCodeLine{00656\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a5de1c0c1497a9a7ffa81faadfb983911}{row\_permute}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ permutation\_indices,}
\DoxyCodeLine{00657\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00658\ }
\DoxyCodeLine{00669\ \ \ \ \ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a72071a352bf973f8103bc8c235290677}{row\_gather}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ gather\_indices)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00670\ }
\DoxyCodeLine{00674\ \ \ \ \ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a38a0c7dd430998261343564ff98549a6}{row\_gather}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ gather\_indices)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00675\ }
\DoxyCodeLine{00688\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a3f4a129f97fd47b66f64d5f04feab8a7}{row\_gather}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ gather\_indices,}
\DoxyCodeLine{00689\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ row\_collection)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00690\ }
\DoxyCodeLine{00694\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_aee06b1066cc20eb14aa3e5bbae5d0f41}{row\_gather}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ gather\_indices,}
\DoxyCodeLine{00695\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ row\_collection)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00696\ }
\DoxyCodeLine{00710\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a78e3038558a849c80f5b29f6310e5221}{row\_gather}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ LinOp>}}\ alpha,}
\DoxyCodeLine{00711\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ gather\_indices,}
\DoxyCodeLine{00712\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ LinOp>}}\ beta,}
\DoxyCodeLine{00713\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ row\_collection)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00714\ }
\DoxyCodeLine{00719\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_afd04709638c41905a615561e8516d817}{row\_gather}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ LinOp>}}\ alpha,}
\DoxyCodeLine{00720\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ gather\_indices,}
\DoxyCodeLine{00721\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ LinOp>}}\ beta,}
\DoxyCodeLine{00722\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ row\_collection)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00723\ }
\DoxyCodeLine{00724\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ac2d3d9f96ed3dfb7a4dcdd62a3063460}{column\_permute}}(}
\DoxyCodeLine{00725\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ permutation\_indices)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00726\ }
\DoxyCodeLine{00727\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a29e73c04e60689de72028137cf64908e}{column\_permute}}(}
\DoxyCodeLine{00728\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ permutation\_indices)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00729\ }
\DoxyCodeLine{00739\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a3fbd132ad9010521d467607420523dc0}{column\_permute}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ permutation\_indices,}
\DoxyCodeLine{00740\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00741\ }
\DoxyCodeLine{00745\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ad507c880564ac1121e781a9663bba05d}{column\_permute}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ permutation\_indices,}
\DoxyCodeLine{00746\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00747\ }
\DoxyCodeLine{00748\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a41882a58a4ad092770111bf981be0cf2}{inverse\_row\_permute}}(}
\DoxyCodeLine{00749\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ permutation\_indices)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00750\ }
\DoxyCodeLine{00751\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_aad654481952f8d0662214e29d2fb7629}{inverse\_row\_permute}}(}
\DoxyCodeLine{00752\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ permutation\_indices)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00753\ }
\DoxyCodeLine{00763\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a9bb1ae1e28551543b4db37363d3c2619}{inverse\_row\_permute}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ permutation\_indices,}
\DoxyCodeLine{00764\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00765\ }
\DoxyCodeLine{00769\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ad9e5671dac20b823abbad5992a761f30}{inverse\_row\_permute}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ permutation\_indices,}
\DoxyCodeLine{00770\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00771\ }
\DoxyCodeLine{00772\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a517fe33b174962c89229cece760022f8}{inverse\_column\_permute}}(}
\DoxyCodeLine{00773\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ permutation\_indices)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00774\ }
\DoxyCodeLine{00775\ \ \ \ \ std::unique\_ptr<LinOp>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_aa1e8a40611bdd15b6a6ffd2b8e9bff12}{inverse\_column\_permute}}(}
\DoxyCodeLine{00776\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ permutation\_indices)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00777\ }
\DoxyCodeLine{00787\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a9c774cb78be2ddc2c1f250ddc8069b36}{inverse\_column\_permute}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int32>}}*\ permutation\_indices,}
\DoxyCodeLine{00788\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00789\ }
\DoxyCodeLine{00793\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_aed6089ee1640792c3d31ff923d075693}{inverse\_column\_permute}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1array}{array<int64>}}*\ permutation\_indices,}
\DoxyCodeLine{00794\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<Dense>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00795\ }
\DoxyCodeLine{00796\ \ \ \ \ std::unique\_ptr<Diagonal<ValueType>>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_af5e567991ffd5a1928dc27cddb21d5f8}{extract\_diagonal}}()\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00797\ }
\DoxyCodeLine{00805\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a755bf9481d4b2fbca411f2e0b5b156db}{extract\_diagonal}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param}}<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Diagonal}{Diagonal<ValueType>}}>\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00806\ }
\DoxyCodeLine{00807\ \ \ \ \ std::unique\_ptr<absolute\_type>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a75e7f1bec588972df1ad5aaafa15c5d7}{compute\_absolute}}()\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{00808\ }
\DoxyCodeLine{00816\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a11f21b6fd086508ae2bd64955f59481c}{compute\_absolute}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<absolute\_type>}}\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00817\ }
\DoxyCodeLine{00818\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ac86f11554ae7cd5814852d6e1a0b9d4d}{compute\_absolute\_inplace}}()\ \textcolor{keyword}{override};}
\DoxyCodeLine{00819\ }
\DoxyCodeLine{00824\ \ \ \ \ std::unique\_ptr<complex\_type>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_acc084b38437ef5256b7c277d3289e44f}{make\_complex}}()\ \textcolor{keyword}{const};}
\DoxyCodeLine{00825\ }
\DoxyCodeLine{00831\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a759f98c28ca006bf0560517d5471be7b}{make\_complex}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<complex\_type>}}\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00832\ }
\DoxyCodeLine{00837\ \ \ \ \ std::unique\_ptr<real\_type>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ab7105f77a267c6b65d9d960771840a1a}{get\_real}}()\ \textcolor{keyword}{const};}
\DoxyCodeLine{00838\ }
\DoxyCodeLine{00842\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a297df3fbaa89f711e7ba97f9ed866773}{get\_real}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<real\_type>}}\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00843\ }
\DoxyCodeLine{00848\ \ \ \ \ std::unique\_ptr<real\_type>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_af30277fb894bff2c44e511bd6bb3050a}{get\_imag}}()\ \textcolor{keyword}{const};}
\DoxyCodeLine{00849\ }
\DoxyCodeLine{00854\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a1edab3184cd049e837f7c4cea36ab297}{get\_imag}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<real\_type>}}\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00855\ }
\DoxyCodeLine{00861\ \ \ \ \ value\_type*\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_aea71dbb699d506b1f10dd67404b6bc01}{get\_values}}()\ noexcept\ \{\ \textcolor{keywordflow}{return}\ values\_.get\_data();\ \}}
\DoxyCodeLine{00862\ }
\DoxyCodeLine{00870\ \ \ \ \ \textcolor{keyword}{const}\ value\_type*\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a78f311b47437fb90e470b7506234292a}{get\_const\_values}}()\ const\ noexcept}
\DoxyCodeLine{00871\ \ \ \ \ \{}
\DoxyCodeLine{00872\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ values\_.get\_const\_data();}
\DoxyCodeLine{00873\ \ \ \ \ \}}
\DoxyCodeLine{00874\ }
\DoxyCodeLine{00880\ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a8c1b220b9b9292893d9be22d632a9a0e}{get\_stride}}()\ const\ noexcept\ \{\ \textcolor{keywordflow}{return}\ stride\_;\ \}}
\DoxyCodeLine{00881\ }
\DoxyCodeLine{00887\ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a7a6ce578c683841591718134e1ccd1b9}{get\_num\_stored\_elements}}()\ const\ noexcept}
\DoxyCodeLine{00888\ \ \ \ \ \{}
\DoxyCodeLine{00889\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ values\_.get\_size();}
\DoxyCodeLine{00890\ \ \ \ \ \}}
\DoxyCodeLine{00891\ }
\DoxyCodeLine{00902\ \ \ \ \ value\_type\&\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a11528fc674c7885fbcb0936ef873f859}{at}}(\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ row,\ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ col)\ \textcolor{keyword}{noexcept}}
\DoxyCodeLine{00903\ \ \ \ \ \{}
\DoxyCodeLine{00904\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ values\_.get\_data()[linearize\_index(row,\ col)];}
\DoxyCodeLine{00905\ \ \ \ \ \}}
\DoxyCodeLine{00906\ }
\DoxyCodeLine{00910\ \ \ \ \ value\_type\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ae0b30c42359a03805dee41a5cbf87b26}{at}}(\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ row,\ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ col)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}}
\DoxyCodeLine{00911\ \ \ \ \ \{}
\DoxyCodeLine{00912\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ values\_.get\_const\_data()[linearize\_index(row,\ col)];}
\DoxyCodeLine{00913\ \ \ \ \ \}}
\DoxyCodeLine{00914\ }
\DoxyCodeLine{00929\ \ \ \ \ ValueType\&\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a7d56b30e265632beb3afa02e0b705269}{at}}(\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ idx)\ \textcolor{keyword}{noexcept}}
\DoxyCodeLine{00930\ \ \ \ \ \{}
\DoxyCodeLine{00931\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ values\_.get\_data()[linearize\_index(idx)];}
\DoxyCodeLine{00932\ \ \ \ \ \}}
\DoxyCodeLine{00933\ }
\DoxyCodeLine{00937\ \ \ \ \ ValueType\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a34ba8a7f392c65c481a93d9374cb5769}{at}}(\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ idx)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}}
\DoxyCodeLine{00938\ \ \ \ \ \{}
\DoxyCodeLine{00939\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ values\_.get\_const\_data()[linearize\_index(idx)];}
\DoxyCodeLine{00940\ \ \ \ \ \}}
\DoxyCodeLine{00941\ }
\DoxyCodeLine{00951\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a4d739b20e7573f0ed09201fc9c29b07b}{scale}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ LinOp>}}\ alpha);}
\DoxyCodeLine{00952\ }
\DoxyCodeLine{00962\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ae6db296c63b458dced5da070daf02903}{inv\_scale}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ LinOp>}}\ alpha);}
\DoxyCodeLine{00963\ }
\DoxyCodeLine{00974\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a9cf1d8187c613126834ed1af83941e90}{add\_scaled}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ LinOp>}}\ alpha,\ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ LinOp>}}\ b);}
\DoxyCodeLine{00975\ }
\DoxyCodeLine{00986\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a3089b32908dc8eb84999e5100183fb89}{sub\_scaled}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ LinOp>}}\ alpha,\ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ LinOp>}}\ b);}
\DoxyCodeLine{00987\ }
\DoxyCodeLine{00996\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a2ec480660374a4f8b5650c4bb8f8aabe}{compute\_dot}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ LinOp>}}\ b,\ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00997\ }
\DoxyCodeLine{01009\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_af94722afc38b560e3709fbcd257e0967}{compute\_dot}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ LinOp>}}\ b,\ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ result,}
\DoxyCodeLine{01010\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1array}{array<char>}}\&\ tmp)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01011\ }
\DoxyCodeLine{01020\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ab3129d9d0be1c9c94e568ad4d6d440a7}{compute\_conj\_dot}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ LinOp>}}\ b,}
\DoxyCodeLine{01021\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01022\ }
\DoxyCodeLine{01034\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a881c0bd0f7a43a98bd73cfce9735036f}{compute\_conj\_dot}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<const\ LinOp>}}\ b,\ \doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ result,}
\DoxyCodeLine{01035\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1array}{array<char>}}\&\ tmp)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01036\ }
\DoxyCodeLine{01044\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_aed62418c4ecb58c4855b0bea1b7a680d}{compute\_norm2}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01045\ }
\DoxyCodeLine{01056\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a19b9e51fd9922bab9637e42ab7209b8c}{compute\_norm2}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ result,\ \doxymbox{\hyperlink{classgko_1_1array}{array<char>}}\&\ tmp)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01057\ }
\DoxyCodeLine{01065\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a11c59175fcc040d99afe3acb39cbcb3e}{compute\_norm1}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01066\ }
\DoxyCodeLine{01077\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_aa9d0b9e72e37234081f177c3acf86eda}{compute\_norm1}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ result,\ \doxymbox{\hyperlink{classgko_1_1array}{array<char>}}\&\ tmp)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01078\ }
\DoxyCodeLine{01087\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a671a6184e9ad871e106739c4c85fd31d}{compute\_squared\_norm2}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01088\ }
\DoxyCodeLine{01100\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a47fe52899c71664326c586c7d77775a7}{compute\_squared\_norm2}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ result,\ \doxymbox{\hyperlink{classgko_1_1array}{array<char>}}\&\ tmp)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01101\ }
\DoxyCodeLine{01109\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a88e8b78f6eda353274cf18b7e72d3910}{compute\_mean}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01110\ }
\DoxyCodeLine{01121\ \ \ \ \ \textcolor{keywordtype}{void}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a7ae6af1ae08631c0c759b792698ad942}{compute\_mean}}(\doxymbox{\hyperlink{classgko_1_1ptr__param}{ptr\_param<LinOp>}}\ result,\ \doxymbox{\hyperlink{classgko_1_1array}{array<char>}}\&\ tmp)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01122\ }
\DoxyCodeLine{01133\ \ \ \ \ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a65e62d57b48aed34ef0157a502ca61df}{create\_submatrix}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1span}{span}}\&\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972adf347a373b8f92aa0ae3dd920a5ec2f6}{rows}},}
\DoxyCodeLine{01134\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1span}{span}}\&\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972a54ca84a794888fe8d92834787dfa935a}{columns}},}
\DoxyCodeLine{01135\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ stride)}
\DoxyCodeLine{01136\ \ \ \ \ \{}
\DoxyCodeLine{01137\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ this-\/>create\_submatrix\_impl(\doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972adf347a373b8f92aa0ae3dd920a5ec2f6}{rows}},\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972a54ca84a794888fe8d92834787dfa935a}{columns}},\ stride);}
\DoxyCodeLine{01138\ \ \ \ \ \}}
\DoxyCodeLine{01139\ }
\DoxyCodeLine{01146\ \ \ \ \ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a576ace745e0e68097bb81bbb510b1e95}{create\_submatrix}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1span}{span}}\&\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972adf347a373b8f92aa0ae3dd920a5ec2f6}{rows}},}
\DoxyCodeLine{01147\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1span}{span}}\&\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972a54ca84a794888fe8d92834787dfa935a}{columns}})}
\DoxyCodeLine{01148\ \ \ \ \ \{}
\DoxyCodeLine{01149\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a65e62d57b48aed34ef0157a502ca61df}{create\_submatrix}}(\doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972adf347a373b8f92aa0ae3dd920a5ec2f6}{rows}},\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972a54ca84a794888fe8d92834787dfa935a}{columns}},\ this-\/>\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a8c1b220b9b9292893d9be22d632a9a0e}{get\_stride}}());}
\DoxyCodeLine{01150\ \ \ \ \ \}}
\DoxyCodeLine{01151\ }
\DoxyCodeLine{01152\ }
\DoxyCodeLine{01161\ \ \ \ \ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ac992667027965b4e39dc84f01c3063d9}{create\_submatrix}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1local__span}{local\_span}}\&\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972adf347a373b8f92aa0ae3dd920a5ec2f6}{rows}},}
\DoxyCodeLine{01162\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1local__span}{local\_span}}\&\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972a54ca84a794888fe8d92834787dfa935a}{columns}},}
\DoxyCodeLine{01163\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\ size)}
\DoxyCodeLine{01164\ \ \ \ \ \{}
\DoxyCodeLine{01165\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\ deduced\_size\{\doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972adf347a373b8f92aa0ae3dd920a5ec2f6}{rows}}.length(),\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972a54ca84a794888fe8d92834787dfa935a}{columns}}.length()\};}
\DoxyCodeLine{01166\ \ \ \ \ \ \ \ \ GKO\_ASSERT\_EQUAL\_DIMENSIONS(deduced\_size,\ size);}
\DoxyCodeLine{01167\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a65e62d57b48aed34ef0157a502ca61df}{create\_submatrix}}(\doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972adf347a373b8f92aa0ae3dd920a5ec2f6}{rows}},\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972a54ca84a794888fe8d92834787dfa935a}{columns}},\ this-\/>\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a8c1b220b9b9292893d9be22d632a9a0e}{get\_stride}}());}
\DoxyCodeLine{01168\ \ \ \ \ \}}
\DoxyCodeLine{01169\ }
\DoxyCodeLine{01177\ \ \ \ \ std::unique\_ptr<real\_type>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_af50b1c2ccd8a72823c523aa00bbaabf3}{create\_real\_view}}();}
\DoxyCodeLine{01178\ }
\DoxyCodeLine{01182\ \ \ \ \ std::unique\_ptr<const\ real\_type>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_acdfd43420e0428c25ca9e1b86c4c3e45}{create\_real\_view}}()\ \textcolor{keyword}{const};}
\DoxyCodeLine{01183\ }
\DoxyCodeLine{01196\ \ \ \ \ \textcolor{keyword}{static}\ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ae198b3130d8966418047baa8dabe466c}{create}}(std::shared\_ptr<const\ Executor>\ exec,}
\DoxyCodeLine{01197\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\&\ size\ =\ \{\},}
\DoxyCodeLine{01198\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ stride\ =\ 0);}
\DoxyCodeLine{01199\ }
\DoxyCodeLine{01216\ \ \ \ \ \textcolor{keyword}{static}\ std::unique\_ptr<Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a8b9a31eada3d29a032c5457025d3afa6}{create}}(std::shared\_ptr<const\ Executor>\ exec,}
\DoxyCodeLine{01217\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\&\ size,}
\DoxyCodeLine{01218\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1array}{array<value\_type>}}\ values,}
\DoxyCodeLine{01219\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ stride);}
\DoxyCodeLine{01220\ }
\DoxyCodeLine{01225\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ InputValueType>}
\DoxyCodeLine{01226\ \ \ \ \ GKO\_DEPRECATED(}
\DoxyCodeLine{01227\ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}explicitly\ construct\ the\ gko::array\ argument\ instead\ of\ passing\ an"{}}}
\DoxyCodeLine{01228\ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}initializer\ list"{}})}
\DoxyCodeLine{01229\ \ \ \ \ static\ \doxymbox{\hyperlink{namespacestd}{std}}::unique\_ptr<\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ae198b3130d8966418047baa8dabe466c}{create}}(}
\DoxyCodeLine{01230\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacestd}{std}}::shared\_ptr<const\ \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}}>\ exec,\ const\ \doxymbox{\hyperlink{structgko_1_1dim}{dim}}<2>\&\ size,}
\DoxyCodeLine{01231\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacestd}{std}}::initializer\_list<InputValueType>\ values,\ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ stride)}
\DoxyCodeLine{01232\ \ \ \ \ \{}
\DoxyCodeLine{01233\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ae198b3130d8966418047baa8dabe466c}{create}}(exec,\ size,\ \doxymbox{\hyperlink{classgko_1_1array}{array<value\_type>}}\{exec,\ std::move(values)\},}
\DoxyCodeLine{01234\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stride);}
\DoxyCodeLine{01235\ \ \ \ \ \}}
\DoxyCodeLine{01236\ }
\DoxyCodeLine{01248\ \ \ \ \ \textcolor{keyword}{static}\ std::unique\_ptr<const\ Dense>\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ae49b803cbdb12b584ad3b080c79f1c68}{create\_const}}(}
\DoxyCodeLine{01249\ \ \ \ \ \ \ \ \ std::shared\_ptr<const\ Executor>\ exec,\ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\&\ size,}
\DoxyCodeLine{01250\ \ \ \ \ \ \ \ \ gko::detail::const\_array\_view<ValueType>\&\&\ values,\ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ stride);}
\DoxyCodeLine{01251\ }
\DoxyCodeLine{01257\ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}\&\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a1dc882a8d7e93955a9587db1fcedb165}{operator=}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}\&);}
\DoxyCodeLine{01258\ }
\DoxyCodeLine{01264\ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}\&\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ae9cfb20e64c774eb013de0d3dbe2480f}{operator=}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}\&\&);}
\DoxyCodeLine{01265\ }
\DoxyCodeLine{01270\ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}\&);}
\DoxyCodeLine{01271\ }
\DoxyCodeLine{01276\ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ad989b179ced5ceeb6020b228719cc6c3}{Dense}}(\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}\&\&);}
\DoxyCodeLine{01277\ }
\DoxyCodeLine{01278\ \textcolor{keyword}{protected}:}
\DoxyCodeLine{01279\ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}(std::shared\_ptr<const\ Executor>\ exec,\ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\&\ size\ =\ \{\},}
\DoxyCodeLine{01280\ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ stride\ =\ 0);}
\DoxyCodeLine{01281\ }
\DoxyCodeLine{01282\ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}(std::shared\_ptr<const\ Executor>\ exec,\ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\&\ size,}
\DoxyCodeLine{01283\ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1array}{array<value\_type>}}\ values,\ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ stride);}
\DoxyCodeLine{01284\ }
\DoxyCodeLine{01291\ \ \ \ \ \textcolor{keyword}{virtual}\ std::unique\_ptr<Dense>\ create\_with\_same\_config()\textcolor{keyword}{\ const}}
\DoxyCodeLine{01292\ \textcolor{keyword}{\ \ \ \ }\{}
\DoxyCodeLine{01293\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ae198b3130d8966418047baa8dabe466c}{Dense::create}}(this-\/>get\_executor(),\ this-\/>get\_size(),}
\DoxyCodeLine{01294\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ this-\/>\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a8c1b220b9b9292893d9be22d632a9a0e}{get\_stride}}());}
\DoxyCodeLine{01295\ \ \ \ \ \}}
\DoxyCodeLine{01296\ }
\DoxyCodeLine{01304\ \ \ \ \ \textcolor{keyword}{virtual}\ std::unique\_ptr<Dense>\ create\_with\_type\_of\_impl(}
\DoxyCodeLine{01305\ \ \ \ \ \ \ \ \ std::shared\_ptr<const\ Executor>\ exec,\ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\&\ size,}
\DoxyCodeLine{01306\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ stride)\textcolor{keyword}{\ const}}
\DoxyCodeLine{01307\ \textcolor{keyword}{\ \ \ \ }\{}
\DoxyCodeLine{01308\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ae198b3130d8966418047baa8dabe466c}{Dense::create}}(exec,\ size,\ stride);}
\DoxyCodeLine{01309\ \ \ \ \ \}}
\DoxyCodeLine{01310\ }
\DoxyCodeLine{01317\ \ \ \ \ \textcolor{keyword}{virtual}\ std::unique\_ptr<Dense>\ create\_view\_of\_impl()}
\DoxyCodeLine{01318\ \ \ \ \ \{}
\DoxyCodeLine{01319\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ exec\ =\ this-\/>get\_executor();}
\DoxyCodeLine{01320\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ae198b3130d8966418047baa8dabe466c}{Dense::create}}(}
\DoxyCodeLine{01321\ \ \ \ \ \ \ \ \ \ \ \ \ exec,\ this-\/>get\_size(),}
\DoxyCodeLine{01322\ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a752922d291cf7c72e3042cc5b367aa60}{gko::make\_array\_view}}(exec,\ this-\/>\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a7a6ce578c683841591718134e1ccd1b9}{get\_num\_stored\_elements}}(),}
\DoxyCodeLine{01323\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ this-\/>\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_aea71dbb699d506b1f10dd67404b6bc01}{get\_values}}()),}
\DoxyCodeLine{01324\ \ \ \ \ \ \ \ \ \ \ \ \ this-\/>\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a8c1b220b9b9292893d9be22d632a9a0e}{get\_stride}}());}
\DoxyCodeLine{01325\ \ \ \ \ \}}
\DoxyCodeLine{01326\ }
\DoxyCodeLine{01333\ \ \ \ \ \textcolor{keyword}{virtual}\ std::unique\_ptr<const\ Dense>\ create\_const\_view\_of\_impl()\textcolor{keyword}{\ const}}
\DoxyCodeLine{01334\ \textcolor{keyword}{\ \ \ \ }\{}
\DoxyCodeLine{01335\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ exec\ =\ this-\/>get\_executor();}
\DoxyCodeLine{01336\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ae49b803cbdb12b584ad3b080c79f1c68}{Dense::create\_const}}(}
\DoxyCodeLine{01337\ \ \ \ \ \ \ \ \ \ \ \ \ exec,\ this-\/>get\_size(),}
\DoxyCodeLine{01338\ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a5309c321872a54fc9818ed9f5556eef4}{gko::make\_const\_array\_view}}(exec,\ this-\/>\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a7a6ce578c683841591718134e1ccd1b9}{get\_num\_stored\_elements}}(),}
\DoxyCodeLine{01339\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ this-\/>\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a78f311b47437fb90e470b7506234292a}{get\_const\_values}}()),}
\DoxyCodeLine{01340\ \ \ \ \ \ \ \ \ \ \ \ \ this-\/>\doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a8c1b220b9b9292893d9be22d632a9a0e}{get\_stride}}());}
\DoxyCodeLine{01341\ \ \ \ \ \}}
\DoxyCodeLine{01342\ }
\DoxyCodeLine{01343\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{01344\ \ \ \ \ \textcolor{keywordtype}{void}\ convert\_impl(Coo<ValueType,\ IndexType>*\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01345\ }
\DoxyCodeLine{01346\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{01347\ \ \ \ \ \textcolor{keywordtype}{void}\ convert\_impl(Csr<ValueType,\ IndexType>*\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01348\ }
\DoxyCodeLine{01349\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{01350\ \ \ \ \ \textcolor{keywordtype}{void}\ convert\_impl(Ell<ValueType,\ IndexType>*\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01351\ }
\DoxyCodeLine{01352\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{01353\ \ \ \ \ \textcolor{keywordtype}{void}\ convert\_impl(Fbcsr<ValueType,\ IndexType>*\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01354\ }
\DoxyCodeLine{01355\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{01356\ \ \ \ \ \textcolor{keywordtype}{void}\ convert\_impl(Hybrid<ValueType,\ IndexType>*\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01357\ }
\DoxyCodeLine{01358\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{01359\ \ \ \ \ \textcolor{keywordtype}{void}\ convert\_impl(Sellp<ValueType,\ IndexType>*\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01360\ }
\DoxyCodeLine{01361\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{01362\ \ \ \ \ \textcolor{keywordtype}{void}\ convert\_impl(SparsityCsr<ValueType,\ IndexType>*\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01363\ }
\DoxyCodeLine{01370\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ scale\_impl(\textcolor{keyword}{const}\ LinOp*\ alpha);}
\DoxyCodeLine{01371\ }
\DoxyCodeLine{01378\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ inv\_scale\_impl(\textcolor{keyword}{const}\ LinOp*\ alpha);}
\DoxyCodeLine{01379\ }
\DoxyCodeLine{01386\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ add\_scaled\_impl(\textcolor{keyword}{const}\ LinOp*\ alpha,\ \textcolor{keyword}{const}\ LinOp*\ b);}
\DoxyCodeLine{01387\ }
\DoxyCodeLine{01394\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ sub\_scaled\_impl(\textcolor{keyword}{const}\ LinOp*\ alpha,\ \textcolor{keyword}{const}\ LinOp*\ b);}
\DoxyCodeLine{01395\ }
\DoxyCodeLine{01402\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ compute\_dot\_impl(\textcolor{keyword}{const}\ LinOp*\ b,\ LinOp*\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01403\ }
\DoxyCodeLine{01410\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ compute\_conj\_dot\_impl(\textcolor{keyword}{const}\ LinOp*\ b,\ LinOp*\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01411\ }
\DoxyCodeLine{01418\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ compute\_norm2\_impl(LinOp*\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01419\ }
\DoxyCodeLine{01426\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ compute\_norm1\_impl(LinOp*\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01427\ }
\DoxyCodeLine{01434\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ compute\_squared\_norm2\_impl(LinOp*\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01435\ }
\DoxyCodeLine{01439\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ compute\_mean\_impl(LinOp*\ result)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01440\ }
\DoxyCodeLine{01449\ \ \ \ \ \textcolor{keywordtype}{void}\ resize(gko::dim<2>\ new\_size);}
\DoxyCodeLine{01450\ }
\DoxyCodeLine{01458\ \ \ \ \ \textcolor{keyword}{virtual}\ std::unique\_ptr<Dense>\ create\_submatrix\_impl(}
\DoxyCodeLine{01459\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ span\&\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972adf347a373b8f92aa0ae3dd920a5ec2f6}{rows}},\ \textcolor{keyword}{const}\ span\&\ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972a54ca84a794888fe8d92834787dfa935a}{columns}},\ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ stride);}
\DoxyCodeLine{01460\ }
\DoxyCodeLine{01461\ \ \ \ \ \textcolor{keywordtype}{void}\ apply\_impl(\textcolor{keyword}{const}\ LinOp*\ b,\ LinOp*\ x)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{01462\ }
\DoxyCodeLine{01463\ \ \ \ \ \textcolor{keywordtype}{void}\ apply\_impl(\textcolor{keyword}{const}\ LinOp*\ alpha,\ \textcolor{keyword}{const}\ LinOp*\ b,\ \textcolor{keyword}{const}\ LinOp*\ beta,}
\DoxyCodeLine{01464\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ LinOp*\ x)\ \textcolor{keyword}{const\ override};}
\DoxyCodeLine{01465\ }
\DoxyCodeLine{01466\ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ linearize\_index(\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ row,\ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ col)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}}
\DoxyCodeLine{01467\ \ \ \ \ \{}
\DoxyCodeLine{01468\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ row\ *\ stride\_\ +\ col;}
\DoxyCodeLine{01469\ \ \ \ \ \}}
\DoxyCodeLine{01470\ }
\DoxyCodeLine{01471\ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ linearize\_index(\doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ idx)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}}
\DoxyCodeLine{01472\ \ \ \ \ \{}
\DoxyCodeLine{01473\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ linearize\_index(idx\ /\ this-\/>get\_size()[1],}
\DoxyCodeLine{01474\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ idx\ \%\ this-\/>get\_size()[1]);}
\DoxyCodeLine{01475\ \ \ \ \ \}}
\DoxyCodeLine{01476\ }
\DoxyCodeLine{01477\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{01478\ \ \ \ \ \textcolor{keywordtype}{void}\ permute\_impl(\textcolor{keyword}{const}\ Permutation<IndexType>*\ permutation,}
\DoxyCodeLine{01479\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972}{permute\_mode}}\ mode,\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}*\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01480\ }
\DoxyCodeLine{01481\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{01482\ \ \ \ \ \textcolor{keywordtype}{void}\ permute\_impl(\textcolor{keyword}{const}\ Permutation<IndexType>*\ row\_permutation,}
\DoxyCodeLine{01483\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ Permutation<IndexType>*\ col\_permutation,}
\DoxyCodeLine{01484\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ invert,\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}*\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01485\ }
\DoxyCodeLine{01486\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{01487\ \ \ \ \ \textcolor{keywordtype}{void}\ scale\_permute\_impl(}
\DoxyCodeLine{01488\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ ScaledPermutation<ValueType,\ IndexType>*\ permutation,}
\DoxyCodeLine{01489\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_1_1matrix_ade1f3cdbf05032c2d681fa151de02972}{permute\_mode}}\ mode,\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}*\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01490\ }
\DoxyCodeLine{01491\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{01492\ \ \ \ \ \textcolor{keywordtype}{void}\ scale\_permute\_impl(}
\DoxyCodeLine{01493\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ ScaledPermutation<ValueType,\ IndexType>*\ row\_permutation,}
\DoxyCodeLine{01494\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ ScaledPermutation<ValueType,\ IndexType>*\ column\_permutation,}
\DoxyCodeLine{01495\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ invert,\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense}}*\ output)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01496\ }
\DoxyCodeLine{01497\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ OutputType,\ \textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{01498\ \ \ \ \ \textcolor{keywordtype}{void}\ row\_gather\_impl(\textcolor{keyword}{const}\ array<IndexType>*\ row\_idxs,}
\DoxyCodeLine{01499\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense<OutputType>}}*\ row\_collection)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01500\ }
\DoxyCodeLine{01501\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ OutputType,\ \textcolor{keyword}{typename}\ IndexType>}
\DoxyCodeLine{01502\ \ \ \ \ \textcolor{keywordtype}{void}\ row\_gather\_impl(\textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense<ValueType>}}*\ alpha,}
\DoxyCodeLine{01503\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ array<IndexType>*\ row\_idxs,}
\DoxyCodeLine{01504\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense<ValueType>}}*\ beta,}
\DoxyCodeLine{01505\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_a433fbe9fcfc30a0fc96cd95ace38b903}{Dense<OutputType>}}*\ row\_collection)\ \textcolor{keyword}{const};}
\DoxyCodeLine{01506\ }
\DoxyCodeLine{01507\ \textcolor{keyword}{private}:}
\DoxyCodeLine{01508\ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ stride\_;}
\DoxyCodeLine{01509\ \ \ \ \ array<value\_type>\ values\_;}
\DoxyCodeLine{01510\ }
\DoxyCodeLine{01511\ \ \ \ \ \textcolor{keywordtype}{void}\ add\_scaled\_identity\_impl(\textcolor{keyword}{const}\ LinOp*\ a,\ \textcolor{keyword}{const}\ LinOp*\ b)\ \textcolor{keyword}{override};}
\DoxyCodeLine{01512\ \};}
\DoxyCodeLine{01513\ }
\DoxyCodeLine{01514\ }
\DoxyCodeLine{01515\ \}\ \ \textcolor{comment}{//\ namespace\ matrix}}
\DoxyCodeLine{01516\ }
\DoxyCodeLine{01517\ }
\DoxyCodeLine{01518\ \textcolor{keyword}{namespace\ }detail\ \{}
\DoxyCodeLine{01519\ }
\DoxyCodeLine{01520\ }
\DoxyCodeLine{01521\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ ValueType>}
\DoxyCodeLine{01522\ \textcolor{keyword}{struct\ }temporary\_clone\_helper<matrix::Dense<ValueType>>\ \{}
\DoxyCodeLine{01523\ \ \ \ \ \textcolor{keyword}{static}\ std::unique\_ptr<matrix::Dense<ValueType>>\ create(}
\DoxyCodeLine{01524\ \ \ \ \ \ \ \ \ std::shared\_ptr<const\ Executor>\ exec,\ matrix::Dense<ValueType>*\ ptr,}
\DoxyCodeLine{01525\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ copy\_data)}
\DoxyCodeLine{01526\ \ \ \ \ \{}
\DoxyCodeLine{01527\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (copy\_data)\ \{}
\DoxyCodeLine{01528\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \doxymbox{\hyperlink{namespacegko_aa194e34282452493231ca7b01ffb5e64}{gko::clone}}(std::move(exec),\ ptr);}
\DoxyCodeLine{01529\ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{01530\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_ae198b3130d8966418047baa8dabe466c}{matrix::Dense<ValueType>::create}}(exec,\ ptr-\/>get\_size());}
\DoxyCodeLine{01531\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{01532\ \ \ \ \ \}}
\DoxyCodeLine{01533\ \};}
\DoxyCodeLine{01534\ }
\DoxyCodeLine{01535\ }
\DoxyCodeLine{01536\ \}\ \ \textcolor{comment}{//\ namespace\ detail}}
\DoxyCodeLine{01537\ }
\DoxyCodeLine{01538\ }
\DoxyCodeLine{01546\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ VecPtr>}
\DoxyCodeLine{01547\ std::unique\_ptr<matrix::Dense<typename\ detail::pointee<VecPtr>::value\_type>>}
\DoxyCodeLine{01548\ \doxymbox{\hyperlink{namespacegko_a6d2de0c8ecbe3736e7d201e6a372be02}{make\_dense\_view}}(VecPtr\&\&\ vector)}
\DoxyCodeLine{01549\ \{}
\DoxyCodeLine{01550\ \ \ \ \ \textcolor{keyword}{using\ }value\_type\ =\ \textcolor{keyword}{typename}\ detail::pointee<VecPtr>::value\_type;}
\DoxyCodeLine{01551\ \ \ \ \ \textcolor{keywordflow}{return}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_aa24190fef5a235843c610343e66ce141}{matrix::Dense<value\_type>::create\_view\_of}}(vector);}
\DoxyCodeLine{01552\ \}}
\DoxyCodeLine{01553\ }
\DoxyCodeLine{01554\ }
\DoxyCodeLine{01562\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ VecPtr>}
\DoxyCodeLine{01563\ std::unique\_ptr<}
\DoxyCodeLine{01564\ \ \ \ \ \textcolor{keyword}{const}\ matrix::Dense<typename\ detail::pointee<VecPtr>::value\_type>>}
\DoxyCodeLine{01565\ \doxymbox{\hyperlink{namespacegko_a218d2e44e2d95fbe638ad98789fccb07}{make\_const\_dense\_view}}(VecPtr\&\&\ vector)}
\DoxyCodeLine{01566\ \{}
\DoxyCodeLine{01567\ \ \ \ \ \textcolor{keyword}{using\ }value\_type\ =\ \textcolor{keyword}{typename}\ detail::pointee<VecPtr>::value\_type;}
\DoxyCodeLine{01568\ \ \ \ \ \textcolor{keywordflow}{return}\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense_abd682be340c3f29f55b73a630ca8ef64}{matrix::Dense<value\_type>::create\_const\_view\_of}}(vector);}
\DoxyCodeLine{01569\ \}}
\DoxyCodeLine{01570\ }
\DoxyCodeLine{01571\ }
\DoxyCodeLine{01592\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ Matrix,\ \textcolor{keyword}{typename}...\ TArgs>}
\DoxyCodeLine{01593\ std::unique\_ptr<Matrix>\ \doxymbox{\hyperlink{group__LinOp_ga70851b4c3c9b01bb667b3a8e438fb6d2}{initialize}}(}
\DoxyCodeLine{01594\ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ stride,\ std::initializer\_list<typename\ Matrix::value\_type>\ vals,}
\DoxyCodeLine{01595\ \ \ \ \ std::shared\_ptr<const\ Executor>\ exec,\ TArgs\&\&...\ create\_args)}
\DoxyCodeLine{01596\ \{}
\DoxyCodeLine{01597\ \ \ \ \ \textcolor{keyword}{using\ }dense\ =\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{matrix::Dense<typename\ Matrix::value\_type>}};}
\DoxyCodeLine{01598\ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ num\_rows\ =\ vals.size();}
\DoxyCodeLine{01599\ \ \ \ \ \textcolor{keyword}{auto}\ tmp\ =\ dense::create(exec-\/>get\_master(),\ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\{num\_rows,\ 1\},\ stride);}
\DoxyCodeLine{01600\ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ idx\ =\ 0;}
\DoxyCodeLine{01601\ \ \ \ \ \textcolor{keywordflow}{for}\ (\textcolor{keyword}{const}\ \textcolor{keyword}{auto}\&\ elem\ :\ vals)\ \{}
\DoxyCodeLine{01602\ \ \ \ \ \ \ \ \ tmp-\/>at(idx)\ =\ elem;}
\DoxyCodeLine{01603\ \ \ \ \ \ \ \ \ ++idx;}
\DoxyCodeLine{01604\ \ \ \ \ \}}
\DoxyCodeLine{01605\ \ \ \ \ \textcolor{keyword}{auto}\ mtx\ =\ Matrix::create(exec,\ std::forward<TArgs>(create\_args)...);}
\DoxyCodeLine{01606\ \ \ \ \ tmp-\/>move\_to(mtx);}
\DoxyCodeLine{01607\ \ \ \ \ \textcolor{keywordflow}{return}\ mtx;}
\DoxyCodeLine{01608\ \}}
\DoxyCodeLine{01609\ }
\DoxyCodeLine{01630\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ Matrix,\ \textcolor{keyword}{typename}...\ TArgs>}
\DoxyCodeLine{01631\ std::unique\_ptr<Matrix>\ \doxymbox{\hyperlink{group__LinOp_ga70851b4c3c9b01bb667b3a8e438fb6d2}{initialize}}(}
\DoxyCodeLine{01632\ \ \ \ \ std::initializer\_list<typename\ Matrix::value\_type>\ vals,}
\DoxyCodeLine{01633\ \ \ \ \ std::shared\_ptr<const\ Executor>\ exec,\ TArgs\&\&...\ create\_args)}
\DoxyCodeLine{01634\ \{}
\DoxyCodeLine{01635\ \ \ \ \ \textcolor{keywordflow}{return}\ \doxymbox{\hyperlink{group__LinOp_ga70851b4c3c9b01bb667b3a8e438fb6d2}{initialize<Matrix>}}(1,\ vals,\ std::move(exec),}
\DoxyCodeLine{01636\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward<TArgs>(create\_args)...);}
\DoxyCodeLine{01637\ \}}
\DoxyCodeLine{01638\ }
\DoxyCodeLine{01639\ }
\DoxyCodeLine{01660\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ Matrix,\ \textcolor{keyword}{typename}...\ TArgs>}
\DoxyCodeLine{01661\ std::unique\_ptr<Matrix>\ \doxymbox{\hyperlink{group__LinOp_ga70851b4c3c9b01bb667b3a8e438fb6d2}{initialize}}(}
\DoxyCodeLine{01662\ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ stride,}
\DoxyCodeLine{01663\ \ \ \ \ std::initializer\_list<std::initializer\_list<typename\ Matrix::value\_type>>}
\DoxyCodeLine{01664\ \ \ \ \ \ \ \ \ vals,}
\DoxyCodeLine{01665\ \ \ \ \ std::shared\_ptr<const\ Executor>\ exec,\ TArgs\&\&...\ create\_args)}
\DoxyCodeLine{01666\ \{}
\DoxyCodeLine{01667\ \ \ \ \ \textcolor{keyword}{using\ }dense\ =\ \doxymbox{\hyperlink{classgko_1_1matrix_1_1Dense}{matrix::Dense<typename\ Matrix::value\_type>}};}
\DoxyCodeLine{01668\ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ num\_rows\ =\ vals.size();}
\DoxyCodeLine{01669\ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ num\_cols\ =\ num\_rows\ >\ 0\ ?\ begin(vals)-\/>size()\ :\ 1;}
\DoxyCodeLine{01670\ \ \ \ \ \textcolor{keyword}{auto}\ tmp\ =}
\DoxyCodeLine{01671\ \ \ \ \ \ \ \ \ dense::create(exec-\/>get\_master(),\ \doxymbox{\hyperlink{structgko_1_1dim}{dim<2>}}\{num\_rows,\ num\_cols\},\ stride);}
\DoxyCodeLine{01672\ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ ridx\ =\ 0;}
\DoxyCodeLine{01673\ \ \ \ \ \textcolor{keywordflow}{for}\ (\textcolor{keyword}{const}\ \textcolor{keyword}{auto}\&\ row\ :\ vals)\ \{}
\DoxyCodeLine{01674\ \ \ \ \ \ \ \ \ \doxymbox{\hyperlink{namespacegko_a9579c98b1d85bf4ad02d7cb5b96fc771}{size\_type}}\ cidx\ =\ 0;}
\DoxyCodeLine{01675\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (\textcolor{keyword}{const}\ \textcolor{keyword}{auto}\&\ elem\ :\ row)\ \{}
\DoxyCodeLine{01676\ \ \ \ \ \ \ \ \ \ \ \ \ tmp-\/>at(ridx,\ cidx)\ =\ elem;}
\DoxyCodeLine{01677\ \ \ \ \ \ \ \ \ \ \ \ \ ++cidx;}
\DoxyCodeLine{01678\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{01679\ \ \ \ \ \ \ \ \ ++ridx;}
\DoxyCodeLine{01680\ \ \ \ \ \}}
\DoxyCodeLine{01681\ \ \ \ \ \textcolor{keyword}{auto}\ mtx\ =\ Matrix::create(exec,\ std::forward<TArgs>(create\_args)...);}
\DoxyCodeLine{01682\ \ \ \ \ tmp-\/>move\_to(mtx);}
\DoxyCodeLine{01683\ \ \ \ \ \textcolor{keywordflow}{return}\ mtx;}
\DoxyCodeLine{01684\ \}}
\DoxyCodeLine{01685\ }
\DoxyCodeLine{01686\ }
\DoxyCodeLine{01708\ \textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ Matrix,\ \textcolor{keyword}{typename}...\ TArgs>}
\DoxyCodeLine{01709\ std::unique\_ptr<Matrix>\ \doxymbox{\hyperlink{group__LinOp_ga70851b4c3c9b01bb667b3a8e438fb6d2}{initialize}}(}
\DoxyCodeLine{01710\ \ \ \ \ std::initializer\_list<std::initializer\_list<typename\ Matrix::value\_type>>}
\DoxyCodeLine{01711\ \ \ \ \ \ \ \ \ vals,}
\DoxyCodeLine{01712\ \ \ \ \ std::shared\_ptr<const\ Executor>\ exec,\ TArgs\&\&...\ create\_args)}
\DoxyCodeLine{01713\ \{}
\DoxyCodeLine{01714\ \ \ \ \ \textcolor{keywordflow}{return}\ \doxymbox{\hyperlink{group__LinOp_ga70851b4c3c9b01bb667b3a8e438fb6d2}{initialize<Matrix>}}(vals.size()\ >\ 0\ ?\ begin(vals)-\/>size()\ :\ 0,\ vals,}
\DoxyCodeLine{01715\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::move(exec),}
\DoxyCodeLine{01716\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward<TArgs>(create\_args)...);}
\DoxyCodeLine{01717\ \}}
\DoxyCodeLine{01718\ }
\DoxyCodeLine{01719\ }
\DoxyCodeLine{01720\ \}\ \ \textcolor{comment}{//\ namespace\ gko}}
\DoxyCodeLine{01721\ }
\DoxyCodeLine{01722\ }
\DoxyCodeLine{01723\ \textcolor{preprocessor}{\#endif\ \ }\textcolor{comment}{//\ GKO\_PUBLIC\_CORE\_MATRIX\_DENSE\_HPP\_}}

\end{DoxyCode}
