spleaf.term.ESPKernel#

class spleaf.term.ESPKernel(sig, P, rho, eta, nharm=2)#

The Exponential-sine periodic (ESP) kernel is a twice mean-square differentiable kernel approximating the squared-exponential periodic (SEP) kernel.

The exact SEP kernel is written as

\[k(\Delta t) = \sigma^2 \exp \left(- \frac{\Delta t^2}{2 \rho^2} - \frac{\sin^2 \left( \frac{\pi \Delta t }{P}\right) }{2 \eta^2}\right),\]

while the ESP kernel approximates it with

\[k(\Delta t) = \sigma^2 k_\mathrm{ES}(\rho;\Delta t) \frac{I_0(f) + 2 \sum_{h=1}^{n_\mathrm{harm}} I_h(f) \cos\left(h \nu \Delta t\right)}{ I_0(f) + 2 \sum_{h=1}^{n_\mathrm{harm}} I_h(f)},\]

where \(\nu = \frac{2\pi}{P}\), \(f = \frac{1}{4\eta^2}\), \(I_h\) are the modified Bessel functions of the first kind, and \(k_\mathrm{ES}\) is an ESKernel with scale \(\rho\).

The rank of the ESP kernel is \(6 n_\mathrm{harm} + 3\).

Parameters:
sigfloat

Amplitude (std).

Pfloat

Period.

rhofloat

Scale.

etafloat

Scale of oscillations.

nharmint

Number of harmonics to include (2 by default).

Methods

eval(dt[, series_id])

Evaluate the kernel at lag dt.

set_conditional_coef(*args, **kwargs)

Set the coefficients used for the conditional computations.