The Epanechnikov kernel, defined as. More...
Public Member Functions | |
EpanechnikovKernel (const double bandwidth=1.0) | |
Instantiate the Epanechnikov kernel with the given bandwidth (default 1.0). More... | |
template < typename VecTypeA , typename VecTypeB > | |
double | ConvolutionIntegral (const VecTypeA &a, const VecTypeB &b) |
Obtains the convolution integral [integral of K(||x-a||) K(||b-x||) dx] for the two vectors. More... | |
template < typename VecTypeA , typename VecTypeB > | |
double | Evaluate (const VecTypeA &a, const VecTypeB &b) const |
Evaluate the Epanechnikov kernel on the given two inputs. More... | |
double | Evaluate (const double distance) const |
Evaluate the Epanechnikov kernel given that the distance between the two input points is known. More... | |
double | Gradient (const double distance) const |
Evaluate the Gradient of Epanechnikov kernel given that the distance between the two input points is known. More... | |
double | GradientForSquaredDistance (const double distanceSquared) const |
Evaluate the Gradient of Epanechnikov kernel given that the squared distance between the two input points is known. More... | |
double | Normalizer (const size_t dimension) |
Compute the normalizer of this Epanechnikov kernel for the given dimension. More... | |
template < typename Archive > | |
void | serialize (Archive &ar, const uint32_t version) |
Serialize the kernel. More... | |
The Epanechnikov kernel, defined as.
where is the bandwidth the of the kernel (defaults to 1.0).
Definition at line 30 of file epanechnikov_kernel.hpp.
|
inline |
Instantiate the Epanechnikov kernel with the given bandwidth (default 1.0).
bandwidth | Bandwidth of the kernel. |
Definition at line 38 of file epanechnikov_kernel.hpp.
References EpanechnikovKernel::ConvolutionIntegral(), EpanechnikovKernel::Evaluate(), EpanechnikovKernel::Gradient(), EpanechnikovKernel::GradientForSquaredDistance(), EpanechnikovKernel::Normalizer(), and EpanechnikovKernel::serialize().
double ConvolutionIntegral | ( | const VecTypeA & | a, |
const VecTypeB & | b | ||
) |
Obtains the convolution integral [integral of K(||x-a||) K(||b-x||) dx] for the two vectors.
VecType | Type of vector (arma::vec, arma::spvec should be expected). |
a | First vector. |
b | Second vector. |
Referenced by EpanechnikovKernel::EpanechnikovKernel().
double Evaluate | ( | const VecTypeA & | a, |
const VecTypeB & | b | ||
) | const |
Evaluate the Epanechnikov kernel on the given two inputs.
VecTypeA | Type of first vector. |
VecTypeB | Type of second vector. |
a | One input vector. |
b | The other input vector. |
Referenced by EpanechnikovKernel::EpanechnikovKernel().
double Evaluate | ( | const double | distance | ) | const |
Evaluate the Epanechnikov kernel given that the distance between the two input points is known.
double Gradient | ( | const double | distance | ) | const |
Evaluate the Gradient of Epanechnikov kernel given that the distance between the two input points is known.
Referenced by EpanechnikovKernel::EpanechnikovKernel().
double GradientForSquaredDistance | ( | const double | distanceSquared | ) | const |
Evaluate the Gradient of Epanechnikov kernel given that the squared distance between the two input points is known.
Referenced by EpanechnikovKernel::EpanechnikovKernel().
double Normalizer | ( | const size_t | dimension | ) |
Compute the normalizer of this Epanechnikov kernel for the given dimension.
dimension | Dimension to calculate the normalizer for. |
Referenced by EpanechnikovKernel::EpanechnikovKernel().
void serialize | ( | Archive & | ar, |
const uint32_t | version | ||
) |
Serialize the kernel.
Referenced by EpanechnikovKernel::EpanechnikovKernel().