meepmeep.numba2d.sep_cd

Contents

meepmeep.numba2d.sep_cd#

meepmeep.numba2d.sep_cd(time: float | ndarray[tuple[Any, ...], dtype[_ScalarT]], c: ndarray[tuple[Any, ...], dtype[_ScalarT]], dc: ndarray[tuple[Any, ...], dtype[_ScalarT]])[source]#

Evaluate the projected planet-star separation and its parameter derivatives at an expansion-point-centered time.

Computes the sky-plane position via pos_cd and reduces it to the Euclidean distance d = sqrt(px^2 + py^2), propagating the parameter derivatives using the chain rule.

Accepts a scalar time or a 1-D array of times and dispatches to the appropriate kernel at compile time (inside @njit) or at call time (pure Python), mirroring the value-only separation.sep_c.

Parameters:
timefloat or ndarray

Time(s) relative to the Taylor series expansion point.

cNDArray

A (2, 5) Taylor coefficient matrix produced by solve2d.

dcNDArray

A (7, 2, 5) parameter-derivative tensor produced by solve2d_d, with the leading axis ordered as (tc, p, a, i, e, w, lan).

Returns:
dfloat or ndarray

Projected planet-star center distance in units of stellar radii. Shape (N,) for an array time.

ddNDArray

Partial derivatives of d with respect to (tc, p, a, i, e, w, lan). Shape (7,) for a scalar time, (N, 7) for an array time.

Notes

The chain-rule reduction used here is dd/dtheta = (px * dpx/dtheta + py * dpy/dtheta) / d. The expression is regular for d > 0, which is the regime of interest for transit modeling; the gradient is ill-defined exactly at the (geometrically singular) point of zero projected separation.