The Interferometers Module

class gravpy.interferometers.AdvancedLIGO(frequencies=None, configuration=None, obs_time=None)[source]

The aLIGO Interferometer

Methods

antenna_pattern(self, theta, phi, psi) Produce the antenna pattern for a detector, given its detector tensor, and a set of angles.
energy_density(self[, frequencies]) Produce the sensitivity curve of the detector in terms of the energy density.
noise_amplitude(self[, frequencies]) The noise amplitude for a detector is defined as $h^2_n(f) = f S_n(f)$ and is designed to incorporate the effect of integrating an inspiralling signal.
noise_spectrum(self, x) Return the default noise spectrum for the interferometer.
plot(self[, axis]) Plot the noise curve for this detector.
psd(self[, frequencies]) Calculate the one-sided power spectral desnity for a detector.
skymap(self[, nx, ny, psi]) Produce a skymap of the antenna repsonse of the interferometer.
srpsd  
noise_spectrum(self, x)[source]

Return the default noise spectrum for the interferometer.

Parameters:
x : float

The rescaled frequency at which the fit should be evaluated.

Returns:
float

The sensitivity of the interferometer at the frequency provided.

class gravpy.interferometers.BDecigo(frequencies=None, configuration=None, obs_time=None)[source]

Methods

antenna_pattern(self, theta, phi, psi) Produce the antenna pattern for a detector, given its detector tensor, and a set of angles.
energy_density(self[, frequencies]) Produce the sensitivity curve of the detector in terms of the energy density.
noise_amplitude(self[, frequencies]) The noise amplitude for a detector is defined as $h^2_n(f) = f S_n(f)$ and is designed to incorporate the effect of integrating an inspiralling signal.
noise_spectrum(self, x) Return the default noise spectrum for the interferometer.
plot(self[, axis]) Plot the noise curve for this detector.
psd(self, frequencies) Calculate the one-sided power spectral desnity for a detector.
skymap(self[, nx, ny, psi]) Produce a skymap of the antenna repsonse of the interferometer.
srpsd  
psd(self, frequencies)[source]

Calculate the one-sided power spectral desnity for a detector. If a particular configuration is specified then the results will be returned for a spline fit to that configuration’s curve, if available.

Parameters:
frequencies : ndarray

An array of frequencies where the PSD should be evaluated.

configuration : str

The configuration of the detector for which the curve should be returned.

class gravpy.interferometers.BigBangObservatory(frequencies=None, configuration=None, obs_time=None)[source]

The Big Bang Observatory.

Methods

antenna_pattern(self, theta, phi, psi) Produce the antenna pattern for a detector, given its detector tensor, and a set of angles.
energy_density(self[, frequencies]) Produce the sensitivity curve of the detector in terms of the energy density.
noise_amplitude(self[, frequencies]) The noise amplitude for a detector is defined as $h^2_n(f) = f S_n(f)$ and is designed to incorporate the effect of integrating an inspiralling signal.
noise_spectrum(self, x) Return the default noise spectrum for the interferometer.
plot(self[, axis]) Plot the noise curve for this detector.
psd(self, frequencies) The power spectrum density of the detector, taken from equation 6 of arxiv:1101.3940.
skymap(self[, nx, ny, psi]) Produce a skymap of the antenna repsonse of the interferometer.
srpsd  
psd(self, frequencies)[source]

The power spectrum density of the detector, taken from equation 6 of arxiv:1101.3940.

class gravpy.interferometers.Decigo(frequencies=None, configuration=None, obs_time=None)[source]

The full, original Decigo noise curve, from arxiv:1101.3940.

Methods

antenna_pattern(self, theta, phi, psi) Produce the antenna pattern for a detector, given its detector tensor, and a set of angles.
energy_density(self[, frequencies]) Produce the sensitivity curve of the detector in terms of the energy density.
noise_amplitude(self[, frequencies]) The noise amplitude for a detector is defined as $h^2_n(f) = f S_n(f)$ and is designed to incorporate the effect of integrating an inspiralling signal.
noise_spectrum(self, x) Return the default noise spectrum for the interferometer.
plot(self[, axis]) Plot the noise curve for this detector.
psd(self, frequencies) The power spectrum density of the detector, taken from equation 5 of arxiv:1101.3940.
skymap(self[, nx, ny, psi]) Produce a skymap of the antenna repsonse of the interferometer.
srpsd  
psd(self, frequencies)[source]

