Deterministic Gaussian Sampling
Loading...
Searching...
No Matches
dirac_to_dirac_approx_function_i< T > Class Template Referenceabstract

interface for the gausian mixture to dirac approximation with a custom weight function More...

#include <dirac_to_dirac_approx_function_i.h>

Inheritance diagram for dirac_to_dirac_approx_function_i< T >:
dirac_to_dirac_approx_short_function< T >

Public Types

using GSLVectorType = typename GSLTemplateTypeAlias< T >::VectorType
 
using GSLVectorViewType = typename GSLTemplateTypeAlias< T >::VectorViewType
 
using GSLMatrixType = typename GSLTemplateTypeAlias< T >::MatrixType
 
using wXf = void(*)(const double *x, double *res, size_t L, size_t N)
 
using wXd = wXf
 

Public Member Functions

virtual bool approximate (const T *y, size_t M, size_t L, size_t N, size_t bMax, T *x, wXf wXcallback, wXd wXDcallback, GslminimizerResult *result, const ApproximateOptions &options)=0
 reduce the data points using raw pointers
 
virtual void modified_van_mises_distance_sq (T *distance, const T *y, size_t M, size_t L, size_t N, size_t bMax, T *x, wXf wXcallback, wXd wXDcallback)=0
 calculate modified van mises distance based on x and y
 
virtual void modified_van_mises_distance_sq_derivative (T *gradient, const T *y, size_t M, size_t L, size_t N, size_t bMax, T *x, wXf wXcallback, wXd wXDcallback)=0
 calculate modified van mises distance based on x and y
 
virtual bool approximate (const GSLVectorType *y, size_t L, size_t N, size_t bMax, GSLVectorType *x, wXf wXcallback, wXd wXDcallback, GslminimizerResult *result, const ApproximateOptions &options)=0
 reduce the data points using gsl vectors
 
virtual void modified_van_mises_distance_sq (T *distance, const GSLVectorType *y, size_t L, size_t N, size_t bMax, GSLVectorType *x, wXf wXcallback, wXd wXDcallback)=0
 calculate modified van mises distance based on x and y
 
virtual void modified_van_mises_distance_sq_derivative (GSLMatrixType *gradient, const GSLVectorType *y, size_t L, size_t N, size_t bMax, GSLVectorType *x, wXf wXcallback, wXd wXDcallback)=0
 calculate modified van mises distance based on x and y
 
virtual bool approximate (GSLMatrixType *y, size_t L, size_t bMax, GSLMatrixType *x, wXf wXcallback, wXd wXDcallback, GslminimizerResult *result, const ApproximateOptions &options)=0
 reduce the data points using gsl matricies where possible
 
virtual void modified_van_mises_distance_sq (T *distance, GSLMatrixType *y, size_t L, size_t bMax, GSLMatrixType *x, wXf wXcallback, wXd wXDcallback)=0
 calculate modified van mises distance based on x and y
 
virtual void modified_van_mises_distance_sq_derivative (GSLMatrixType *gradient, GSLMatrixType *y, size_t L, size_t bMax, GSLMatrixType *x, wXf wXcallback, wXd wXDcallback)=0
 calculate modified van mises distance based on x and y
 

Detailed Description

template<typename T>
class dirac_to_dirac_approx_function_i< T >

interface for the gausian mixture to dirac approximation with a custom weight function

Template Parameters
Ttype of the vector (float, double)

Member Function Documentation

◆ approximate() [1/3]

template<typename T >
virtual bool dirac_to_dirac_approx_function_i< T >::approximate ( const GSLVectorType *  y,
size_t  L,
size_t  N,
size_t  bMax,
GSLVectorType *  x,
wXf  wXcallback,
wXd  wXDcallback,
GslminimizerResult result,
const ApproximateOptions options 
)
pure virtual

reduce the data points using gsl vectors

Parameters
yinput data points
Lnumber of data points for reduction
Ndimension of the data
bMaxbMax
xfirst guess for the reduction and return value
wXcallbackcallback for the weight function
wXDcallbackcallback for the gradient of the weight function
resultminimizer result
optionsoptions for minimizer
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short_function< T >.

◆ approximate() [2/3]

template<typename T >
virtual bool dirac_to_dirac_approx_function_i< T >::approximate ( const T y,
size_t  M,
size_t  L,
size_t  N,
size_t  bMax,
T x,
wXf  wXcallback,
wXd  wXDcallback,
GslminimizerResult result,
const ApproximateOptions options 
)
pure virtual

reduce the data points using raw pointers

Parameters
yinput data points
Mnumber of input data points
Lnumber of data points for reduction
Ndimension of the data
bMaxbMax
xfirst guess for the reduction and return value
wXcallbackcallback for the weight function
wXDcallbackcallback for the gradient of the weight function
resultminimizer result
optionsoptions for minimizer
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short_function< T >.

