GW Source Tools
Waveform Base Classes
These waveform classes are used as base objects for specifically designed waveform tools in lisatools.sources.
BBHs
GBs
EMRIs
Calculation Controllers
These classes are used as simplified wrappers for investigative computations like SNR and covariance.
- class lisatools.sources.CalculationController(aet_template_gen: ~lisatools.sources.waveformbase.SNRWaveform | ~lisatools.sources.waveformbase.AETTDIWaveform, model: ~lisatools.detector.LISAModel, psd_kwargs: dict, Tobs: float, dt: float, psd: ~lisatools.sensitivity.Sensitivity = <class 'lisatools.sensitivity.A1TDISens'>)
Bases:
objectWrapper class to controll investigative computations.
- Parameters:
aet_template_gen – Template waveform generator.
model – Model for LISA.
psd_kwargs – psd_kwargs for
lisatools.sensitivity.get_sensitivity().Tobs – Observation time in years.
dt – Timestep in seconds.
psd – Sensitivity curve type to use. Default is
A1TDISensbecause we ignoreTin these simplified calculations and theAandEsensitivities are equivalent.
- property parameter_transforms: TransformContainer
Transform parameters from sampling basis to waveform basis.
- get_snr(*params: Any, **kwargs: Any) float
Compute the SNR.
- Parameters:
*params – Parameters to go into waveform generator.
**kwargs – Kwargs for waveform generator.
- Returns:
SNR.
- class lisatools.sources.BBHCalculationController(*args: Any, **kwargs: Any)
Bases:
CalculationControllerCalculation controller for BBHs.
- Parameters:
*args – Args for
CalculationController.*kwargs – Kwargs for
CalculationController.
- get_snr(*args: Any, **kwargs: Any) float
Compute the SNR.
- Parameters:
*params – Parameters to go into waveform generator.
**kwargs – Kwargs for waveform generator.
- Returns:
SNR.
- get_cov(*params: Any, more_accurate: bool = False, eps: float = 1e-09, deriv_inds: ndarray = None, precision: bool = False, **kwargs: Any) Tuple[ndarray, ndarray]
Get covariance matrix.
- Parameters:
*params – Parameters for BBH. Must include
f_ref.more_accurate – If
True, run a more accurate derivate requiring 2x more waveform generations.eps – Absolute derivative step size. See
lisatools.diagnostic.info_matrix().deriv_inds – Subset of parameters of interest for which to calculate the information matrix, by index. If
None, it will benp.arange(len(params)).precision – 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 – Kwargs for waveform generation.
- Returns:
Parameters and covariance matrix.
- class lisatools.sources.GBCalculationController(*args: Any, **kwargs: Any)
Bases:
CalculationControllerCalculation controller for GBs.
- Parameters:
*args – Args for
CalculationController.*kwargs – Kwargs for
CalculationController.
- get_cov(*params: ndarray | list, more_accurate: bool = False, eps: float = 1e-09, deriv_inds: ndarray = None, precision: bool = False, **kwargs: Any) Tuple[ndarray, ndarray]
Get covariance matrix.
- Parameters:
*params – Parameters for GB. Must include
fddot.more_accurate – If
True, run a more accurate derivate requiring 2x more waveform generations.eps – Absolute derivative step size. See
lisatools.diagnostic.info_matrix().deriv_inds – Subset of parameters of interest for which to calculate the information matrix, by index. If
None, it will benp.arange(len(params)).precision –
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 – Kwargs for waveform generation.
- Returns:
Parameters and covariance matrix.
- get_snr(*args: Any, **kwargs: Any) float
Compute the SNR.
- Parameters:
*params – Parameters to go into waveform generator.
**kwargs – Kwargs for waveform generator.
- Returns:
SNR.
- class lisatools.sources.EMRICalculationController(*args: Any, **kwargs: Any)
Bases:
CalculationControllerCalculation controller for EMRIs.
- Parameters:
*args – Args for
CalculationController.*kwargs – Kwargs for
CalculationController.
- get_cov(*params: ndarray | list, more_accurate: bool = False, eps: float = 1e-09, deriv_inds: ndarray = None, precision: bool = False, **kwargs: Any) Tuple[ndarray, ndarray]
Get covariance matrix.
- Parameters:
*params – Parameters for EMRIs.
more_accurate – If
True, run a more accurate derivate requiring 2x more waveform generations.eps – Absolute derivative step size. See
lisatools.diagnostic.info_matrix().deriv_inds – Subset of parameters of interest for which to calculate the information matrix, by index. If
None, it will benp.arange(len(params)).precision –
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 – Kwargs for waveform generation.
- Returns:
Parameters and covariance matrix.