MeLOn
Loading...
Searching...
No Matches
melon::kernel::Matern< T, V > Class Template Reference

Abstract parent class for matern kernels. More...

#include <matern.h>

Inheritance diagram for melon::kernel::Matern< T, V >:
melon::kernel::StationaryKernel< T, V > melon::kernel::Kernel< T, V > melon::kernel::Matern12< T, V > melon::kernel::Matern32< T, V > melon::kernel::Matern52< T, V > melon::kernel::MaternInf< T, V >

Public Member Functions

 Matern ()
 
 Matern (std::shared_ptr< const KernelData > data)
 
- Public Member Functions inherited from melon::kernel::StationaryKernel< T, V >
virtual RET evaluate_kernel (RET distance)=0
 Function for evalualting the kernel for a given distance.
 
virtual RET calculate_distance (std::vector< T > x1, std::vector< V > x2)=0
 Function for calculating the distance used in the kernel (type of distance used can vary among kernels)
 
- Public Member Functions inherited from melon::kernel::Kernel< T, V >
virtual ~Kernel ()=default
 Destructor.
 
virtual RET evaluate_kernel (std::vector< T > x1, std::vector< V > x2)=0
 Function for evalualting the kernel for the points x1 and x2.
 

Protected Member Functions

RET _quadratic_distance (std::vector< T > x1, std::vector< V > x2) override
 Calculates the quadratic distance between two points x1 and x2.
 
auto _euclidian_distance (RET quadraticDistance)
 Calculates the euclidian distance from the quadratic distance.
 

Protected Attributes

std::shared_ptr< const KernelData_data
 

Additional Inherited Members

- Public Types inherited from melon::kernel::Kernel< T, V >
using RET = decltype(std::declval<T>() + std::declval<V>())
 

Detailed Description

template<typename T, typename V>
class melon::kernel::Matern< T, V >

Abstract parent class for matern kernels.

Constructor & Destructor Documentation

◆ Matern() [1/2]

template<typename T , typename V >
melon::kernel::Matern< T, V >::Matern ( )

Implementation

◆ Matern() [2/2]

template<typename T , typename V >
melon::kernel::Matern< T, V >::Matern ( std::shared_ptr< const KernelData > data)

Member Function Documentation

◆ _euclidian_distance()

template<typename T , typename V >
auto melon::kernel::Matern< T, V >::_euclidian_distance ( RET quadraticDistance)
inlineprotected

Calculates the euclidian distance from the quadratic distance.

Parameters
[in]quadraticDistanceis the quadraticDistance between two points which iis transformed into the euclidian distance

◆ _quadratic_distance()

template<typename T , typename V >
RET melon::kernel::Matern< T, V >::_quadratic_distance ( std::vector< T > x1,
std::vector< V > x2 )
inlineoverrideprotectedvirtual

Calculates the quadratic distance between two points x1 and x2.

Parameters
[in]x1is a vector containing the first point
[in]x2is a vector containing the second point

Reimplemented from melon::kernel::StationaryKernel< T, V >.

Member Data Documentation

◆ _data

template<typename T , typename V >
std::shared_ptr<const KernelData> melon::kernel::Matern< T, V >::_data
protected

KernelData object containing the kernel parameters


The documentation for this class was generated from the following file: