\section{atlas::matrix Namespace Reference}
\label{namespaceatlas_1_1matrix}\index{atlas::matrix@{atlas::matrix}}


\subsection*{Classes}
\begin{CompactItemize}
\item 
class {\bf Matrix}
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
template$<$typename C$>$ void {\bf column\-Vectors} (std::vector$<$ std::vector$<$ C $>$ $>$ \&b, const {\bf Matrix}$<$ C $>$ \&m)
\item 
template$<$typename C$>$ {\bf Matrix}$<$ C $>$ \& {\bf conjugate} ({\bf Matrix}$<$ C $>$ \&, const {\bf Matrix}$<$ C $>$ \&)
\item 
template$<$typename C$>$ void {\bf extract\-Block} ({\bf Matrix}$<$ C $>$ \&, const {\bf Matrix}$<$ C $>$ \&, size\_\-t, size\_\-t, size\_\-t, size\_\-t)
\item 
template$<$typename C$>$ void {\bf extract\-Matrix} ({\bf Matrix}$<$ C $>$ \&, const {\bf Matrix}$<$ C $>$ \&, const std::vector$<$ size\_\-t $>$ \&, const std::vector$<$ size\_\-t $>$ \&)
\item 
template$<$typename C$>$ void {\bf identity\-Matrix} ({\bf Matrix}$<$ C $>$ \&, size\_\-t)
\item 
template$<$typename C$>$ void {\bf init\-Basis} (std::vector$<$ std::vector$<$ C $>$ $>$ \&, size\_\-t)
\item 
template$<$typename C$>$ {\bf Matrix}$<$ C $>$ \& {\bf inv\-Conjugate} ({\bf Matrix}$<$ C $>$ \&, const {\bf Matrix}$<$ C $>$ \&)
\item 
template$<$typename C$>$ {\bf Matrix}$<$ C $>$ \& {\bf left\-Prod} ({\bf Matrix}$<$ C $>$ \&, const {\bf Matrix}$<$ C $>$ \&)
\item 
template$<$typename C$>$ void {\bf block\-Reduce} ({\bf Matrix}$<$ C $>$ \&, size\_\-t, {\bf Matrix}$<$ C $>$ \&, {\bf Matrix}$<$ C $>$ \&)
\item 
template$<$typename C$>$ void {\bf block\-Shape} ({\bf Matrix}$<$ C $>$ \&, size\_\-t, {\bf Matrix}$<$ C $>$ \&, {\bf Matrix}$<$ C $>$ \&)
\item 
template$<$typename C$>$ void {\bf column\-Reduce} ({\bf Matrix}$<$ C $>$ \&, size\_\-t, size\_\-t, {\bf Matrix}$<$ C $>$ \&)
\item 
template$<$typename C$>$ bool {\bf has\-Block\-Reduction} (const {\bf Matrix}$<$ C $>$ \&, size\_\-t)
\item 
template$<$typename C$>$ bool {\bf has\-Reduction} (const {\bf Matrix}$<$ C $>$ \&, size\_\-t)
\item 
template$<$typename C$>$ {\bf Matrix}$<$ C $>$::index\_\-pair {\bf find\-Block\-Reduction} (const {\bf Matrix}$<$ C $>$ \&, size\_\-t)
\item 
template$<$typename C$>$ {\bf Matrix}$<$ C $>$::index\_\-pair {\bf find\-Reduction} (const {\bf Matrix}$<$ C $>$ \&, size\_\-t)
\item 
template$<$typename C$>$ void {\bf row\-Reduce} ({\bf Matrix}$<$ C $>$ \&, size\_\-t, size\_\-t, {\bf Matrix}$<$ C $>$ \&)
\item 
template$<$typename C$>$ void {\bf block\-Reduce} ({\bf Matrix}$<$ C $>$ \&m, size\_\-t d, {\bf Matrix}$<$ C $>$ \&r, {\bf Matrix}$<$ C $>$ \&c)
\item 
template$<$typename C$>$ void {\bf block\-Shape} ({\bf Matrix}$<$ C $>$ \&m, size\_\-t d, {\bf Matrix}$<$ C $>$ \&r, {\bf Matrix}$<$ C $>$ \&c)
\item 
template$<$typename C$>$ void {\bf column\-Reduce} ({\bf Matrix}$<$ C $>$ \&m, size\_\-t j, size\_\-t d, {\bf Matrix}$<$ C $>$ \&c)
\item 
template$<$typename C$>$ {\bf Matrix}$<$ C $>$::index\_\-pair {\bf find\-Block\-Reduction} (const {\bf Matrix}$<$ C $>$ \&m, size\_\-t r)
\item 
template$<$typename C$>$ {\bf Matrix}$<$ C $>$::index\_\-pair {\bf find\-Reduction} (const {\bf Matrix}$<$ C $>$ \&m, size\_\-t r)
\item 
template$<$typename C$>$ bool {\bf has\-Block\-Reduction} (const {\bf Matrix}$<$ C $>$ \&m, size\_\-t r)
\item 
template$<$typename C$>$ bool {\bf has\-Reduction} (const {\bf Matrix}$<$ C $>$ \&m, size\_\-t r)
\item 
template$<$typename C$>$ void {\bf row\-Reduce} ({\bf Matrix}$<$ C $>$ \&m, size\_\-t i, size\_\-t d, {\bf Matrix}$<$ C $>$ \&r)
\end{CompactItemize}


