|
Deterministic Gaussian Sampling
|
optimization parameters for the closed-form even-N Gaussian-to-Dirac approximation More...
#include <gm_to_dirac_even_optimization_params.h>
Public Member Functions | |
| GMToDiracEvenOptimizationParams (const gsl_vector *wX, size_t N, size_t L, double bMax, bool includeD1) | |
| Construct a new GMToDiracEvenOptimizationParams object. | |
| ~GMToDiracEvenOptimizationParams () | |
| Destroy the GMToDiracEvenOptimizationParams object. | |
| void | update (const gsl_vector *x) |
| refresh the per-evaluation caches for a new x | |
| double | distanceSq (size_t i, size_t j) const |
| cached squared distance T_ij between samples i and j | |
Public Member Functions inherited from GslMinimizerOptimizationParams | |
| GslMinimizerOptimizationParams (size_t L, size_t N) | |
Data Fields | |
| const gsl_vector * | wX |
| const double | bMax |
| const size_t | k |
| N / 2. | |
| const double | reportedOffset |
| const double | objectiveOffset |
| std::vector< double > | cSqrdNorm |
| c_i = ||s_i||^2, size L | |
| SquaredEuclideanDistanceUtilsLL * | squaredEuclideanDistanceUtilLL = nullptr |
Data Fields inherited from GslMinimizerOptimizationParams | |
| size_t | L |
| size_t | N |
optimization parameters for the closed-form even-N Gaussian-to-Dirac approximation
|
inline |
Construct a new GMToDiracEvenOptimizationParams object.
| wX | weights of the Dirac mixture, must be non-null and of size L |
| N | dimension of the data, must be even and >= 2 |
| L | number of Dirac components, must be >= 1 |
| bMax | upper bound of the b-integral, must be > 0 |
| includeD1 | true to carry the sample-independent constant in the objective (see gm_to_dirac_even_closed_form::includeD1InObjective) |
cached squared distance T_ij between samples i and j
| i | index of the first sample |
| j | index of the second sample |
|
inline |
refresh the per-evaluation caches for a new x
Must be called whenever x changes, before reading cSqrdNorm or distanceSq().
| x | sample locations, L * N |
what the minimizer's objective actually carries: reportedOffset, or 0 if the caller opted out. Adding a constant costs no x-dependent precision.
constant turning the reduced objective into the true distance: distance = f_reduced + reportedOffset. See lcd_reported_offset().