\doxysection{gko::\+experimental::\+reorder::\+Amd\texorpdfstring{$<$}{<} Index\+Type \texorpdfstring{$>$}{>} Class Template Reference}
\hypertarget{classgko_1_1experimental_1_1reorder_1_1Amd}{}\label{classgko_1_1experimental_1_1reorder_1_1Amd}\index{gko::experimental::reorder::Amd$<$ IndexType $>$@{gko::experimental::reorder::Amd$<$ IndexType $>$}}


Computes a Approximate Minimum Degree (AMD) reordering of an input matrix.  




{\ttfamily \+\#include $<$ginkgo/\+core/\+reorder/\+amd.\+hpp$>$}



Inheritance diagram for gko::\+experimental::\+reorder::\+Amd\texorpdfstring{$<$}{<} Index\+Type \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classgko_1_1experimental_1_1reorder_1_1Amd__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for gko::\+experimental::\+reorder::\+Amd\texorpdfstring{$<$}{<} Index\+Type \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classgko_1_1experimental_1_1reorder_1_1Amd__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \doxymbox{\hyperlink{structgko_1_1experimental_1_1reorder_1_1Amd_1_1parameters__type}{parameters\+\_\+type}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1experimental_1_1reorder_1_1Amd_a7fea6f9834010bd344cb72dc0b834392}\label{classgko_1_1experimental_1_1reorder_1_1Amd_a7fea6f9834010bd344cb72dc0b834392} 
using {\bfseries index\+\_\+type} = Index\+Type
\item 
\Hypertarget{classgko_1_1experimental_1_1reorder_1_1Amd_a31a3c78affdd1d46ff22ff455a72b73f}\label{classgko_1_1experimental_1_1reorder_1_1Amd_a31a3c78affdd1d46ff22ff455a72b73f} 
using {\bfseries permutation\+\_\+type} = \doxymbox{\hyperlink{classgko_1_1matrix_1_1Permutation}{matrix::\+\+Permutation}}$<$index\+\_\+type$>$
\end{DoxyCompactItemize}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1EnablePolymorphicAssignment}{gko::\+\+Enable\+Polymorphic\+Assignment$<$ Amd$<$ int32 $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries result\+\_\+type}
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
const \doxymbox{\hyperlink{structgko_1_1experimental_1_1reorder_1_1Amd_1_1parameters__type}{parameters\+\_\+type}} \& \doxymbox{\hyperlink{classgko_1_1experimental_1_1reorder_1_1Amd_ac1687bc8675a1aef314c320e5d1b7174}{get\+\_\+parameters}} ()
\begin{DoxyCompactList}\small\item\em Returns the parameters used to construct the factory. \end{DoxyCompactList}\item 
std::\+unique\+\_\+ptr$<$ permutation\+\_\+type $>$ \doxymbox{\hyperlink{classgko_1_1experimental_1_1reorder_1_1Amd_a5ae7c6df9e72840a03906c930b829b5e}{generate}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ system\+\_\+matrix) const
\begin{DoxyCompactList}\small\item\em Creates a new product from the given components.    \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1EnablePolymorphicAssignment}{gko::\+\+Enable\+Polymorphic\+Assignment$<$ Amd$<$ int32 $>$ $>$}}}
\begin{DoxyCompactItemize}
\item 
void {\bfseries convert\+\_\+to} (result\+\_\+type \texorpdfstring{$\ast$}{*}result) const override
\item 
void {\bfseries move\+\_\+to} (result\+\_\+type \texorpdfstring{$\ast$}{*}result) override
\end{DoxyCompactItemize}
\doxysubsubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1experimental_1_1reorder_1_1Amd_a03fa10a26c275d6aa5e87c97836f3169}\label{classgko_1_1experimental_1_1reorder_1_1Amd_a03fa10a26c275d6aa5e87c97836f3169} 
static \doxymbox{\hyperlink{structgko_1_1experimental_1_1reorder_1_1Amd_1_1parameters__type}{parameters\+\_\+type}} {\bfseries build} ()
\begin{DoxyCompactList}\small\item\em Creates a new parameter\+\_\+type to set up the factory. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1experimental_1_1reorder_1_1Amd_a8d6af746310987a22724e7fb61f5b0ef}\label{classgko_1_1experimental_1_1reorder_1_1Amd_a8d6af746310987a22724e7fb61f5b0ef} 
class {\bfseries Enable\+Polymorphic\+Object$<$ Amd$<$ Index\+Type $>$, Lin\+Op\+Factory $>$}
\item 
\Hypertarget{classgko_1_1experimental_1_1reorder_1_1Amd_a525072e1be3be7e854c68440f7849c6b}\label{classgko_1_1experimental_1_1reorder_1_1Amd_a525072e1be3be7e854c68440f7849c6b} 
class {\bfseries enable\+\_\+parameters\+\_\+type$<$ parameters\+\_\+type, Amd$<$ Index\+Type $>$ $>$}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Index\+Type = int32$>$\newline
class gko::\+experimental::\+reorder::\+\+Amd$<$ Index\+Type $>$}
Computes a Approximate Minimum Degree (AMD) reordering of an input matrix. 