\subsection{Function Documentation}
\index{atlas::matrix@{atlas::matrix}!blockReduce@{blockReduce}}
\index{blockReduce@{blockReduce}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ void atlas::matrix::@1::block\-Reduce (Matrix$<$ C $>$ \& {\em m}, size\_\-t {\em d}, Matrix$<$ C $>$ \& {\em r}, Matrix$<$ C $>$ \& {\em c})\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_0679660f7f00e5f9f5c3b4b77117d718}


\index{atlas::matrix@{atlas::matrix}!blockReduce@{blockReduce}}
\index{blockReduce@{blockReduce}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ void atlas::matrix::@0::block\-Reduce (Matrix$<$ C $>$ \&, size\_\-t, Matrix$<$ C $>$ \&, Matrix$<$ C $>$ \&)\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_718f6de00badaac860a87703e4ba10b7}


\index{atlas::matrix@{atlas::matrix}!blockShape@{blockShape}}
\index{blockShape@{blockShape}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ void atlas::matrix::@1::block\-Shape (Matrix$<$ C $>$ \& {\em m}, size\_\-t {\em d}, Matrix$<$ C $>$ \& {\em r}, Matrix$<$ C $>$ \& {\em c})\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_43d9fc99bdfd9e1f89e021ccd886e864}


\index{atlas::matrix@{atlas::matrix}!blockShape@{blockShape}}
\index{blockShape@{blockShape}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ void atlas::matrix::@0::block\-Shape (Matrix$<$ C $>$ \&, size\_\-t, Matrix$<$ C $>$ \&, Matrix$<$ C $>$ \&)\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_d3e8033bd92dfd1a9b3132d5c97d1fce}


\index{atlas::matrix@{atlas::matrix}!columnReduce@{columnReduce}}
\index{columnReduce@{columnReduce}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ void atlas::matrix::@1::column\-Reduce (Matrix$<$ C $>$ \& {\em m}, size\_\-t {\em j}, size\_\-t {\em d}, Matrix$<$ C $>$ \& {\em c})\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_743aefdd33281e2a6c71cfd2361abe4a}


\index{atlas::matrix@{atlas::matrix}!columnReduce@{columnReduce}}
\index{columnReduce@{columnReduce}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ void atlas::matrix::@0::column\-Reduce (Matrix$<$ C $>$ \&, size\_\-t, size\_\-t, Matrix$<$ C $>$ \&)\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_16f17b9800171369834311a1cce6ffe3}


\index{atlas::matrix@{atlas::matrix}!columnVectors@{columnVectors}}
\index{columnVectors@{columnVectors}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ void atlas::matrix::column\-Vectors (std::vector$<$ std::vector$<$ C $>$ $>$ \& {\em b}, const Matrix$<$ C $>$ \& {\em m})}\label{namespaceatlas_1_1matrix_3bbfd89895078d4985d993f4abb6e6e7}


\index{atlas::matrix@{atlas::matrix}!conjugate@{conjugate}}
\index{conjugate@{conjugate}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ {\bf Matrix}$<$ C $>$ \& atlas::matrix::conjugate (Matrix$<$ C $>$ \&, const Matrix$<$ C $>$ \&)}\label{namespaceatlas_1_1matrix_0c19c0f3d9c802cde676f15d50a5b987}


\index{atlas::matrix@{atlas::matrix}!extractBlock@{extractBlock}}
\index{extractBlock@{extractBlock}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ void atlas::matrix::extract\-Block (Matrix$<$ C $>$ \&, const Matrix$<$ C $>$ \&, size\_\-t, size\_\-t, size\_\-t, size\_\-t)}\label{namespaceatlas_1_1matrix_28f2ebe8416cf9464746d28a4ea7a99c}


\index{atlas::matrix@{atlas::matrix}!extractMatrix@{extractMatrix}}
\index{extractMatrix@{extractMatrix}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ void atlas::matrix::extract\-Matrix (Matrix$<$ C $>$ \&, const Matrix$<$ C $>$ \&, const std::vector$<$ size\_\-t $>$ \&, const std::vector$<$ size\_\-t $>$ \&)}\label{namespaceatlas_1_1matrix_f09918bb6b2f0a839667159edec83484}


\index{atlas::matrix@{atlas::matrix}!findBlockReduction@{findBlockReduction}}
\index{findBlockReduction@{findBlockReduction}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ {\bf Matrix}$<$C$>$::index\_\-pair atlas::matrix::@1::find\-Block\-Reduction (const Matrix$<$ C $>$ \& {\em m}, size\_\-t {\em r})\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_9961a943697c73003bf4a14bea3f268d}


