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 NcGalaxyShapeFactorQuad‘s ~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.
Functions
nc_galaxy_shape_factor_laplace_clear
Decreases the reference count of gsfl by one, and sets the pointer
gsfl to NULL.
Instance methods
Methods inherited from NcGalaxyShapeFactor (27)
Please see NcGalaxyShapeFactor 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.