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

#include <Multiquadric_fwd.hpp>

Detailed Description

template<class scal_t>
class mm::Multiquadric< scal_t >

Multiquadric Radial Basis Function.

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

Usage example:

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

Definition at line 29 of file Multiquadric_fwd.hpp.

Public Member Functions

 Multiquadric (scalar_t shape=1.0)
 Creates a MultiQuadratic with shape parameter shape. 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 at a 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 Multiquadric< V > &m)
 Output basic information about given basis function. More...
 

Private Attributes

scalar_t shape_
 Shape parameter. More...
 

Constructor & Destructor Documentation

◆ Multiquadric()

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

Creates a MultiQuadratic with shape parameter shape.

Definition at line 17 of file Multiquadric.hpp.

Member Function Documentation

◆ operator()() [1/3]

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

Evaluate at a given squared radial distance.

Definition at line 42 of file Multiquadric.hpp.

◆ operator()() [2/3]

template<class scal_t >
scal_t mm::Multiquadric< 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 Multiquadric.hpp.

◆ operator()() [3/3]

template<class scal_t >
template<int dimension>
scalar_t mm::Multiquadric< 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::Multiquadric< scal_t >::setShape ( scalar_t  shape)
inline

Sets shape parameter to a new value.

Definition at line 44 of file Multiquadric_fwd.hpp.

◆ shape()

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

Returns shape parameter.

Definition at line 41 of file Multiquadric_fwd.hpp.

Friends And Related Function Documentation

◆ operator<<

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

Output basic information about given basis function.

Member Data Documentation

◆ shape_

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

Shape parameter.

Definition at line 34 of file Multiquadric_fwd.hpp.


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