\index{atlas::matrix@{atlas::matrix}!findBlockReduction@{findBlockReduction}}
\index{findBlockReduction@{findBlockReduction}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ {\bf Matrix}$<$C$>$::index\_\-pair atlas::matrix::@0::find\-Block\-Reduction (const Matrix$<$ C $>$ \&, size\_\-t)\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_95df6f4377e1c225f42e39ffb81dcd70}


\index{atlas::matrix@{atlas::matrix}!findReduction@{findReduction}}
\index{findReduction@{findReduction}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ {\bf Matrix}$<$C$>$::index\_\-pair atlas::matrix::@1::find\-Reduction (const Matrix$<$ C $>$ \& {\em m}, size\_\-t {\em r})\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_8b0c7758a0c0ec9534dc13f313971727}


\index{atlas::matrix@{atlas::matrix}!findReduction@{findReduction}}
\index{findReduction@{findReduction}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ {\bf Matrix}$<$C$>$::index\_\-pair atlas::matrix::@0::find\-Reduction (const Matrix$<$ C $>$ \&, size\_\-t)\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_581f0794646950d5535f106226149e34}


\index{atlas::matrix@{atlas::matrix}!hasBlockReduction@{hasBlockReduction}}
\index{hasBlockReduction@{hasBlockReduction}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ bool atlas::matrix::@1::has\-Block\-Reduction (const Matrix$<$ C $>$ \& {\em m}, size\_\-t {\em r})\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_a6d821acaed62542c7890b3cb3332f1b}


\index{atlas::matrix@{atlas::matrix}!hasBlockReduction@{hasBlockReduction}}
\index{hasBlockReduction@{hasBlockReduction}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ bool atlas::matrix::@0::has\-Block\-Reduction (const Matrix$<$ C $>$ \&, size\_\-t)\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_90143df18f764e2e06ae4ab28c8a358d}


\index{atlas::matrix@{atlas::matrix}!hasReduction@{hasReduction}}
\index{hasReduction@{hasReduction}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ bool atlas::matrix::@1::has\-Reduction (const Matrix$<$ C $>$ \& {\em m}, size\_\-t {\em r})\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_c765787f3b1534972727fb20225b77cc}


\index{atlas::matrix@{atlas::matrix}!hasReduction@{hasReduction}}
\index{hasReduction@{hasReduction}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ bool atlas::matrix::@0::has\-Reduction (const Matrix$<$ C $>$ \&, size\_\-t)\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_2afddee2d5a0f10a321f55c57c765af5}


\index{atlas::matrix@{atlas::matrix}!identityMatrix@{identityMatrix}}
\index{identityMatrix@{identityMatrix}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ void atlas::matrix::identity\-Matrix (Matrix$<$ C $>$ \&, size\_\-t)}\label{namespaceatlas_1_1matrix_fb2f5bee68dfbf84f6502809d54a1b06}


\index{atlas::matrix@{atlas::matrix}!initBasis@{initBasis}}
\index{initBasis@{initBasis}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ void atlas::matrix::init\-Basis (std::vector$<$ std::vector$<$ C $>$ $>$ \&, size\_\-t)}\label{namespaceatlas_1_1matrix_157021a3c22eb3888b29e98c7cf637cf}


\index{atlas::matrix@{atlas::matrix}!invConjugate@{invConjugate}}
\index{invConjugate@{invConjugate}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ {\bf Matrix}$<$ C $>$ \& atlas::matrix::inv\-Conjugate (Matrix$<$ C $>$ \&, const Matrix$<$ C $>$ \&)}\label{namespaceatlas_1_1matrix_5f39eb075d0fc4b75de1b267c2976087}


\index{atlas::matrix@{atlas::matrix}!leftProd@{leftProd}}
\index{leftProd@{leftProd}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ {\bf Matrix}$<$ C $>$ \& atlas::matrix::left\-Prod (Matrix$<$ C $>$ \&, const Matrix$<$ C $>$ \&)}\label{namespaceatlas_1_1matrix_a4b0de06f7c48fa1b866164be0a842e5}


\index{atlas::matrix@{atlas::matrix}!rowReduce@{rowReduce}}
\index{rowReduce@{rowReduce}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ void atlas::matrix::@1::row\-Reduce (Matrix$<$ C $>$ \& {\em m}, size\_\-t {\em i}, size\_\-t {\em d}, Matrix$<$ C $>$ \& {\em r})\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_9ec1e9da0e975ce86883905a6a46247e}


\index{atlas::matrix@{atlas::matrix}!rowReduce@{rowReduce}}
\index{rowReduce@{rowReduce}!atlas::matrix@{atlas::matrix}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename C$>$ void atlas::matrix::@0::row\-Reduce (Matrix$<$ C $>$ \&, size\_\-t, size\_\-t, Matrix$<$ C $>$ \&)\hspace{0.3cm}{\tt  [static]}}\label{namespaceatlas_1_1matrix_934810593a2ef92365608d5a3b102037}


