Deterministic Gaussian Sampling
Loading...
Searching...
No Matches
gm_to_dirac_short_standard_normal_deviation.h
1#ifndef GM_TO_DIRAC_SHORT_STANDARD_NORMAL_DEVIATION_H
2#define GM_TO_DIRAC_SHORT_STANDARD_NORMAL_DEVIATION_H
3
4#include "gm_to_dirac_approx_standard_normal_distribution_i.h"
5#include "gm_to_dirac_optimization_params.h"
6
7template <typename T>
10 public:
11 using GSLVectorType =
13 T>::GSLVectorType;
14 using GSLMatrixType =
16 T>::GSLMatrixType;
17
18 // clang-format off
19 bool approximate(size_t L,
20 size_t N,
21 size_t bMax,
22 T* x,
23 const T* wX,
24 GslminimizerResult* result = nullptr,
26 // clang-format on
27
28 // clang-format off
30 size_t L,
31 size_t N,
32 size_t bMax,
33 T* x,
34 const T* wX) override;
35 // clang-format on
36
37 // clang-format off
39 size_t L,
40 size_t N,
41 size_t bMax,
42 T* x,
43 const T* wX) override;
44 // clang-format on
45
46 // clang-format off
47 bool approximate(size_t L,
48 size_t N,
49 size_t bMax,
50 GSLVectorType* x,
51 const GSLVectorType* wX = nullptr,
52 GslminimizerResult* result = nullptr,
54 // clang-format on
55
56 // clang-format off
58 size_t L,
59 size_t N,
60 size_t bMax,
61 GSLVectorType* x,
62 const GSLVectorType* wX) override;
63 // clang-format on
64
65 // clang-format off
67 size_t L,
68 size_t N,
69 size_t bMax,
70 GSLVectorType* x,
71 const GSLVectorType* wX) override;
72 // clang-format on
73
74 // clang-format off
75 bool approximate(size_t L,
76 size_t N,
77 size_t bMax,
78 GSLMatrixType* x,
79 const GSLVectorType* wX = nullptr,
80 GslminimizerResult* result = nullptr,
82 // clang-format on
83
84 // clang-format off
86 size_t L,
87 size_t N,
88 size_t bMax,
89 GSLMatrixType* x,
90 const GSLVectorType* wX) override;
91 // clang-format on
92
93 // clang-format off
95 size_t L,
96 size_t N,
97 size_t bMax,
98 GSLMatrixType* x,
99 const GSLVectorType* wX) override;
100 // clang-format on
101};
102
105
106#endif // GM_TO_DIRAC_SHORT_STANDARD_NORMAL_DEVIATION_H
Definition dirac_to_dirac_approx_short.h:9
interface for the gausian mixture to dirac approximation
Definition gm_to_dirac_approx_standard_normal_distribution_i.h:20
Definition gm_to_dirac_short_standard_normal_deviation.h:9
void modified_van_mises_distance_sq_derivative(GSLMatrixType *gradient, size_t L, size_t N, size_t bMax, GSLMatrixType *x, const GSLVectorType *wX) override
calculate modified van mises distance based on standard normal deviation and x
void modified_van_mises_distance_sq(T *distance, size_t L, size_t N, size_t bMax, GSLMatrixType *x, const GSLVectorType *wX) override
calculate modified van mises distance based on standard normal deviation and x
void modified_van_mises_distance_sq_derivative(T *gradient, size_t L, size_t N, size_t bMax, T *x, const T *wX) override
calculate modified van mises distance based on standard normal deviation and x
Definition gm_to_dirac_short_standard_normal_deviation.cpp:37
void modified_van_mises_distance_sq(T *distance, size_t L, size_t N, size_t bMax, T *x, const T *wX) override
calculate modified van mises distance based on standard normal deviation and x
Definition gm_to_dirac_short_standard_normal_deviation.cpp:27
bool approximate(size_t L, size_t N, size_t bMax, T *x, const T *wX, GslminimizerResult *result=nullptr, const ApproximateOptions &options=ApproximateOptions{}) override
approximate using raw pointers
Definition gm_to_dirac_short_standard_normal_deviation.cpp:16
bool approximate(size_t L, size_t N, size_t bMax, GSLMatrixType *x, const GSLVectorType *wX=nullptr, GslminimizerResult *result=nullptr, const ApproximateOptions &options=ApproximateOptions{}) override
approximate using gsl vectors
Definition approximate_options.h:6
struct to hold the result of the minimization
Definition gsl_minimizer.h:32