Medusa  1.1
Coordinate Free Mehless Method implementation
mm::Gaussian< scal_t > Class Template Reference

#include <Gaussian_fwd.hpp>

Detailed Description

template<class scal_t>
class mm::Gaussian< scal_t >

Gaussian Radial Basis Function.

Specifically, this class represents a function \( f(r^2) = \exp(-r^2/\sigma^2) \) as a function of squared distance with shape parameter \(\sigma \). This class satisfies the Radial Basis Function concept.

Usage example:

Gaussian<double> g(1.324);
double val = g(4.0); // value at 4.0 (this is the squared radius)
double der = g(0.0, 2); // second derivative at 0.0
std::cout << g << std::endl;

Definition at line 29 of file Gaussian_fwd.hpp.

Public Member Functions

 Gaussian (scalar_t shape=1.0)
 Creates a Gaussian RBF with shape parameter shape. The shape should be positive. More...
 
scalar_t shape () const
 Returns shape parameter. More...
 
void setShape (scalar_t shape)
 Sets shape parameter to a new value. More...
 
scalar_t operator() (scalar_t r2, int derivative) const
 Evaluate derivative of this RBF wrt. More...
 
template<int dimension>
scalar_t operator() (scalar_t r2, Lap< dimension > lap) const
 Evaluate Laplacian of this RBF wrt. More...
 
scalar_t operator() (scalar_t r2) const
 Evaluate this RBF given squared radial distance. More...
 

Public Types

typedef scal_t scalar_t
 Scalar type used for computations. More...
 

Friends

template<typename V >
std::ostream & operator<< (std::ostream &os, const Gaussian< V > &m)
 Output basic information about given Gaussian RBF. More...
 

Private Attributes

scalar_t shape_
 Shape parameter. More...
 

Constructor & Destructor Documentation

◆ Gaussian()

template<typename scal_t >
mm::Gaussian< scal_t >::Gaussian ( scalar_t  shape = 1.0)

Creates a Gaussian RBF with shape parameter shape. The shape should be positive.

Definition at line 17 of file Gaussian.hpp.

Member Function Documentation

◆ operator()() [1/3]

template<class scal_t >
scalar_t mm::Gaussian< scal_t >::operator() ( scalar_t  r2) const
inline

Evaluate this RBF given squared radial distance.

Definition at line 63 of file Gaussian_fwd.hpp.

◆ operator()() [2/3]

template<class scal_t >
scal_t mm::Gaussian< scal_t >::operator() ( scalar_t  r2,
int  derivative 
) const
inline

Evaluate derivative of this RBF wrt.

r2 at given point.

Parameters
r2Squared radial distance.
derivativeOrder of derivative to evaluate.
Exceptions
Assertionfails if derivative order is negative.

Definition at line 22 of file Gaussian.hpp.

◆ operator()() [3/3]

template<class scal_t >
template<int dimension>
scalar_t mm::Gaussian< scal_t >::operator() ( scalar_t  r2,
Lap< dimension >  lap 
) const
inline

Evaluate Laplacian of this RBF wrt.

r at given point.

Parameters
r2Squared radial distance.
lapLaplacian operator object.

◆ setShape()

template<class scal_t >
void mm::Gaussian< scal_t >::setShape ( scalar_t  shape)
inline

Sets shape parameter to a new value.

Definition at line 44 of file Gaussian_fwd.hpp.

◆ shape()

template<class scal_t >
scalar_t mm::Gaussian< scal_t >::shape ( ) const
inline

Returns shape parameter.

Definition at line 41 of file Gaussian_fwd.hpp.

Friends And Related Function Documentation

◆ operator<<

template<class scal_t >
template<typename V >
std::ostream& operator<< ( std::ostream &  os,
const Gaussian< V > &  m 
)
friend

Output basic information about given Gaussian RBF.

Member Data Documentation

◆ shape_

template<class scal_t >
scalar_t mm::Gaussian< scal_t >::shape_
private

Shape parameter.

Definition at line 34 of file Gaussian_fwd.hpp.


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