Class
NumCosmoWLEllipticitySeriesTrace
Description [src]
final class NumCosmo.WLEllipticitySeriesTrace : GObject.Object
{
/* No available fields */
}
Truncated $g$-Taylor series of nc_wl_ellipticity.h’s own closed-form
reduced-shear kernels: $\chi_I(\chi_L,g)$ (via apply_shear_inv) and the
linear (not log) Jacobian $\mathrm{Jac}(\chi_L,g)=|\det J|$ (via
det_jac), one object per ellipticity convention, mirroring that file’s
own _trace/_trace_det split.
Both conventions have closed forms in $g$ (no finite differences
anywhere) — see docs/theory/wl_shape_marginalization_series.qmd and
dev-notes/wl_shape_series_marginalization_derivation.py sections 10-11
(verify_chi_closed_form_pieces, verify_eps_closed_form_pieces) for the
derivation and symbolic/numeric verification these two classes mirror:
- TRACE_DET (epsilon): $\chi_I=(\chi_L-g)/(1-g\chi_L)$, holomorphic, so $\mathrm{Jac}=|f’(\chi_L,-g)|^2$; both closed-form power series in $g$ with no recursion needed at all.
- TRACE (chi): $\chi_I(\chi_L,g)=f_\chi(\chi_L,-g)$ is a ratio of two QUADRATICS in $g$ ($\chi_L,\bar\chi_L$ fixed), so its Taylor series follows a 2-term power-series-division recursion; the chi map is NOT holomorphic in $\chi_L$ (involves $\bar\chi_L$ too), so the Jacobian needs the full real $2\times2$ determinant, itself a closed-form reciprocal-series-cubed construction. Both closed forms match the already-shipped nc_wl_ellipticity_apply_shear_inv_trace/nc_wl_ellipticity_det_jac_trace to machine precision (see dev-notes’ verify_inverse_map_and_jacobian_match_production and this module’s own test suite, tests/c/nc/lss/wl/test_nc_wl_ellipticity_series.c, which checks eval()+Horner-evaluate-at-small-g directly against those already-shipped closed forms).
Every intermediate NcmLaurentSeriesTPS/NcmLaurentSeries this needs is
owned directly and allocated once at construction (order is
CONSTRUCT_ONLY): eval() only ever refills already-existing storage, never
allocates. TRACE_DET’s chi and TRACE_DET’s own $\chi_L$/$\bar\chi_L$/d1
quantities (shared between its chi and jac computation, since both run
sequentially against the same $\rho$ within one eval() call) are the only
scratch either class needs beyond the named NcmLaurentSeriesTPS series themselves.
Instance methods
nc_wl_ellipticity_series_trace_eval
Refills ser‘s chi and jac series (see nc_wl_ellipticity_series_trace_get_chi()/
_get_jac()) at $\chi_L=\rho\,w$. $\chi_L,\bar\chi_L,d_1=-(\chi_L+\bar\chi_L)$
are computed once here and shared by both the chi and jac recursions
(identical quantities, same $\rho$, never needed concurrently). Also
fills nc_wl_ellipticity_series_trace_get_abs_sq() ($|\chi_I(\chi_L,g)|^2=
\chi_I\overline{\chi_I}$, population-independent, exactly the $\rho^2(g)$
input nc_galaxy_shape_pop_eval_p_rho2_g_series() needs).
Properties
NumCosmo.WLEllipticitySeriesTrace:order
Truncation order $N$ of the $g$-power series. Immutable for the
object’s whole life — every NcmLaurentSeriesTPS/NcmLaurentSeries
this needs is sized and allocated once, here.
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.