Elómë#
Analytic, differentiable transit light curves on Apple Silicon.
Elómë computes the light curve of a planet crossing its star exactly and in closed form, with analytic gradients in every parameter. A float32 path fuses each model into hand-written Metal kernels on the Apple-Silicon GPU, and a float64 path runs the same mathematics on the CPU. Both run through MLX.
Familiar. The frontend follows batman:
TransitParams,TransitModel,light_curve.Exact. In float64 the light curves agree with a 30-digit direct integral to \(2\times10^{-16}\).
Fast. A light curve of \(10^7\) points in about 10 ms on the GPU, and about 50,000 light curves of \(10^5\) points each per second when parameter sets are batched.
Differentiable. Every parameter, including the limb darkening, the eccentricity and the planet’s shape, has an analytic gradient.
Spherical, oblate and ringed planets, and spotted stars. A flattened planet’s light curve, a ringed one’s and a spotted star’s stay elementary with the hybrid limb-darkening laws.
import numpy as np
import elome
params = elome.TransitParams()
params.t0, params.per, params.rp, params.a = 0.0, 3.0, 0.1, 10.0
params.inc, params.ecc, params.w = 88.0, 0.0, 90.0
params.limb_dark, params.u = "quadratic", [0.4, 0.25]
t = np.linspace(-0.1, 0.1, 1000)
flux = elome.TransitModel(params, t).light_curve(params)
Choose your path#
Most of what follows applies to every planet. The paths differ in their geometry, in the limb-darkening laws available, and in what to watch for when fitting.
The standard transit: uniform, linear, quadratic, polynomial or hybrid limb darkening; circular and eccentric orbits; secondary eclipses; companions larger than their star.
A planet flattened by rotation projects to an ellipse. Two more parameters (flattening and sky angle), the hybrid limb-darkening laws, and the same fast, differentiable machinery.
A spherical or oblate planet with a flat ring in its equatorial plane, opaque or translucent: four more parameters, exact limb darkening, every gradient.
Circular spots and faculae on a rotating star, crossed by the planet: the crossings and the rotational modulation, exact limb darkening, every gradient.
New to Elómë? Start with Installation and the Quickstart.
Citing Elómë#
If Elómë contributes to your research, please cite the Elómë paper (Journal of Open Source Software, in preparation). The hybrid limb-darkening laws and their coefficients have papers of their own; see Citing Elómë.