---
name: "mlpack_kernel_EpanechnikovKernel"
section: "3"
platform: "linux"
package: "mlpack-doc"
version: "1.0.10-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/mlpack_kernel_EpanechnikovKernel"
---

# mlpack\_kernel\_EpanechnikovKernel(3)

The Epanechnikov kernel, defined as.

## NAME

mlpack::kernel::EpanechnikovKernel -

The Epanechnikov kernel, defined as.

## SYNOPSIS

### Public Member Functions

**EpanechnikovKernel** (const double **bandwidth**=1.0)\
 *Instantiate the Epanechnikov kernel with the given bandwidth (default 1.0).*  template\<typename VecType \> double **ConvolutionIntegral** (const VecType &a, const VecType &b)\
 *Obtains the convolution integral \[integral of K(\|\|x-a\|\|) K(\|\|b-x\|\|) dx\] for the two vectors.*  template\<typename Vec1Type , typename Vec2Type \> double **Evaluate** (const Vec1Type &a, const Vec2Type &b) const \
 *Evaluate the Epanechnikov kernel on the given two inputs.*  double **Evaluate** (const double distance) const \
 *Evaluate the Epanechnikov kernel given that the distance between the two input points is known.*  double **Normalizer** (const size\_t dimension)\
 *Compute the normalizer of this Epanechnikov kernel for the given dimension.*  std::string **ToString** () const \

### Private Attributes

double **bandwidth**\
 *Bandwidth of the kernel.*  double **inverseBandwidthSquared**\
 *Cached value of the inverse bandwidth squared (to speed up computation).*

## Detailed Description

The Epanechnikov kernel, defined as.

where $ b $ is the bandwidth the of the kernel (defaults to 1.0).

Definition at line 39 of file epanechnikov\_kernel.hpp.

## Constructor & Destructor Documentation

### mlpack::kernel::EpanechnikovKernel::EpanechnikovKernel (const doublebandwidth = `1.0`)` [inline]`

Instantiate the Epanechnikov kernel with the given bandwidth (default 1.0).

**Parameters:**

*bandwidth* Bandwidth of the kernel.

Definition at line 47 of file epanechnikov\_kernel.hpp.

## Member Function Documentation

### template\<typename VecType \> double mlpack::kernel::EpanechnikovKernel::ConvolutionIntegral (const VecType &a, const VecType &b)

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

**Template Parameters:**

*VecType* Type of vector (arma::vec, arma::spvec should be expected).

**Parameters:**

*a* First vector. \
 *b* Second vector.

**Returns:**

the convolution integral value.

### template\<typename Vec1Type , typename Vec2Type \> double mlpack::kernel::EpanechnikovKernel::Evaluate (const Vec1Type &a, const Vec2Type &b) const

Evaluate the Epanechnikov kernel on the given two inputs.

**Parameters:**

*a* One input vector. \
 *b* The other input vector.

### double mlpack::kernel::EpanechnikovKernel::Evaluate (const doubledistance) const

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

### double mlpack::kernel::EpanechnikovKernel::Normalizer (const size\_tdimension)

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

**Parameters:**

*dimension* Dimension to calculate the normalizer for.

### std::string mlpack::kernel::EpanechnikovKernel::ToString () const

## Member Data Documentation

### double mlpack::kernel::EpanechnikovKernel::bandwidth` [private]`

Bandwidth of the kernel.

Definition at line 92 of file epanechnikov\_kernel.hpp.

### double mlpack::kernel::EpanechnikovKernel::inverseBandwidthSquared` [private]`

Cached value of the inverse bandwidth squared (to speed up computation).

Definition at line 94 of file epanechnikov\_kernel.hpp.

## Author

Generated automatically by Doxygen for MLPACK from the source code.