The power spectrum density of the detector, taken from equation 5 of arxiv:1101.3940.

class gravpy.interferometers.Detector[source]

This is the base class for all types of detectors, and contains the conversion methods between the various different ways of expressing the noise levels (sensitivity) of any detector.

Methods

energy_density(self[, frequencies]) Produce the sensitivity curve of the detector in terms of the energy density.
noise_amplitude(self[, frequencies]) The noise amplitude for a detector is defined as $h^2_n(f) = f S_n(f)$ and is designed to incorporate the effect of integrating an inspiralling signal.
plot(self[, axis]) Plot the noise curve for this detector.
srpsd  
energy_density(self, frequencies=None)[source]

Produce the sensitivity curve of the detector in terms of the energy density.

Parameters:
frequencies : ndarray

An array of frequencies, in units of Hz

Returns:
energy_density : ndarray

An array of the dimensionless energy density of the sensitivity of the detector.

noise_amplitude(self, frequencies=None)[source]

The noise amplitude for a detector is defined as $h^2_n(f) = f S_n(f)$ and is designed to incorporate the effect of integrating an inspiralling signal.

Parameters:
frequencies : ndarray

An array of frequencies, in units of Hz

Returns:
noise_amplitude : ndarray

An array of the noise amplitudes correcsponding to the input frequency values

plot(self, axis=None, **kwargs)[source]

Plot the noise curve for this detector.

class gravpy.interferometers.EvolvedLISA(frequencies=None, configuration=None, obs_time=None)[source]

The eLISA Interferometer

Methods

antenna_pattern(self, theta, phi, psi) Produce the antenna pattern for a detector, given its detector tensor, and a set of angles.
energy_density(self[, frequencies]) Produce the sensitivity curve of the detector in terms of the energy density.
noise_amplitude(self[, frequencies]) The noise amplitude for a detector is defined as $h^2_n(f) = f S_n(f)$ and is designed to incorporate the effect of integrating an inspiralling signal.
noise_spectrum(self, x) Return the default noise spectrum for the interferometer.
plot(self[, axis]) Plot the noise curve for this detector.
psd(self, frequencies) Calculate the one-sided power spectral desnity for a detector.
skymap(self[, nx, ny, psi]) Produce a skymap of the antenna repsonse of the interferometer.
srpsd  
psd(self, frequencies)[source]

Calculate the one-sided power spectral desnity for a detector. If a particular configuration is specified then the results will be returned for a spline fit to that configuration’s curve, if available.

Parameters:
frequencies : ndarray

An array of frequencies where the PSD should be evaluated.

configuration : str

The configuration of the detector for which the curve should be returned.

class gravpy.interferometers.GEO(frequencies=None, configuration=None, obs_time=None)[source]

The GEO600 Interferometer

Methods

antenna_pattern(self, theta, phi, psi) Produce the antenna pattern for a detector, given its detector tensor, and a set of angles.
energy_density(self[, frequencies]) Produce the sensitivity curve of the detector in terms of the energy density.
noise_amplitude(self[, frequencies]) The noise amplitude for a detector is defined as $h^2_n(f) = f S_n(f)$ and is designed to incorporate the effect of integrating an inspiralling signal.
noise_spectrum(self, x) Return the default noise spectrum for the interferometer.
plot(self[, axis]) Plot the noise curve for this detector.
psd(self[, frequencies]) Calculate the one-sided power spectral desnity for a detector.
skymap(self[, nx, ny, psi]) Produce a skymap of the antenna repsonse of the interferometer.
srpsd  
noise_spectrum(self, x)[source]

Return the default noise spectrum for the interferometer.

Parameters:
x : float

The rescaled frequency at which the fit should be evaluated.

Returns:
float

The sensitivity of the interferometer at the frequency provided.

class gravpy.interferometers.InitialLIGO(frequencies=None, configuration=None, obs_time=None)[source]

The iLIGO Interferometer

Methods

