\section{sources/utilities/smithnormal\_\-def.h File Reference}
\label{smithnormal__def_8h}\index{sources/utilities/smithnormal_def.h@{sources/utilities/smithnormal\_\-def.h}}
{\tt \#include \char`\"{}matrix.h\char`\"{}}\par


Include dependency graph for smithnormal\_\-def.h:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=317pt]{smithnormal__def_8h__incl}
\end{center}
\end{figure}


This graph shows which files directly or indirectly include this file:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=196pt]{smithnormal__def_8h__dep__incl}
\end{center}
\end{figure}
\subsection*{Namespaces}
\begin{CompactItemize}
\item 
namespace {\bf atlas}
\item 
namespace {\bf atlas::smithnormal}
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
template$<$typename C$>$ void {\bf atlas::smithnormal::add\-Multiple} (std::vector$<$ C $>$ \&, const std::vector$<$ C $>$ \&, const C \&)
\item 
template$<$typename C$>$ void {\bf atlas::smithnormal::block\-Reduce} (Matrix$<$ C $>$ \&m)
\item 
template$<$typename C$>$ void {\bf atlas::smithnormal::block\-Shape} (typename std::vector$<$ std::vector$<$ C $>$ $>$::iterator, matrix::Matrix$<$ C $>$ \&)
\item 
template$<$typename C$>$ void {\bf atlas::smithnormal::column\-Reduce} (matrix::Matrix$<$ C $>$ \&, size\_\-t)
\item 
template$<$typename C$>$ matrix::Matrix$<$ C $>$::index\_\-pair {\bf atlas::smithnormal::find\-Block\-Reduction} (const matrix::Matrix$<$ C $>$ \&)
\item 
template$<$typename C$>$ matrix::Matrix$<$ C $>$::index\_\-pair {\bf atlas::smithnormal::find\-Reduction} (const matrix::Matrix$<$ C $>$ \&)
\item 
template$<$typename C$>$ bool {\bf atlas::smithnormal::has\-Block\-Reduction} (const matrix::Matrix$<$ C $>$ \&)
\item 
template$<$typename C$>$ bool {\bf atlas::smithnormal::has\-Reduction} (const matrix::Matrix$<$ C $>$ \&)
\item 
template$<$typename C$>$ void {\bf atlas::smithnormal::reduce} (typename std::vector$<$ std::vector$<$ C $>$ $>$::iterator, matrix::Matrix$<$ C $>$ \&)
\item 
template$<$typename C$>$ void {\bf atlas::smithnormal::prepare\-Matrix} (typename std::vector$<$ std::vector$<$ C $>$ $>$::iterator, matrix::Matrix$<$ C $>$ \&)
\item 
template$<$typename C$>$ void {\bf atlas::smithnormal::row\-Reduce} (typename std::vector$<$ std::vector$<$ C $>$ $>$::iterator, matrix::Matrix$<$ C $>$ \&, size\_\-t)
\item 
template$<$typename C$>$ void {\bf atlas::smithnormal::smith\-Normal} (std::vector$<$ C $>$ \&, typename std::vector$<$ std::vector$<$ C $>$ $>$::iterator, const matrix::Matrix$<$ C $>$ \&)
\item 
template$<$typename C$>$ void {\bf atlas::smithnormal::smith\-Normal} (std::vector$<$ C $>$ \&, typename std::vector$<$ std::vector$<$ C $>$ $>$::iterator, const std::vector$<$ std::vector$<$ C $>$ $>$ \&)
\item 
template$<$typename C$>$ void {\bf atlas::smithnormal::smith\-Step} (typename std::vector$<$ std::vector$<$ C $>$ $>$::iterator, matrix::Matrix$<$ C $>$ \&)
\end{CompactItemize}
