\section{S\+V\+D\+Convolution$<$ Border\+Mode $>$ Class Template Reference}
\label{classmlpack_1_1ann_1_1SVDConvolution}\index{S\+V\+D\+Convolution$<$ Border\+Mode $>$@{S\+V\+D\+Convolution$<$ Border\+Mode $>$}}


Computes the two-\/dimensional convolution using singular value decomposition.  


\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename eT $>$ }\\static void \textbf{ Convolution} (const arma\+::\+Mat$<$ eT $>$ \&input, const arma\+::\+Mat$<$ eT $>$ \&filter, arma\+::\+Mat$<$ eT $>$ \&output)
\item 
{\footnotesize template$<$typename eT $>$ }\\static void \textbf{ Convolution} (const arma\+::\+Cube$<$ eT $>$ \&input, const arma\+::\+Cube$<$ eT $>$ \&filter, arma\+::\+Cube$<$ eT $>$ \&output)
\item 
{\footnotesize template$<$typename eT $>$ }\\static void \textbf{ Convolution} (const arma\+::\+Mat$<$ eT $>$ \&input, const arma\+::\+Cube$<$ eT $>$ \&filter, arma\+::\+Cube$<$ eT $>$ \&output)
\item 
{\footnotesize template$<$typename eT $>$ }\\static void \textbf{ Convolution} (const arma\+::\+Cube$<$ eT $>$ \&input, const arma\+::\+Mat$<$ eT $>$ \&filter, arma\+::\+Cube$<$ eT $>$ \&output)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Border\+Mode = Full\+Convolution$>$\newline
class mlpack\+::ann\+::\+S\+V\+D\+Convolution$<$ Border\+Mode $>$}

Computes the two-\/dimensional convolution using singular value decomposition. 

This class allows specification of the type of the border type. The convolution can be computed with the valid border type of the full border type (default).

\doxyref{Full\+Convolution}{p.}{classmlpack_1_1ann_1_1FullConvolution}\+: returns the full two-\/dimensional convolution. \doxyref{Valid\+Convolution}{p.}{classmlpack_1_1ann_1_1ValidConvolution}\+: returns only those parts of the convolution that are computed without the zero-\/padded edges.


\begin{DoxyTemplParams}{Template Parameters}
{\em Border\+Mode} & Type of the border mode (\doxyref{Full\+Convolution}{p.}{classmlpack_1_1ann_1_1FullConvolution} or \doxyref{Valid\+Convolution}{p.}{classmlpack_1_1ann_1_1ValidConvolution}). \\
\hline
\end{DoxyTemplParams}


Definition at line 38 of file svd\+\_\+convolution.\+hpp.



\subsection{Member Function Documentation}
\mbox{\label{classmlpack_1_1ann_1_1SVDConvolution_aaff7a735c01552aa46deafa7a7331b1c}} 
\index{mlpack\+::ann\+::\+S\+V\+D\+Convolution@{mlpack\+::ann\+::\+S\+V\+D\+Convolution}!Convolution@{Convolution}}
\index{Convolution@{Convolution}!mlpack\+::ann\+::\+S\+V\+D\+Convolution@{mlpack\+::ann\+::\+S\+V\+D\+Convolution}}
\subsubsection{Convolution()\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily static void \textbf{ Convolution} (\begin{DoxyParamCaption}\item[{const arma\+::\+Mat$<$ eT $>$ \&}]{input,  }\item[{const arma\+::\+Mat$<$ eT $>$ \&}]{filter,  }\item[{arma\+::\+Mat$<$ eT $>$ \&}]{output }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Definition at line 56 of file svd\+\_\+convolution.\+hpp.



References Naive\+Convolution$<$ Border\+Mode $>$\+::\+Convolution(), and F\+F\+T\+Convolution$<$ Border\+Mode, pad\+Last\+Dim $>$\+::\+Convolution().



Referenced by S\+V\+D\+Convolution$<$ Border\+Mode $>$\+::\+Convolution().

\mbox{\label{classmlpack_1_1ann_1_1SVDConvolution_aa37ddacedb28e6dce994110781a184f6}} 
\index{mlpack\+::ann\+::\+S\+V\+D\+Convolution@{mlpack\+::ann\+::\+S\+V\+D\+Convolution}!Convolution@{Convolution}}
\index{Convolution@{Convolution}!mlpack\+::ann\+::\+S\+V\+D\+Convolution@{mlpack\+::ann\+::\+S\+V\+D\+Convolution}}
\subsubsection{Convolution()\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily static void \textbf{ Convolution} (\begin{DoxyParamCaption}\item[{const arma\+::\+Cube$<$ eT $>$ \&}]{input,  }\item[{const arma\+::\+Cube$<$ eT $>$ \&}]{filter,  }\item[{arma\+::\+Cube$<$ eT $>$ \&}]{output }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Definition at line 122 of file svd\+\_\+convolution.\+hpp.



References S\+V\+D\+Convolution$<$ Border\+Mode $>$\+::\+Convolution().

\mbox{\label{classmlpack_1_1ann_1_1SVDConvolution_ae95a7b7e102c7b7b92666bd6e7e04c22}} 
\index{mlpack\+::ann\+::\+S\+V\+D\+Convolution@{mlpack\+::ann\+::\+S\+V\+D\+Convolution}!Convolution@{Convolution}}
\index{Convolution@{Convolution}!mlpack\+::ann\+::\+S\+V\+D\+Convolution@{mlpack\+::ann\+::\+S\+V\+D\+Convolution}}
\subsubsection{Convolution()\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily static void \textbf{ Convolution} (\begin{DoxyParamCaption}\item[{const arma\+::\+Mat$<$ eT $>$ \&}]{input,  }\item[{const arma\+::\+Cube$<$ eT $>$ \&}]{filter,  }\item[{arma\+::\+Cube$<$ eT $>$ \&}]{output }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Definition at line 152 of file svd\+\_\+convolution.\+hpp.



References S\+V\+D\+Convolution$<$ Border\+Mode $>$\+::\+Convolution().

\mbox{\label{classmlpack_1_1ann_1_1SVDConvolution_ae14e839c68e6e5d32d8083c3d364ef64}} 
\index{mlpack\+::ann\+::\+S\+V\+D\+Convolution@{mlpack\+::ann\+::\+S\+V\+D\+Convolution}!Convolution@{Convolution}}
\index{Convolution@{Convolution}!mlpack\+::ann\+::\+S\+V\+D\+Convolution@{mlpack\+::ann\+::\+S\+V\+D\+Convolution}}
\subsubsection{Convolution()\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily static void \textbf{ Convolution} (\begin{DoxyParamCaption}\item[{const arma\+::\+Cube$<$ eT $>$ \&}]{input,  }\item[{const arma\+::\+Mat$<$ eT $>$ \&}]{filter,  }\item[{arma\+::\+Cube$<$ eT $>$ \&}]{output }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Definition at line 181 of file svd\+\_\+convolution.\+hpp.



References S\+V\+D\+Convolution$<$ Border\+Mode $>$\+::\+Convolution().



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/var/www/mlpack.\+ratml.\+org/mlpack.\+org/\+\_\+src/mlpack-\/3.\+3.\+1/src/mlpack/methods/ann/convolution\+\_\+rules/\textbf{ svd\+\_\+convolution.\+hpp}\end{DoxyCompactItemize}