◆ approximate() [3/3]

template<typename T >
virtual bool dirac_to_dirac_approx_function_i< T >::approximate ( GSLMatrixType *  y,
size_t  L,
size_t  bMax,
GSLMatrixType *  x,
wXf  wXcallback,
wXd  wXDcallback,
GslminimizerResult result,
const ApproximateOptions options 
)
pure virtual

reduce the data points using gsl matricies where possible

Parameters
yinput data points
Lnumber of data points for reduction
bMaxbMax
xfirst guess for the reduction and return value
wXcallbackcallback for the weight function
wXDcallbackcallback for the gradient of the weight function
resultminimizer result
optionsoptions for minimizer
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short_function< T >.

◆ modified_van_mises_distance_sq() [1/3]

template<typename T >
virtual void dirac_to_dirac_approx_function_i< T >::modified_van_mises_distance_sq ( T distance,
const GSLVectorType *  y,
size_t  L,
size_t  N,
size_t  bMax,
GSLVectorType *  x,
wXf  wXcallback,
wXd  wXDcallback 
)
pure virtual

calculate modified van mises distance based on x and y

Parameters
distancepointer to distance value to be calculated
yinput data points
Lnumber of elements in x
Ndimension of the data
bMaxbMax
xinput data points
wXcallbackcallback for the weight function
wXDcallbackcallback for the gradient of the weight function
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short_function< T >.

◆ modified_van_mises_distance_sq() [2/3]

template<typename T >
virtual void dirac_to_dirac_approx_function_i< T >::modified_van_mises_distance_sq ( T distance,
const T y,
size_t  M,
size_t  L,
size_t  N,
size_t  bMax,
T x,
wXf  wXcallback,
wXd  wXDcallback 
)
pure virtual

calculate modified van mises distance based on x and y

Parameters
distancepointer to distance value to be calculated
yinput data points
Mnumber of elements in y
Lnumber of elements in x
Ndimension of the data
bMaxbMax
xinput data points
wXcallbackcallback for the weight function
wXDcallbackcallback for the gradient of the weight function
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short_function< T >.

◆ modified_van_mises_distance_sq() [3/3]

template<typename T >
virtual void dirac_to_dirac_approx_function_i< T >::modified_van_mises_distance_sq ( T distance,
GSLMatrixType *  y,
size_t  L,
size_t  bMax,
GSLMatrixType *  x,
wXf  wXcallback,
wXd  wXDcallback 
)
pure virtual

calculate modified van mises distance based on x and y

Parameters
distancepointer to distance value to be calculated
yinput data points
Lnumber of elements in x
bMaxbMax
xinput data points
wXcallbackcallback for the weight function
wXDcallbackcallback for the gradient of the weight function
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short_function< T >.

◆ modified_van_mises_distance_sq_derivative() [1/3]

template<typename T >
virtual void dirac_to_dirac_approx_function_i< T >::modified_van_mises_distance_sq_derivative ( GSLMatrixType *  gradient,
const GSLVectorType *  y,
size_t  L,
size_t  N,
size_t  bMax,
GSLVectorType *  x,
wXf  wXcallback,
wXd  wXDcallback 
)
pure virtual

calculate modified van mises distance based on x and y

Parameters
gradientpointer to gradient to be calculated
yinput data points
Lnumber of elements in x
Ndimension of the data
bMaxbMax
xinput data points
wXcallbackcallback for the weight function
wXDcallbackcallback for the gradient of the weight function
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short_function< T >.

◆ modified_van_mises_distance_sq_derivative() [2/3]

template<typename T >
virtual void dirac_to_dirac_approx_function_i< T >::modified_van_mises_distance_sq_derivative ( GSLMatrixType *  gradient,
GSLMatrixType *  y,
size_t  L,
size_t  bMax,
GSLMatrixType *  x,
wXf  wXcallback,
wXd  wXDcallback 
)
pure virtual

calculate modified van mises distance based on x and y

Parameters
gradientpointer to gradient to be calculated
yinput data points
Lnumber of elements in x
bMaxbMax
xinput data points
wXcallbackcallback for the weight function
wXDcallbackcallback for the gradient of the weight function
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short_function< T >.

◆ modified_van_mises_distance_sq_derivative() [3/3]

template<typename T >
virtual void dirac_to_dirac_approx_function_i< T >::modified_van_mises_distance_sq_derivative ( T gradient,
const T y,
size_t  M,
size_t  L,
size_t  N,
size_t  bMax,
T x,
wXf  wXcallback,
wXd  wXDcallback 
)
pure virtual

calculate modified van mises distance based on x and y

Parameters
gradientpointer to gradient to be calculated
yinput data points
Mnumber of elements in y
Lnumber of elements in x
Ndimension of the data
bMaxbMax
xinput data points
wXcallbackcallback for the weight function
wXDcallbackcallback for the gradient of the weight function
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short_function< T >.


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