StellarOscillatorKernel#

class gadfly.StellarOscillatorKernel(hyperparameters=None, texp=None, delta=None, name=None, terms=None)[source]#

Bases: TermConvolution

A sum of SHOTerm simple harmonic oscillator kernels generated by gadfly to approximate the total solar irradiance power spectrum.

StellarOscillatorKernel inherits from TermConvolution.

Parameters:
  • hyperparameters (Hyperparameters) – Iterable of hyperparameters, each passed to the SHOTerm constructor.

  • name (str) – Name for this set of hyperparameters

  • texp (Quantity) – Exposure time, convertible to inverse microhertz.

  • delta (float (optional)) – Exposure time, in units of inverse microhertz.

  • terms (list) – Kernel terms to add together. This argument is intended only for internal use.

Attributes Summary

Methods Summary

dot(x, diag, y)

Apply a matrix-vector or matrix-matrix product

get_celerite_matrices(x, diag, *[, c, a, U, V])

Get the matrices needed to solve the celerite system

get_coefficients()

Compute and return the coefficients for the celerite model

get_psd(omega)

Compute the value of the power spectral density for this process

get_value(tau0)

Compute the value of the kernel as a function of lag

plot(**kwargs)

Plot a power spectrum.

to_dense(x, diag)

Evaluate the dense covariance matrix for this term

Attributes Documentation

terms#

Methods Documentation

dot(x, diag, y)#

Apply a matrix-vector or matrix-matrix product

Parameters:
  • x (shape[N]) – The independent coordinates of the data.

  • diag (shape[N]) – The diagonal variance of the system.

  • y (shape[N] or shape[N, K]) – The target of vector or matrix for this operation.

get_celerite_matrices(x, diag, *, c=None, a=None, U=None, V=None)#

Get the matrices needed to solve the celerite system

Pre-allocated arrays can be provided to the Python interface to be re-used for multiple evaluations.

Note

In-place operations are not supported by the modeling extensions.

Parameters:
  • x (shape[N]) – The independent coordinates of the data.

  • diag (shape[N]) – The diagonal variance of the system.

  • a (shape[N], optional) – The diagonal of the A matrix.

  • U (shape[N, J], optional) – The first low-rank matrix.

  • V (shape[N, J], optional) – The second low-rank matrix.

  • P (shape[N-1, J], optional) – The regularization matrix used for numerical stability.

Raises:

ValueError – When the inputs are not valid.

get_coefficients()#

Compute and return the coefficients for the celerite model

This should return a 6 element tuple with the following entries:

(ar, cr, ac, bc, cc, dc)

Note

All of the returned objects must be arrays, even if they only have one element.

get_psd(omega)#

Compute the value of the power spectral density for this process

Parameters:

omega (shape[...]) – The (angular) frequencies where the power should be evaluated.

get_value(tau0)#

Compute the value of the kernel as a function of lag

Parameters:

tau (shape[...]) – The lags where the kernel should be evaluated.

plot(**kwargs)[source]#

Plot a power spectrum.

Requires matplotlib.

Parameters:
Returns:

to_dense(x, diag)#

Evaluate the dense covariance matrix for this term

Parameters:
  • x (shape[N]) – The independent coordinates of the data.

  • diag (shape[N]) – The diagonal variance of the system.