Class

NumCosmoGalaxyShapeFactorLaplace

Description [src]

final class NumCosmo.GalaxyShapeFactorLaplace : NumCosmo.GalaxyShapeFactor
{
  /* No available fields */
}

Laplace-approximate evaluation of the intrinsic-ellipticity marginal.

Approximates $$P(\epsilon_\mathrm{obs} \mid g) = \int_{|\chi_I|<1} \mathrm{d}^2\chi_I\, P_\mathrm{pop}(\chi_I)\, N_2\big(\epsilon_\mathrm{obs} - f_g(\chi_I); \sigma_\mathrm{noise}^2\big)$$ by a single Gaussian expansion around the joint mode of the integrand, found by nc_galaxy_shape_intrinsic_mode_find() (a nested search: since $P_\mathrm{pop}$ has no angular dependence, the whole $\theta$-direction is resolved by the noise term alone at any fixed $\rho$, so only the radial direction needs profiling against $P_\mathrm{pop}$ — see that file’s documentation for why this beats a blind joint 2D minimization). The result is the standard Laplace formula, $$P(\epsilon_\mathrm{obs}\mid g) \approx \frac{2\pi}{\sqrt{\det(-H)}}\, \exp\big(\ln P_\mathrm{pop}(\chi_{I,\star})+\ln N_2(\epsilon_\mathrm{obs}-f_g(\chi_{I,\star}))\big),$$ with $H$ the Hessian of the log-integrand in Cartesian $\chi_I$ coordinates at the mode $\chi_{I,\star}$.

This is a single closed-form evaluation (a handful of Newton steps plus one Hessian, all on cheap arithmetic — no cubature), orders of magnitude cheaper than NcGalaxyShapeFactorQuads ~100ms/evaluation Divonne call, and unlike NcGalaxyShapeFactorVarAdd it needs no nc_galaxy_shape_pop_get_sigma() support, so it works for any population (e.g. NcGalaxyShapePopBeta) that implements eval_p().

The approximation is exact in the limit of an infinitely sharp, single-peaked integrand and degrades as the population/noise combination gets broader or flatter (verified against NcGalaxyShapeFactorQuad: from sub-percent for concentrated populations to a genuine few percent for a broad, barely-peaked one, e.g. NcGalaxyShapePopBeta with a small concentration parameter). nc_galaxy_shape_factor_laplace_eval_marginal() returns NAN (propagating to eval_ln_marginal() as well) when the found point is not a proper local maximum (a non-positive-definite Hessian), which signals that a single local Gaussian is not a meaningful description of the integrand there — callers needing a guaranteed answer in that regime should fall back to NcGalaxyShapeFactorQuad.

Constructors

nc_galaxy_shape_factor_laplace_new

Creates a new NcGalaxyShapeFactorLaplace.

Functions

nc_galaxy_shape_factor_laplace_clear

Decreases the reference count of gsfl by one, and sets the pointer gsfl to NULL.

Instance methods

nc_galaxy_shape_factor_laplace_free

Decreases the reference count of gsfl by one.

nc_galaxy_shape_factor_laplace_ref

Increases the reference count of gsfl by one.

Methods inherited from NcGalaxyShapeFactor (27)

Please see NcGalaxyShapeFactor for a full list of methods.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

Properties inherited from NcGalaxyShapeFactor (1)
NumCosmo.GalaxyShapeFactor:ellip-conv

Weak lensing observables ellipticity convention NcGalaxyWLObsEllipConv.

Signals

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct NumCosmoGalaxyShapeFactorLaplaceClass {
  NcGalaxyShapeFactorClass parent_class;
  
}

No description available.

Class members
parent_class: NcGalaxyShapeFactorClass

No description available.