Deterministic Gaussian Sampling
Loading...
Searching...
No Matches
GMToDiracEvenOptimizationParams Struct Reference

optimization parameters for the closed-form even-N Gaussian-to-Dirac approximation More...

#include <gm_to_dirac_even_optimization_params.h>

Inheritance diagram for GMToDiracEvenOptimizationParams:
GslMinimizerOptimizationParams

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
 

Detailed Description

optimization parameters for the closed-form even-N Gaussian-to-Dirac approximation

Constructor & Destructor Documentation

◆ GMToDiracEvenOptimizationParams()

GMToDiracEvenOptimizationParams::GMToDiracEvenOptimizationParams ( const gsl_vector *  wX,
size_t  N,
size_t  L,
double  bMax,
bool  includeD1 
)
inline

Construct a new GMToDiracEvenOptimizationParams object.

Parameters
wXweights of the Dirac mixture, must be non-null and of size L
Ndimension of the data, must be even and >= 2
Lnumber of Dirac components, must be >= 1
bMaxupper bound of the b-integral, must be > 0
includeD1true to carry the sample-independent constant in the objective (see gm_to_dirac_even_closed_form::includeD1InObjective)

Member Function Documentation

◆ distanceSq()

double GMToDiracEvenOptimizationParams::distanceSq ( size_t  i,
size_t  j 
) const
inline

cached squared distance T_ij between samples i and j

Parameters
iindex of the first sample
jindex of the second sample
Returns
||s_i - s_j||^2

◆ update()

void GMToDiracEvenOptimizationParams::update ( const gsl_vector *  x)
inline

refresh the per-evaluation caches for a new x

Must be called whenever x changes, before reading cSqrdNorm or distanceSq().

Parameters
xsample locations, L * N

Field Documentation

◆ objectiveOffset

const double GMToDiracEvenOptimizationParams::objectiveOffset

what the minimizer's objective actually carries: reportedOffset, or 0 if the caller opted out. Adding a constant costs no x-dependent precision.

◆ reportedOffset

const double GMToDiracEvenOptimizationParams::reportedOffset

constant turning the reduced objective into the true distance: distance = f_reduced + reportedOffset. See lcd_reported_offset().


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