GW Source Tools
Waveform Base Classes
These waveform classes are used as base objects for specifically designed waveform tools in lisatools.sources
.
BBHs
- class lisatools.sources.bbh.BBHSNRWaveform(bbh_waveform_kwargs={'run_phenomd': False}, response_kwargs={'TDItag': 'AET', 'tdi2': True})[source]
Bases:
SNRWaveform
Wrapper class for straightforward BBH SNR calculations.
Calculates it for A and E channels in TDI2.
- Parameters:
- property f_arr: ndarray
Frequency array.
- __call__(*params, return_array=False, mf_min=0.0001, mf_max=0.6, freqs=None, **kwargs)[source]
Generate waveforms for SNR calculations.
- Parameters:
*params (
Any
) – Parameters for the__call__
function forBBHWaveformFD
.return_array (
Optional
[bool
], default:False
) – IfTrue
, returnarray([A, E, T]). If ``False
, return (A, E, T).mf_min (
Optional
[float
], default:0.0001
) – Minimum dimensionless frequency to evaluate.mf_max (
Optional
[float
], default:0.6
) – Maximum dimensionless frequency to evaluate.freqs (
Optional
[ndarray
], default:None
) – IfNone
, then default will benp.logspace(mf_min / M, mf_max / M, 1024)
. Otherwise, it will calulate frequencies based on this exact array.**kwargs (
Any
) –kwargs
for the__call__
function forBBHWaveformFD
.
- Return type:
- Returns:
Output waveform.
GBs
EMRIs
- class lisatools.sources.emri.EMRITDIWaveform(T=1.0, dt=10.0, emri_waveform_args=('FastSchwarzschildEccentricFlux', ), emri_waveform_kwargs={}, response_kwargs={'orbits': <lisatools.detector.EqualArmlengthOrbits object>, 'order': 25, 't0': 30000.0, 'tdi': '1st generation', 'tdi_chan': 'AET'})[source]
Bases:
AETTDIWaveform
Generate EMRI waveforms with the TDI LISA Response
- Parameters:
T (
Optional
[float
], default:1.0
) – Observation time in years.dt (
Optional
[float
], default:10.0
) – Time cadence in seconds.emri_waveform_args (
Optional
[tuple
], default:('FastSchwarzschildEccentricFlux',)
) – Arguments forGenerateEMRIWaveforms
.emri_waveform_kwargs (
Optional
[dict
], default:{}
) – Keyword arguments forGenerateEMRIWaveforms
.response_kwargs (
Optional
[dict
], default:{'t0': 30000.0, 'order': 25, 'tdi': '1st generation', 'tdi_chan': 'AET', 'orbits': <lisatools.detector.EqualArmlengthOrbits object at 0x11448a240>}
) – Keyword arguments forResponseWrapper
.
Calculation Controllers
These classes are used as simplified wrappers for investigative computations like SNR and covariance.
- class lisatools.sources.CalculationController(aet_template_gen, model, psd_kwargs, Tobs, dt, psd=<class 'lisatools.sensitivity.A1TDISens'>)[source]
Bases:
object
Wrapper class to controll investigative computations.
- Parameters:
aet_template_gen (
SNRWaveform
|AETTDIWaveform
) – Template waveform generator.model (
LISAModel
) – Model for LISA.psd_kwargs (
dict
) – psd_kwargs forlisatools.sensitivity.get_sensitivity()
.Tobs (
float
) – Observation time in years.dt (
float
) – Timestep in seconds.psd (
Sensitivity
, default:<class 'lisatools.sensitivity.A1TDISens'>
) – Sensitivity curve type to use. Default isA1TDISens
because we ignoreT
in these simplified calculations and theA
andE
sensitivities are equivalent.
- property parameter_transforms: TransformContainer
Transform parameters from sampling basis to waveform basis.
- class lisatools.sources.BBHCalculationController(*args, **kwargs)[source]
Bases:
CalculationController
Calculation controller for BBHs.
- Parameters:
*args (
Any
) – Args forCalculationController
.*kwargs (
Any
) – Kwargs forCalculationController
.
- get_cov(*params, more_accurate=False, eps=1e-09, deriv_inds=None, precision=False, **kwargs)[source]
Get covariance matrix.
- Parameters:
*params (
Any
) – Parameters for BBH. Must includef_ref
.more_accurate (
bool
, default:False
) – IfTrue
, run a more accurate derivate requiring 2x more waveform generations.eps (
float
, default:1e-09
) – Absolute derivative step size. Seelisatools.diagnostic.info_matrix()
.deriv_inds (
ndarray
, default:None
) – Subset of parameters of interest for which to calculate the information matrix, by index. IfNone
, it will benp.arange(len(params))
.precision (
bool
, default:False
) – IfTrue
, uses 500-dps precision to compute the information matrix inverse (requires mpmath). This is typically a good idea as the information matrix can be highly ill-conditioned.**kwargs (
Any
) – Kwargs for waveform generation.
- Return type:
Tuple
[ndarray
,ndarray
]- Returns:
Parameters and covariance matrix.
- class lisatools.sources.GBCalculationController(*args, **kwargs)[source]
Bases:
CalculationController
Calculation controller for GBs.
- Parameters:
*args (
Any
) – Args forCalculationController
.*kwargs (
Any
) – Kwargs forCalculationController
.
- get_cov(*params, more_accurate=False, eps=1e-09, deriv_inds=None, precision=False, **kwargs)[source]
Get covariance matrix.
- Parameters:
*params (
ndarray
|list
) – Parameters for GB. Must includefddot
.more_accurate (
bool
, default:False
) – IfTrue
, run a more accurate derivate requiring 2x more waveform generations.eps (
float
, default:1e-09
) – Absolute derivative step size. Seelisatools.diagnostic.info_matrix()
.deriv_inds (
ndarray
, default:None
) – Subset of parameters of interest for which to calculate the information matrix, by index. IfNone
, it will benp.arange(len(params))
.precision (
bool
, default:False
) –If
True
, uses 500-dps precision to compute the information matrix inverse (requires mpmath). This is typically a good idea as the information matrix can be highly ill-conditioned.**kwargs (
Any
) – Kwargs for waveform generation.
- Return type:
Tuple
[ndarray
,ndarray
]- Returns:
Parameters and covariance matrix.
- class lisatools.sources.EMRICalculationController(*args, **kwargs)[source]
Bases:
CalculationController
Calculation controller for EMRIs.
- Parameters:
*args (
Any
) – Args forCalculationController
.*kwargs (
Any
) – Kwargs forCalculationController
.
- get_cov(*params, more_accurate=False, eps=1e-09, deriv_inds=None, precision=False, **kwargs)[source]
Get covariance matrix.
- Parameters:
*params (
ndarray
|list
) – Parameters for EMRIs.more_accurate (
bool
, default:False
) – IfTrue
, run a more accurate derivate requiring 2x more waveform generations.eps (
float
, default:1e-09
) – Absolute derivative step size. Seelisatools.diagnostic.info_matrix()
.deriv_inds (
ndarray
, default:None
) – Subset of parameters of interest for which to calculate the information matrix, by index. IfNone
, it will benp.arange(len(params))
.precision (
bool
, default:False
) –If
True
, uses 500-dps precision to compute the information matrix inverse (requires mpmath). This is typically a good idea as the information matrix can be highly ill-conditioned.**kwargs (
Any
) – Kwargs for waveform generation.
- Return type:
Tuple
[ndarray
,ndarray
]- Returns:
Parameters and covariance matrix.
Default Response Settings for GW tools
- class lisatools.sources.defaultresponse.DefaultResponseKwargs[source]
Bases:
object
Default response kwargs
Default response kwargs for fastlisaresponse.ResponseWrapper.
t0=30000.0
order=25
tdi="1st generation"
tdi_chan="AET"
orbits=EqualArmlengthOrbits()
- t0 = 30000.0
- order = 25
- tdi = '1st generation'
- tdi_chan = 'AET'
- orbits = <lisatools.detector.EqualArmlengthOrbits object>