eztaox.kernels.transfer_function#

Transfer functions

Classes#

TransferFunction

Base class for transfer functions \(\Psi(\Delta t)\).

GaussianTransferFunction

Gaussian transfer function: \(\propto e^{-((\Delta t-\Delta t_0)/w)^2}\).

ExponentialTransferFunction

Exponential transfer function: \(\propto e^{-|\Delta t-\Delta t_0|/w}\).

CausalGaussianTransferFunction

Causal Gaussian: \(\propto e^{-((\Delta t-\Delta t_0)/w)^2},\Delta t\ge0\).

CausalExponentialTransferFunction

Causal exponential: \(\propto e^{-(\Delta t-\Delta t_0)/w},\Delta t\ge\Delta t_0\).

ConvolvedKernel

Kernel convolved with a transfer function via FFT.

Module Contents#

class TransferFunction[source]#

Bases: equinox.Module

Base class for transfer functions \(\Psi(\Delta t)\).

abstractmethod evaluate(X1: tinygp.helpers.JAXArray, X2: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray[source]#

Evaluate the transfer function at two points.

class GaussianTransferFunction[source]#

Bases: TransferFunction

Gaussian transfer function: \(\propto e^{-((\Delta t-\Delta t_0)/w)^2}\).

where \(\Delta t_0=\mathrm{shift}\). The unity-normalization coefficient is: \(\frac{1}{\sqrt{\pi}w}\).

evaluate(X1: tinygp.helpers.JAXArray, X2: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray[source]#

Evaluate the normalized transfer function at two points.

Normalized so that \(\int_{-\infty}^{\infty}\Psi(\Delta t)\,d\Delta t=1\).

class ExponentialTransferFunction[source]#

Bases: TransferFunction

Exponential transfer function: \(\propto e^{-|\Delta t-\Delta t_0|/w}\).

where \(\Delta t_0=\mathrm{shift}\). The unity-normalization coefficient is: \(\frac{1}{2w}\).

evaluate(X1: tinygp.helpers.JAXArray, X2: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray[source]#

Evaluate the normalized transfer function at two points.

Normalized so that \(\int_{-\infty}^{\infty}\Psi(\Delta t)\,d\Delta t=1\).

class CausalGaussianTransferFunction[source]#

Bases: TransferFunction

Causal Gaussian: \(\propto e^{-((\Delta t-\Delta t_0)/w)^2},\Delta t\ge0\).

where \(\Delta t_0=\mathrm{shift}\). The unity-normalization coefficient is: \(\left[\frac{\sqrt{\pi}}{2}w\left(1+\mathrm{erf}(\mathrm{shift}/w)\right)\right]^{-1}\).

evaluate(X1: tinygp.helpers.JAXArray, X2: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray[source]#

Evaluate the normalized transfer function at two points.

Normalized so that \(\int_{-\infty}^{\infty}\Psi(\Delta t)\,d\Delta t=1\) for any shift.

class CausalExponentialTransferFunction[source]#

Bases: TransferFunction

Causal exponential: \(\propto e^{-(\Delta t-\Delta t_0)/w},\Delta t\ge\Delta t_0\).

where \(\Delta t_0=\mathrm{shift}\). Defined for \(\Delta t\ge\Delta t_0\), zero otherwise. The unity-normalization coefficient is: \(\frac{1}{w}\).

evaluate(X1: tinygp.helpers.JAXArray, X2: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray[source]#

Evaluate the normalized transfer function at two points.

Normalized so that \(\int_{-\infty}^{\infty}\Psi(\Delta t)\,d\Delta t=1\) for any shift.

class ConvolvedKernel[source]#

Bases: tinygp.kernels.Kernel

Kernel convolved with a transfer function via FFT.

Computes the convolved kernel using the Wiener-Khinchin relation:

\(S_{\mathrm{conv}}(f)=S_{\mathrm{base}}(f)\,|\hat{\Psi}(f)|^2\) \(k_{\mathrm{conv}}(\tau)=\mathrm{IFFT}[S_{\mathrm{conv}}](\tau)\)

where \(\hat{\Psi}\) is the Fourier transform of the transfer function and \(S_{\mathrm{base}}\) is the power spectral density of the base kernel.

coord_to_sortable(X) tinygp.helpers.JAXArray[source]#

Extract the time-sortable component of the coordinates.

evaluate(X1, X2) tinygp.helpers.JAXArray[source]#

Evaluate the transfer function at two points.