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 T* x,
22 const T* wX,
23 GslminimizerResult* result = nullptr,
25 // clang-format on
26
27 // clang-format off
29 size_t L,
30 size_t N,
31 size_t bMax,
32 T* x,
33 const T* wX) override;
34 // clang-format on
35
36 // clang-format off
38 size_t L,
39 size_t N,
40 size_t bMax,
41 T* x,
42 const T* wX) override;
43 // clang-format on
44
45 // clang-format off
46 bool approximate(size_t L,
47 size_t N,
48 GSLVectorType* x,
49 const GSLVectorType* wX = nullptr,
50 GslminimizerResult* result = nullptr,
52 // clang-format on
53
54 // clang-format off
56 size_t L,
57 size_t N,
58 size_t bMax,
59 GSLVectorType* x,
60 const GSLVectorType* wX) override;
61 // clang-format on
62
63 // clang-format off
65 size_t L,
66 size_t N,
67 size_t bMax,
68 GSLVectorType* x,
69 const GSLVectorType* wX) override;
70 // clang-format on
71
72 // clang-format off
73 bool approximate(size_t L,
74 size_t N,
75 GSLMatrixType* x,
76 const GSLVectorType* wX = nullptr,
77 GslminimizerResult* result = nullptr,
79 // clang-format on
80
81 // clang-format off
83 size_t L,
84 size_t N,
85 size_t bMax,
86 GSLMatrixType* x,
87 const GSLVectorType* wX) override;
88 // clang-format on
89
90 // clang-format off
92 size_t L,
93 size_t N,
94 size_t bMax,
95 GSLMatrixType* x,
96 const GSLVectorType* wX) override;
97 // clang-format on
98};
99
102
103#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
bool approximate(size_t L, size_t N, 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
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, 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