Skip to main content

A Python package to compute Fisher matrices for gravitational wave models

Project description

About

A Python package to compute Fisher matrices for gravitational wave models

See below for quickstart usage. You can also look at the examples folder, including an extensive tutorial.ipynb notebook tutorial.

Installation

Install from folder:

$ pip install .

Install from pip:

$ pip install fishergw

Usage of taylorf2

>>> from fishergw.taylorf2 import CompactObject, TaylorF2, Fisher
>>>
>>> mass_1, mass_2 = 1.6, 1.4
>>> luminosity_distance = 100
>>> spin_1, spin_2 = 0., 0.
>>> lamda_1, lamda_2 = 200, 350
>>> obj1 = CompactObject(mass_1,spin_1,Lamda=lamda_1)
>>> obj2 = CompactObject(mass_2,spin_2,Lamda=lamda_2)
>>> signal = TaylorF2(obj1,obj2,d_L=luminosity_distance,redshift=False)
>>>
>>> keys=['t_c','phi_c','M_c','eta','Lamda_T','chi_s','chi_a']
>>> logscale_keys = ['M_c','eta']
>>> fisher = Fisher(signal,detector='etd',\
>>>         keys=keys,logscale_keys=logscale_keys)
>>> fmin = 5
>>> fmax = signal.isco(mode='static')
>>>
>>> snr = fisher.snr(fmin,fmax,nbins=1e5)
>>> priors = {'chi_s':0.05,'chi_a':0.05}
>>> fisher_matrix = fisher.fisher_matrix(fmin,fmax,nbins=1e5,priors=priors)
>>> covariance_matrix = fisher.covariance_matrix(fisher_matrix)
>>> correlation_matrix = fisher.correlation_matrix(fisher_matrix)
>>> sigmas = fisher.sigma1d(fisher_matrix)
>>> samples = fisher.sample(covariance_matrix,nsamples=1e5)

Usage of ringdown

>>> from fishergw.ringdown import RingdownMultimode, Fisher
>>> from fishergw.ringdown.utils import qnm_Kerr, final_mass, final_spin,\
>>>     ringdown_absolute_amplitudes
>>> from fishergw.cosmology import redshift_from_distance
>>>
>>> mass_1_source, mass_2_source = 36, 30
>>> spin_1, spin_2 = 0, 0
>>> mass_f_source = final_mass(mass_1_source,mass_2_source,spin_1,spin_2)
>>> spin_f = final_spin(mass_1_source,mass_2_source,spin_1,spin_2)
>>>
>>> luminosity_distance = 100
>>> redshift = redshift_from_distance(luminosity_distance)
>>> mass_f = mass_f_source*(1+redshift)
>>>
>>> modes = [(2,2,0),(3,3,0)]
>>> freqs, taus, amps = [], [], []
>>> for mode in modes:
>>>     f,tau = qnm_Kerr(mass_f,spin_f,mode)
>>>     freqs.append(f)
>>>     taus.append(tau)
>>>     amps.append(ringdown_absolute_amplitude(mass_f,mass_1_source/mass_2_source,\
>>>         spin_1,spin_2,luminosity_distance)
>>> phis = [np.random.uniform(0,2*np.pi) for m in modes]
>>> signal = RingdownMultimode(modes,freqs,taus,amps,phis)
>>>
>>> fisher = Fisher(signal,detector='etd')
>>>
>>> snr = fisher.snr()
>>> fisher_matrix = fisher.fisher_matrix(nbins=1e5)
>>> sigmas = fisher.sigma1d(fisher_matrix)

Usage of cosmology

>>> from fishergw.cosmology import redshift_from_distance, distance_from_redshift
>>> z = redshift_from_distance(100)
>>> d_L = distance_from_redshift(z)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fishergw-0.0.3.tar.gz (1.6 MB view details)

Uploaded Source

File details

Details for the file fishergw-0.0.3.tar.gz.

File metadata

  • Download URL: fishergw-0.0.3.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for fishergw-0.0.3.tar.gz
Algorithm Hash digest
SHA256 6ed84c23bd701f526bbb47c88236bac7792b910a4f812c3b7f8d9d667d4509f0
MD5 8f3c89b18b460c28ee31f29cc0ca610b
BLAKE2b-256 ff4b8bcdf59fea09acecaee74b698dc494dd55cf796218b4c0c5435f644d2f84

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page