\section{Epanechnikov\+Kernel Class Reference}
\label{classmlpack_1_1kernel_1_1EpanechnikovKernel}\index{Epanechnikov\+Kernel@{Epanechnikov\+Kernel}}


The Epanechnikov kernel, defined as.  


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\textbf{ Epanechnikov\+Kernel} (const double bandwidth=1.\+0)
\begin{DoxyCompactList}\small\item\em Instantiate the Epanechnikov kernel with the given bandwidth (default 1.\+0). \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Vec\+TypeA , typename Vec\+TypeB $>$ }\\double \textbf{ Convolution\+Integral} (const Vec\+TypeA \&a, const Vec\+TypeB \&b)
\begin{DoxyCompactList}\small\item\em Obtains the convolution integral [integral of K($\vert$$\vert$x-\/a$\vert$$\vert$) K($\vert$$\vert$b-\/x$\vert$$\vert$) dx] for the two vectors. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Vec\+TypeA , typename Vec\+TypeB $>$ }\\double \textbf{ Evaluate} (const Vec\+TypeA \&a, const Vec\+TypeB \&b) const
\begin{DoxyCompactList}\small\item\em Evaluate the Epanechnikov kernel on the given two inputs. \end{DoxyCompactList}\item 
double \textbf{ Evaluate} (const double distance) const
\begin{DoxyCompactList}\small\item\em Evaluate the Epanechnikov kernel given that the distance between the two input points is known. \end{DoxyCompactList}\item 
double \textbf{ Gradient} (const double distance) const
\begin{DoxyCompactList}\small\item\em Evaluate the Gradient of Epanechnikov kernel given that the distance between the two input points is known. \end{DoxyCompactList}\item 
double \textbf{ Gradient\+For\+Squared\+Distance} (const double distance\+Squared) const
\begin{DoxyCompactList}\small\item\em Evaluate the Gradient of Epanechnikov kernel given that the squared distance between the two input points is known. \end{DoxyCompactList}\item 
double \textbf{ Normalizer} (const size\+\_\+t dimension)
\begin{DoxyCompactList}\small\item\em Compute the normalizer of this Epanechnikov kernel for the given dimension. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Archive $>$ }\\void \textbf{ serialize} (Archive \&ar, const unsigned int version)
\begin{DoxyCompactList}\small\item\em Serialize the kernel. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
The Epanechnikov kernel, defined as. 

\[ K(x, y) = \max \{0, 1 - || x - y ||^2_2 / b^2 \} \]

where $ b $ is the bandwidth the of the kernel (defaults to 1.\+0). 

Definition at line 30 of file epanechnikov\+\_\+kernel.\+hpp.



\subsection{Constructor \& Destructor Documentation}
\mbox{\label{classmlpack_1_1kernel_1_1EpanechnikovKernel_ad3880022e464ae367ed9b7342f0cdf37}} 
\index{mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}!Epanechnikov\+Kernel@{Epanechnikov\+Kernel}}
\index{Epanechnikov\+Kernel@{Epanechnikov\+Kernel}!mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}}
\subsubsection{Epanechnikov\+Kernel()}
{\footnotesize\ttfamily \textbf{ Epanechnikov\+Kernel} (\begin{DoxyParamCaption}\item[{const double}]{bandwidth = {\ttfamily 1.0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Instantiate the Epanechnikov kernel with the given bandwidth (default 1.\+0). 


\begin{DoxyParams}{Parameters}
{\em bandwidth} & Bandwidth of the kernel. \\
\hline
\end{DoxyParams}


Definition at line 38 of file epanechnikov\+\_\+kernel.\+hpp.



References Epanechnikov\+Kernel\+::\+Convolution\+Integral(), Epanechnikov\+Kernel\+::\+Evaluate(), Epanechnikov\+Kernel\+::\+Gradient(), Epanechnikov\+Kernel\+::\+Gradient\+For\+Squared\+Distance(), Epanechnikov\+Kernel\+::\+Normalizer(), and Epanechnikov\+Kernel\+::serialize().



\subsection{Member Function Documentation}
\mbox{\label{classmlpack_1_1kernel_1_1EpanechnikovKernel_af3077f924263d1932950f4f7176c93eb}} 
\index{mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}!Convolution\+Integral@{Convolution\+Integral}}
\index{Convolution\+Integral@{Convolution\+Integral}!mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}}
\subsubsection{Convolution\+Integral()}
{\footnotesize\ttfamily double Convolution\+Integral (\begin{DoxyParamCaption}\item[{const Vec\+TypeA \&}]{a,  }\item[{const Vec\+TypeB \&}]{b }\end{DoxyParamCaption})}



Obtains the convolution integral [integral of K($\vert$$\vert$x-\/a$\vert$$\vert$) K($\vert$$\vert$b-\/x$\vert$$\vert$) dx] for the two vectors. 


\begin{DoxyTemplParams}{Template Parameters}
{\em Vec\+Type} & Type of vector (arma\+::vec, arma\+::spvec should be expected). \\
\hline
\end{DoxyTemplParams}

\begin{DoxyParams}{Parameters}
{\em a} & First vector. \\
\hline
{\em b} & Second vector. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the convolution integral value. 
\end{DoxyReturn}


Referenced by Epanechnikov\+Kernel\+::\+Epanechnikov\+Kernel().

\mbox{\label{classmlpack_1_1kernel_1_1EpanechnikovKernel_a84c3aeba25ea7703bd2d4f85a54301da}} 
\index{mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}!Evaluate@{Evaluate}}
\index{Evaluate@{Evaluate}!mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}}
\subsubsection{Evaluate()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily double Evaluate (\begin{DoxyParamCaption}\item[{const Vec\+TypeA \&}]{a,  }\item[{const Vec\+TypeB \&}]{b }\end{DoxyParamCaption}) const}