antenna_pattern(self, theta, phi, psi) Produce the antenna pattern for a detector, given its detector tensor, and a set of angles.
energy_density(self[, frequencies]) Produce the sensitivity curve of the detector in terms of the energy density.
noise_amplitude(self[, frequencies]) The noise amplitude for a detector is defined as $h^2_n(f) = f S_n(f)$ and is designed to incorporate the effect of integrating an inspiralling signal.
noise_spectrum(self, x) Return the default noise spectrum for the interferometer.
plot(self[, axis]) Plot the noise curve for this detector.
psd(self[, frequencies]) Calculate the one-sided power spectral desnity for a detector.
skymap(self[, nx, ny, psi]) Produce a skymap of the antenna repsonse of the interferometer.
srpsd  
noise_spectrum(self, x)[source]

Return the default noise spectrum for the interferometer.

Parameters:
x : float

The rescaled frequency at which the fit should be evaluated.

Returns:
float

The sensitivity of the interferometer at the frequency provided.

class gravpy.interferometers.Interferometer(frequencies=None, configuration=None, obs_time=None)[source]

The base class to describe an interferometer.

Methods

antenna_pattern(self, theta, phi, psi) Produce the antenna pattern for a detector, given its detector tensor, and a set of angles.
energy_density(self[, frequencies]) Produce the sensitivity curve of the detector in terms of the energy density.
noise_amplitude(self[, frequencies]) The noise amplitude for a detector is defined as $h^2_n(f) = f S_n(f)$ and is designed to incorporate the effect of integrating an inspiralling signal.
noise_spectrum(self, x) Return the default noise spectrum for the interferometer.
plot(self[, axis]) Plot the noise curve for this detector.
psd(self[, frequencies]) Calculate the one-sided power spectral desnity for a detector.
skymap(self[, nx, ny, psi]) Produce a skymap of the antenna repsonse of the interferometer.
srpsd  
antenna_pattern(self, theta, phi, psi)[source]

Produce the antenna pattern for a detector, given its detector tensor, and a set of angles.

Parameters:
theta : float

The altitude angle.

phi : float

The azimuthal angle.

psi : float or list

The polarisation angle. If psi is a list of two angles the returned antenna patterns will be the integrated response between those two polsarisation angles.

Returns:
F+ : float

The antenna response to the ‘+’ polarisation state.

Fx : float

The antenna response to the ‘x’ polsarisation state.

|F| : float

The combined antenna response (sqrt(F+^2 + Fx^2)).

noise_spectrum(self, x)[source]

Return the default noise spectrum for the interferometer.

Parameters:
x : float

The rescaled frequency at which the fit should be evaluated.

Returns:
float

The sensitivity of the interferometer at the frequency provided.

psd(self, frequencies=None)[source]

Calculate the one-sided power spectral desnity for a detector. If a particular configuration is specified then the results will be returned for a spline fit to that configuration’s curve, if available.

Parameters:
frequencies : ndarray

An array of frequencies where the PSD should be evaluated.

configuration : str

The configuration of the detector for which the curve should be returned.

skymap(self, nx=200, ny=100, psi=[0, 3.141592653589793])[source]

Produce a skymap of the antenna repsonse of the interferometer.

Parameters:
nx : int

The number of locations along the horizontal axis to produce the map at defaults to 200.

ny : int

The number of locations along the vertical axis to produce the map at defaults to 100

psi : float or list

The polarisation angle to produce the map at. If a list is given then the integrated response is given between those angles.

Returns:
x : ndarray

The x values for the map

y: ndarray

The y values for the map

antennap : ndarray

The values of the sensitivity in the + polarisation

antennax : ndarray

The values of the sensitivity in the x polarisation

antennac : ndarray

The values of the combined polarisation sensitivities

class gravpy.interferometers.LISA(frequencies=None, configuration=None, obs_time=None)[source]

The LISA Interferometer in its mission-accepted state, as of 2018

Methods

