Skip to main content

fitrd

This module implements the fitting algorithm described in Lim, Khanna, Apte, and Hughes (2019) to extract quasi-normal mode amplitudes from ringdown waveforms [1]. We provide some sample data and notebooks to demonstrate how to use this code

Installation

Dependencies include numpy, pandas, and qnm

To install, run pip install fitrd in the package directory. To test installation, run python tests/test_fitrd.py

During testing, we have found several potential installation issues

  • qnm requires numba, but numba requies numpy<1.21,>=1.17. To fix this, install a compatible version of numpy. We suggest creating a different python environment with a compatible numpy version
  • pip fails to install numba (numba is required by qnm). numba has a lot of dependencies that can lead to issues when not using conda (e.g. llvmlite) We suggest following instructions on the qnm github and installing the qnm package either with conda: conda install -c conda-forge qnm or installing from the source by cloning the repository. After qnm is installed, pip install fitrd should work
  • python 3.10 is not supported by several of the dependencies. If you have python 3.10 installed, you will have to downgrade to (or create new environment with) python >=3.7, <3.10

Formatting Waveform Files

The current version of the code expects the waveform data to be formatted in a particular way. The outgoing radiation must be decomposed into a set of -2-spin-weighted spherical harmonic modes, h(l,m) = h+(l,m) - 1j * hx(l,m). Each waveform file must contain all spherical modes with index m. The first column should contain the time, the subsequent columns should contain both the + and x components of each spherical mode, starting with l - abs(m) = 0 mode.

For example, a valid waveform file for m = 0 may have 7 columns: t, h+(0,0), hx(0,0), h+(1,0), hx(1,0), h+(2,0), hx(2,0). It may also have 11 columns: t, h+(0,0), hx(0,0), h+(1,0), hx(1,0), h+(2,0), hx(2,0), h+(3,0), hx(3,0), h+(4,0), hx(4,0). Even though modes with l < 2 are zero for gravitational radiation, they should still be included as columns in the waveform file.

The name of the waveform file should indicate which mode it contains. The naming convention is

  • f"hm{m}*.dat" for m >= 0
  • f"hmm{abs(m)}*.dat" for m < 0

User Inputs

There are several user-inputted parameters which we describe here.

  • m - The azimuthal index desribing the spherical modes and the QNM mode pairs to be extracted.
  • a - The spin parameter describing the spacetime.
  • t_fiducial - Fiducial time of the ringdown model. For quasi-circular EMRI plunges, we advocate for using the retarded time at which the small body crosses the equivalent equatorial light ring. However, this can be set to any value, such as the time when h(2,2) is maximized.
  • k_ell - The number of spheroidal modes pairs to include beyond max(2,abs(m)), as defined in Eq. (3.10) in [1].
  • t_start,t_end,t_window - Used in the fitrd.fitrd.postprocess function, which describe the range of times over which the spheroidal modes should be calculated, and how large the sliding window should be when averaging the spheroidal modes

References

  1. H. Lim, G. Khanna, A. Apte, and S. A. Hughes, Phys. Rev. D 100, 084032 (2019).
  2. S. A. Hughes, A. Apte, G. Khanna, and H. Lim, Phys. Rev. Lett. 123, 161101 (2019).
  3. A. Apte and S. A. Hughes, Phys. Rev. D 100, 084031 (2019).

Release files for fitrd 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fitrd 0.1.6
File Size Uploaded
fitrd-0.1.6.tar.gz 6.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fitrd 0.1.6
File Interpreter ABI Platform
fitrd-0.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 14.2 kB

Release files / fitrd-0.1.6.tar.gz

Download URL fitrd-0.1.6.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5acd16f50e3524fd17badb0cf19e533bda46ade700ffa825bfb610c99acc7002
BLAKE2b-256 checksum
How to use checksums
57b7fc0fc33d4344a0b01cf072f651b40e908901aa93a2cf15f3aacfd200238e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.0 importlib_metadata/4.0.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

Release files / fitrd-0.1.6-py3-none-any.whl

Download URL fitrd-0.1.6-py3-none-any.whl
Size 7.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f9185dac9bda8e4465292288151af72290f3bf204e7055edcb0d84682cbd0e1c
BLAKE2b-256 checksum
How to use checksums
3c7c28853259dd81f8b5e05774073787a7b226003a2bf607e6bfe8e935444f64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.0 importlib_metadata/4.0.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

Release history Release notifications | RSS feed

This release

0.1.6 This release

2 release files

0.1.5

2 release files

0.1.3

1 release file

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page