Evaluate the Epanechnikov kernel on the given two inputs. 


\begin{DoxyTemplParams}{Template Parameters}
{\em Vec\+TypeA} & Type of first vector. \\
\hline
{\em Vec\+TypeB} & Type of second vector. \\
\hline
\end{DoxyTemplParams}

\begin{DoxyParams}{Parameters}
{\em a} & One input vector. \\
\hline
{\em b} & The other input vector. \\
\hline
\end{DoxyParams}


Referenced by Epanechnikov\+Kernel\+::\+Epanechnikov\+Kernel().

\mbox{\label{classmlpack_1_1kernel_1_1EpanechnikovKernel_a5602dee5d3ad98a183b9a11d9e0ed225}} 
\index{mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}!Evaluate@{Evaluate}}
\index{Evaluate@{Evaluate}!mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}}
\subsubsection{Evaluate()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily double Evaluate (\begin{DoxyParamCaption}\item[{const double}]{distance }\end{DoxyParamCaption}) const}



Evaluate the Epanechnikov kernel given that the distance between the two input points is known. 

\mbox{\label{classmlpack_1_1kernel_1_1EpanechnikovKernel_ac83f017e98c3f23c603fb26b50b82cfd}} 
\index{mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}!Gradient@{Gradient}}
\index{Gradient@{Gradient}!mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}}
\subsubsection{Gradient()}
{\footnotesize\ttfamily double Gradient (\begin{DoxyParamCaption}\item[{const double}]{distance }\end{DoxyParamCaption}) const}



Evaluate the Gradient of Epanechnikov kernel given that the distance between the two input points is known. 



Referenced by Epanechnikov\+Kernel\+::\+Epanechnikov\+Kernel().

\mbox{\label{classmlpack_1_1kernel_1_1EpanechnikovKernel_aa993982e3ab29e7c8a299012dbe42cc5}} 
\index{mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}!Gradient\+For\+Squared\+Distance@{Gradient\+For\+Squared\+Distance}}
\index{Gradient\+For\+Squared\+Distance@{Gradient\+For\+Squared\+Distance}!mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}}
\subsubsection{Gradient\+For\+Squared\+Distance()}
{\footnotesize\ttfamily double Gradient\+For\+Squared\+Distance (\begin{DoxyParamCaption}\item[{const double}]{distance\+Squared }\end{DoxyParamCaption}) const}



Evaluate the Gradient of Epanechnikov kernel given that the squared distance between the two input points is known. 



Referenced by Epanechnikov\+Kernel\+::\+Epanechnikov\+Kernel().

\mbox{\label{classmlpack_1_1kernel_1_1EpanechnikovKernel_aa500736f2a5dac08fa9027543c2b05cb}} 
\index{mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}!Normalizer@{Normalizer}}
\index{Normalizer@{Normalizer}!mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}}
\subsubsection{Normalizer()}
{\footnotesize\ttfamily double Normalizer (\begin{DoxyParamCaption}\item[{const size\+\_\+t}]{dimension }\end{DoxyParamCaption})}



Compute the normalizer of this Epanechnikov kernel for the given dimension. 


\begin{DoxyParams}{Parameters}
{\em dimension} & Dimension to calculate the normalizer for. \\
\hline
\end{DoxyParams}


Referenced by Epanechnikov\+Kernel\+::\+Epanechnikov\+Kernel().

\mbox{\label{classmlpack_1_1kernel_1_1EpanechnikovKernel_a68e832cb064e3b7ca978d8e5911cf700}} 
\index{mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}!serialize@{serialize}}
\index{serialize@{serialize}!mlpack\+::kernel\+::\+Epanechnikov\+Kernel@{mlpack\+::kernel\+::\+Epanechnikov\+Kernel}}
\subsubsection{serialize()}
{\footnotesize\ttfamily void serialize (\begin{DoxyParamCaption}\item[{Archive \&}]{ar,  }\item[{const unsigned int}]{version }\end{DoxyParamCaption})}



Serialize the kernel. 



Referenced by Epanechnikov\+Kernel\+::\+Epanechnikov\+Kernel().



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.\+0/src/mlpack/core/kernels/\textbf{ epanechnikov\+\_\+kernel.\+hpp}\end{DoxyCompactItemize}