antenna_pattern(self, theta, phi, psi) Produce the antenna pattern for a detector, given its detector tensor, and a set of angles.
confusion_noise(self, frequencies[, …]) The noise created by unresolvable galactic binaries at low frequencies.
energy_density(self[, frequencies]) Produce the sensitivity curve of the detector in terms of the energy density.
metrology_noise(self, frequencies) Calculate the noise due to the single-link optical metrology, from arxiv:1803.01944.
noise_amplitude(self[, frequencies]) The noise amplitude for a detector is defined as $h^2_n(f) = f S_n(f)$ and is designed to incorporate the effect of integrating an inspiralling signal.
noise_spectrum(self, x) Return the default noise spectrum for the interferometer.
plot(self[, axis]) Plot the noise curve for this detector.
psd(self, frequencies) Calculate the one-sided power spectral desnity for a detector.
single_mass_noise(self, frequencies) The acceleration noise for a single test mass.
skymap(self[, nx, ny, psi]) Produce a skymap of the antenna repsonse of the interferometer.
srpsd  
confusion_noise(self, frequencies, observation_time=0.5)[source]

The noise created by unresolvable galactic binaries at low frequencies.

metrology_noise(self, frequencies)[source]

Calculate the noise due to the single-link optical metrology, from arxiv:1803.01944.

psd(self, frequencies)[source]

Calculate the one-sided power spectral desnity for a detector. If a particular configuration is specified then the results will be returned for a spline fit to that configuration’s curve, if available.

Parameters:
frequencies : ndarray

An array of frequencies where the PSD should be evaluated.

configuration : str

The configuration of the detector for which the curve should be returned.

single_mass_noise(self, frequencies)[source]

The acceleration noise for a single test mass.

class gravpy.interferometers.TAMA(frequencies=None, configuration=None, obs_time=None)[source]

The TAMA Interferometer

Methods

antenna_pattern(self, theta, phi, psi) Produce the antenna pattern for a detector, given its detector tensor, and a set of angles.
energy_density(self[, frequencies]) Produce the sensitivity curve of the detector in terms of the energy density.
noise_amplitude(self[, frequencies]) The noise amplitude for a detector is defined as $h^2_n(f) = f S_n(f)$ and is designed to incorporate the effect of integrating an inspiralling signal.
noise_spectrum(self, x) Return the default noise spectrum for the interferometer.
plot(self[, axis]) Plot the noise curve for this detector.
psd(self[, frequencies]) Calculate the one-sided power spectral desnity for a detector.
skymap(self[, nx, ny, psi]) Produce a skymap of the antenna repsonse of the interferometer.
srpsd  
noise_spectrum(self, x)[source]

Return the default noise spectrum for the interferometer.

Parameters:
x : float

The rescaled frequency at which the fit should be evaluated.

Returns:
float

The sensitivity of the interferometer at the frequency provided.

class gravpy.interferometers.TimingArray[source]

A class to represent a pulsar timing array.

Methods

energy_density(self[, frequencies]) Produce the sensitivity curve of the detector in terms of the energy density.
noise_amplitude(self[, frequencies]) The noise amplitude for a detector is defined as $h^2_n(f) = f S_n(f)$ and is designed to incorporate the effect of integrating an inspiralling signal.
plot(self[, axis]) Plot the noise curve for this detector.
Pn  
Sn  
noise_spectrum  
psd  
srpsd  
class gravpy.interferometers.Virgo(frequencies=None, configuration=None, obs_time=None)[source]

The Virgo Interferometer

Methods

antenna_pattern(self, theta, phi, psi) Produce the antenna pattern for a detector, given its detector tensor, and a set of angles.
energy_density(self[, frequencies]) Produce the sensitivity curve of the detector in terms of the energy density.
noise_amplitude(self[, frequencies]) The noise amplitude for a detector is defined as $h^2_n(f) = f S_n(f)$ and is designed to incorporate the effect of integrating an inspiralling signal.
noise_spectrum(self, x) Return the default noise spectrum for the interferometer.
plot(self[, axis]) Plot the noise curve for this detector.
psd(self[, frequencies]) Calculate the one-sided power spectral desnity for a detector.
skymap(self[, nx, ny, psi]) Produce a skymap of the antenna repsonse of the interferometer.
srpsd  
noise_spectrum(self, x)[source]

Return the default noise spectrum for the interferometer.

Parameters:
x : float

The rescaled frequency at which the fit should be evaluated.

Returns:
float

The sensitivity of the interferometer at the frequency provided.