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

interface for the gausian mixture to dirac approximation More...

#include <dirac_to_dirac_approx_i.h>

Inheritance diagram for dirac_to_dirac_approx_i< T >:
dirac_to_dirac_approx_short< T > dirac_to_dirac_approx_short_thread< T >

Public Types

using GSLVectorType = typename GSLTemplateTypeAlias< T >::VectorType
 
using GSLVectorViewType = typename GSLTemplateTypeAlias< T >::VectorViewType
 
using GSLMatrixType = typename GSLTemplateTypeAlias< T >::MatrixType
 
using GSLMatrixViewType = typename GSLTemplateTypeAlias< T >::MatrixViewType
 

Public Member Functions

virtual bool approximate (const T *y, size_t M, size_t L, size_t N, size_t bMax, T *x, const T *wX, const T *wY, 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, const T *wX, const T *wY)=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, const T *wX, const T *wY)=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, const GSLVectorType *wX, const GSLVectorType *wY, 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, const GSLVectorType *wX, const GSLVectorType *wY)=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, const GSLVectorType *wX, const GSLVectorType *wY)=0
 calculate modified van mises distance based on x and y
 
virtual bool approximate (GSLMatrixType *y, size_t L, size_t bMax, GSLMatrixType *x, const GSLVectorType *wX, const GSLVectorType *wY, 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, const GSLVectorType *wX, const GSLVectorType *wY)=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, const GSLVectorType *wX, const GSLVectorType *wY)=0
 calculate modified van mises distance based on x and y
 

Detailed Description

template<typename T>
class dirac_to_dirac_approx_i< T >

interface for the gausian mixture to dirac approximation

Template Parameters
Ttype of the vector (float, double)

Member Function Documentation

◆ approximate() [1/3]

template<typename T >
virtual bool dirac_to_dirac_approx_i< T >::approximate ( const GSLVectorType *  y,
size_t  L,
size_t  N,
size_t  bMax,
GSLVectorType *  x,
const GSLVectorType *  wX,
const GSLVectorType *  wY,
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
wXweights for the x data points
wYweights for the y data points
resultminimizer result
optionsoptions for minimizer
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short< T >, and dirac_to_dirac_approx_short_thread< T >.

◆ approximate() [2/3]

template<typename T >
virtual bool dirac_to_dirac_approx_i< T >::approximate ( const T y,
size_t  M,
size_t  L,
size_t  N,
size_t  bMax,
T x,
const T wX,
const T wY,
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
wXweights for the x data points
wYweights for the y data points
resultminimizer result
optionsoptions for minimizer
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short< T >, and dirac_to_dirac_approx_short_thread< T >.

◆ approximate() [3/3]

template<typename T >
virtual bool dirac_to_dirac_approx_i< T >::approximate ( GSLMatrixType *  y,
size_t  L,
size_t  bMax,
GSLMatrixType *  x,
const GSLVectorType *  wX,
const GSLVectorType *  wY,
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
wXweights for the x data points
wYweights for the y data points
resultminimizer result
optionsoptions for minimizer
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short< T >, and dirac_to_dirac_approx_short_thread< T >.

◆ modified_van_mises_distance_sq() [1/3]

template<typename T >
virtual void dirac_to_dirac_approx_i< T >::modified_van_mises_distance_sq ( T distance,
const GSLVectorType *  y,
size_t  L,
size_t  N,
size_t  bMax,
GSLVectorType *  x,
const GSLVectorType *  wX,
const GSLVectorType *  wY 
)
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
wXweights for the x data points
wYweights for the y data points
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short< T >, and dirac_to_dirac_approx_short_thread< T >.

◆ modified_van_mises_distance_sq() [2/3]

template<typename T >
virtual void dirac_to_dirac_approx_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,
const T wX,
const T wY 
)
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
wXweights for the x data points
wYweights for the y data points
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short< T >, and dirac_to_dirac_approx_short_thread< T >.

◆ modified_van_mises_distance_sq() [3/3]

template<typename T >
virtual void dirac_to_dirac_approx_i< T >::modified_van_mises_distance_sq ( T distance,
GSLMatrixType *  y,
size_t  L,
size_t  bMax,
GSLMatrixType *  x,
const GSLVectorType *  wX,
const GSLVectorType *  wY 
)
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
wXweights for the x data points
wYweights for the y data points
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short< T >, and dirac_to_dirac_approx_short_thread< T >.

◆ modified_van_mises_distance_sq_derivative() [1/3]

template<typename T >
virtual void dirac_to_dirac_approx_i< T >::modified_van_mises_distance_sq_derivative ( GSLMatrixType *  gradient,
const GSLVectorType *  y,
size_t  L,
size_t  N,
size_t  bMax,
GSLVectorType *  x,
const GSLVectorType *  wX,
const GSLVectorType *  wY 
)
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
wXweights for the x data points
wYweights for the y data points
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short< T >, and dirac_to_dirac_approx_short_thread< T >.

◆ modified_van_mises_distance_sq_derivative() [2/3]

template<typename T >
virtual void dirac_to_dirac_approx_i< T >::modified_van_mises_distance_sq_derivative ( GSLMatrixType *  gradient,
GSLMatrixType *  y,
size_t  L,
size_t  bMax,
GSLMatrixType *  x,
const GSLVectorType *  wX,
const GSLVectorType *  wY 
)
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
wXweights for the x data points
wYweights for the y data points
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short< T >, and dirac_to_dirac_approx_short_thread< T >.

◆ modified_van_mises_distance_sq_derivative() [3/3]

template<typename T >
virtual void dirac_to_dirac_approx_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,
const T wX,
const T wY 
)
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
wXweights for the x data points
wYweights for the y data points
Returns
true, on success, false otherwise

Implemented in dirac_to_dirac_approx_short< T >, and dirac_to_dirac_approx_short_thread< T >.


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