\begin{DoxyTemplParams}{Template Parameters}
{\em Index\+Type} & the type used to store sparsity pattern indices of the system matrix \\
\hline
\end{DoxyTemplParams}


\label{doc-func-members}
\Hypertarget{classgko_1_1experimental_1_1reorder_1_1Amd_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{classgko_1_1experimental_1_1reorder_1_1Amd_a5ae7c6df9e72840a03906c930b829b5e}\index{gko::experimental::reorder::Amd$<$ IndexType $>$@{gko::experimental::reorder::Amd$<$ IndexType $>$}!generate@{generate}}
\index{generate@{generate}!gko::experimental::reorder::Amd$<$ IndexType $>$@{gko::experimental::reorder::Amd$<$ IndexType $>$}}
\doxysubsubsection{\texorpdfstring{generate()}{generate()}}
{\footnotesize\ttfamily \label{classgko_1_1experimental_1_1reorder_1_1Amd_a5ae7c6df9e72840a03906c930b829b5e} 
template$<$typename Index\+Type = int32$>$ \\
std::\+unique\+\_\+ptr$<$ permutation\+\_\+type $>$ \doxymbox{\hyperlink{classgko_1_1experimental_1_1reorder_1_1Amd}{gko::\+experimental::\+reorder::\+\+Amd}}$<$ Index\+Type $>$::\+generate (\begin{DoxyParamCaption}\item[{std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$}]{system\+\_\+matrix}{}\end{DoxyParamCaption}) const}



Creates a new product from the given components.    

The method will create an Components\+Type object from the arguments of this method, and pass it to the generate\+\_\+impl() function which will create a new Abstract\+Product\+Type.


\begin{DoxyTemplParams}{Template Parameters}
{\em Args} & types of arguments passed to the constructor of Components\+Type\\
\hline
\end{DoxyTemplParams}

\begin{DoxyParams}{Parameters}
{\em args} & arguments passed to the constructor of Components\+Type\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an instance of Abstract\+Product\+Type    
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function overrides the default \doxylink{classgko_1_1AbstractFactory_a7287977ddcd747b4351b72be49a6c230}{Lin\+Op\+Factory::\+generate} to return a Permutation instead of a generic \doxylink{classgko_1_1LinOp}{Lin\+Op}, which would need to be cast to Permutation again to access its indices. It is only necessary because smart pointers aren\textquotesingle{}t covariant. 
\end{DoxyNote}
\Hypertarget{classgko_1_1experimental_1_1reorder_1_1Amd_ac1687bc8675a1aef314c320e5d1b7174}\index{gko::experimental::reorder::Amd$<$ IndexType $>$@{gko::experimental::reorder::Amd$<$ IndexType $>$}!get\_parameters@{get\_parameters}}
\index{get\_parameters@{get\_parameters}!gko::experimental::reorder::Amd$<$ IndexType $>$@{gko::experimental::reorder::Amd$<$ IndexType $>$}}
\doxysubsubsection{\texorpdfstring{get\_parameters()}{get\_parameters()}}
{\footnotesize\ttfamily \label{classgko_1_1experimental_1_1reorder_1_1Amd_ac1687bc8675a1aef314c320e5d1b7174} 
template$<$typename Index\+Type = int32$>$ \\
const \doxymbox{\hyperlink{structgko_1_1experimental_1_1reorder_1_1Amd_1_1parameters__type}{parameters\+\_\+type}} \& \doxymbox{\hyperlink{classgko_1_1experimental_1_1reorder_1_1Amd}{gko::\+experimental::\+reorder::\+\+Amd}}$<$ Index\+Type $>$::\+get\+\_\+parameters (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Returns the parameters used to construct the factory. 

\begin{DoxyReturn}{Returns}
the parameters used to construct the factory. 
\end{DoxyReturn}


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