# **GWDALI Software**
Software developed to perform parameter estimations of gravitational waves from compact objects coalescence (CBC) via Gaussian and Beyond-Gaussian approximation of GW likelihood. The Gaussian approximation is related to Fisher Matrix, from which it is direct to compute the covariance matrix by inverting the Fisher Matrix **[1]**. GWDALI also deals with the not-so-infrequent cases of Fisher Matrix with zero-determinant. The Beyond-Gaussian approach uses the Derivative Approximation for LIkelihoods (DALI) algorithm proposed in **[2]** and applied to gravitational waves in **[3]**, whose model parameter uncertainties are estimated via Monte Carlo sampling but less costly than using the GW likelihood with no approximation.
## Installation
To install the software run the command below:
```
$ pip install gwdali
```
## Documentation
Available in [https://gwdali.readthedocs.io/en/latest/](https://gwdali.readthedocs.io/en/latest/)
## Usage [example]
import numpy as np
#-------------------
import GWDALI as gw
#-------------------
from tqdm import trange
from astropy.cosmology import FlatLambdaCDM
cosmo = FlatLambdaCDM(70,0.3)
rad = np.pi/180 ; deg = 1./rad
#--------------------------------------------
# Detector, position and orientation
#--------------------------------------------
FreeParams = ['DL','iota','psi','phi_coal']
# Cosmic Explorer:
det0 = {"name":"CE","lon":-119,"lat":46,"rot":45,"shape":90}
# Einstein Telescope:
det1 = {"name":"ET","lon":10,"lat":43,"rot":0,"shape":60}
det2 = {"name":"ET","lon":10,"lat":43,"rot":120,"shape":60}
det3 = {"name":"ET","lon":10,"lat":43,"rot":-120,"shape":60}
#------------------------------------------------------
# Setting Injections (Single detection)
#------------------------------------------------------
z = 0.1 # Redshift
params = {}
params['m1'] = 1.3*(1+z) # mass of the first object [solar mass]
params['m2'] = 1.5*(1+z) # mass of the second object [solar mass]
params['z'] = z
params['RA'] = np.random.uniform(-180,180)
params['Dec'] = (np.pi/2-np.arccos(np.random.uniform(-1,1)))*deg
params['DL'] = cosmo.luminosity_distance(z).value/1.e3 # Gpc
params['iota'] = np.random.uniform(0,np.pi) # Inclination angle (rad)
params['psi'] = np.random.uniform(-np.pi,np.pi) # Polarization angle (rad)
params['t_coal'] = 0 # Coalescence time
params['phi_coal'] = 0 # Coalescence phase
# Spins:
params['sx1'] = 0
params['sy1'] = 0
params['sz1'] = 0
params['sx2'] = 0
params['sy2'] = 0
params['sz2'] = 0
#----------------------------------------------------------------------
# "approximant" options:
# [Leading_Order, TaylorF2_py, ...] or any lal approximant
#----------------------------------------------------------------------
# "dali_method" options:
# [Fisher, Fisher_Sampling, Doublet, Triplet, Standard]
#----------------------------------------------------------------------
res = gw.GWDALI( Detection_Dict = params,
FreeParams = FreeParams,
detectors = [det0,det1,det2,det3], # Einstein Telescope + Cosmic Explorer
approximant = 'TaylorF2_py',
dali_method = 'Doublet',
sampler_method = 'nestle', # Same as Bilby sampling method
save_fisher = False,
save_cov = False,
plot_corner = False,
save_samples = False,
hide_info = True,
index = 1,
rcond = 1.e-4,
npoints=300) # points for "nested sampling" or steps/walkers for "MCMC"
Samples = res['Samples']
Fisher = res['Fisher']
CovFish = res['CovFisher']
Cov = res['Covariance']
Rec = res['Recovery']
Err = res['Error']
SNR = res['SNR']
## References
[1] L. S. Finn and D. F. Chernoff, “Observing binary inspiral in gravitational radiation: One interferometer,” Phys. Rev. D, vol. 47, pp. 2198–2219, 1993.
[2] E. Sellentin, M. Quartin, and L. Amendola, “Breaking the spell of gaussianity: forecasting with higher order fisher matrices,” Monthly Notices of the Royal Astronomical Society, vol. 441, no. 2, pp. 1831–1840, 2014.
[3] Z. Wang, C. Liu, J. Zhao, and L. Shao, “Extending the fisher information matrix in gravitational-wave data analysis,” arXiv preprint arXiv:2203.02670, 2022.
## Authors
- **Josiel Mendonça Soares de Souza** (developer)
- **Riccardo Sturani** (collaborator)
## License
MIT License
Raw data
{
"_id": null,
"home_page": "",
"name": "GWDALI",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "fisher matrix,gravitational waves,gw,dali",
"author": "Josiel Mendon\u00e7a Soares de Souza",
"author_email": "jmsdsouza.phd@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/e6/16/010937487c387af87d7713e266fb13f8914a9e732d5e9982e491590cb038/GWDALI-0.1.0.tar.gz",
"platform": null,
"description": "# **GWDALI Software**\n\nSoftware developed to perform parameter estimations of gravitational waves from compact objects coalescence (CBC) via Gaussian and Beyond-Gaussian approximation of GW likelihood. The Gaussian approximation is related to Fisher Matrix, from which it is direct to compute the covariance matrix by inverting the Fisher Matrix **[1]**. GWDALI also deals with the not-so-infrequent cases of Fisher Matrix with zero-determinant. The Beyond-Gaussian approach uses the Derivative Approximation for LIkelihoods (DALI) algorithm proposed in **[2]** and applied to gravitational waves in **[3]**, whose model parameter uncertainties are estimated via Monte Carlo sampling but less costly than using the GW likelihood with no approximation.\n\n\n## Installation\n\nTo install the software run the command below:\n\n```\n$ pip install gwdali\n```\n\n## Documentation\n\nAvailable in [https://gwdali.readthedocs.io/en/latest/](https://gwdali.readthedocs.io/en/latest/)\n \n## Usage [example]\n import numpy as np\n #-------------------\n import GWDALI as gw\n #-------------------\n from tqdm import trange\n from astropy.cosmology import FlatLambdaCDM\n cosmo = FlatLambdaCDM(70,0.3)\n\n rad = np.pi/180 ; deg = 1./rad\n #--------------------------------------------\n # Detector, position and orientation\n #--------------------------------------------\n FreeParams = ['DL','iota','psi','phi_coal']\n\n # Cosmic Explorer:\n det0 = {\"name\":\"CE\",\"lon\":-119,\"lat\":46,\"rot\":45,\"shape\":90}\n # Einstein Telescope:\n det1 = {\"name\":\"ET\",\"lon\":10,\"lat\":43,\"rot\":0,\"shape\":60}\n det2 = {\"name\":\"ET\",\"lon\":10,\"lat\":43,\"rot\":120,\"shape\":60}\n det3 = {\"name\":\"ET\",\"lon\":10,\"lat\":43,\"rot\":-120,\"shape\":60}\n\n #------------------------------------------------------\n # Setting Injections (Single detection)\n #------------------------------------------------------\n z = 0.1 # Redshift\n\n params = {}\n params['m1'] = 1.3*(1+z) # mass of the first object [solar mass]\n params['m2'] = 1.5*(1+z) # mass of the second object [solar mass]\n params['z'] = z\n params['RA'] = np.random.uniform(-180,180)\n params['Dec'] = (np.pi/2-np.arccos(np.random.uniform(-1,1)))*deg\n params['DL'] = cosmo.luminosity_distance(z).value/1.e3 # Gpc\n params['iota'] = np.random.uniform(0,np.pi) # Inclination angle (rad)\n params['psi'] = np.random.uniform(-np.pi,np.pi) # Polarization angle (rad)\n params['t_coal'] = 0 # Coalescence time\n params['phi_coal'] = 0 # Coalescence phase\n # Spins:\n params['sx1'] = 0\n params['sy1'] = 0\n params['sz1'] = 0\n params['sx2'] = 0\n params['sy2'] = 0\n params['sz2'] = 0\n\n #----------------------------------------------------------------------\n # \"approximant\" options:\n # [Leading_Order, TaylorF2_py, ...] or any lal approximant\n #----------------------------------------------------------------------\n # \"dali_method\" options:\n # [Fisher, Fisher_Sampling, Doublet, Triplet, Standard]\n #----------------------------------------------------------------------\n res = gw.GWDALI( Detection_Dict = params,\n FreeParams = FreeParams,\n detectors = [det0,det1,det2,det3], # Einstein Telescope + Cosmic Explorer\n approximant = 'TaylorF2_py',\n dali_method = 'Doublet',\n sampler_method = 'nestle', # Same as Bilby sampling method\n save_fisher = False,\n save_cov = False,\n plot_corner = False,\n save_samples = False,\n hide_info = True,\n index = 1,\n rcond = 1.e-4,\n npoints=300) # points for \"nested sampling\" or steps/walkers for \"MCMC\"\n\n Samples = res['Samples']\n Fisher = res['Fisher']\n CovFish = res['CovFisher']\n Cov = res['Covariance']\n Rec = res['Recovery']\n Err = res['Error']\n SNR = res['SNR']\n\n## References\n\n[1] L. S. Finn and D. F. Chernoff, \u201cObserving binary inspiral in gravitational radiation: One interferometer,\u201d Phys. Rev. D, vol. 47, pp. 2198\u20132219, 1993.\n\n[2] E. Sellentin, M. Quartin, and L. Amendola, \u201cBreaking the spell of gaussianity: forecasting with higher order fisher matrices,\u201d Monthly Notices of the Royal Astronomical Society, vol. 441, no. 2, pp. 1831\u20131840, 2014.\n\n[3] Z. Wang, C. Liu, J. Zhao, and L. Shao, \u201cExtending the fisher information matrix in gravitational-wave data analysis,\u201d arXiv preprint arXiv:2203.02670, 2022.\n\n## Authors\n\n- **Josiel Mendon\u00e7a Soares de Souza** (developer)\n- **Riccardo Sturani** (collaborator)\n\n## License\n\nMIT License\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "A Fisher-Based Software for Parameter Estimation from Gravitational Waves",
"version": "0.1.0",
"project_urls": null,
"split_keywords": [
"fisher matrix",
"gravitational waves",
"gw",
"dali"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a695990dd0bcb7e9f2b0c3af7a54231c0aac882ecb1b7df2c966a19656dd3608",
"md5": "ba3064cb02a5597933df68bdec6d8a29",
"sha256": "e6641b49c376ab3618c5cd29386021195eca16f82d589e6e16bb8cc4e1f76119"
},
"downloads": -1,
"filename": "GWDALI-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ba3064cb02a5597933df68bdec6d8a29",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 153158,
"upload_time": "2024-01-19T02:44:08",
"upload_time_iso_8601": "2024-01-19T02:44:08.622414Z",
"url": "https://files.pythonhosted.org/packages/a6/95/990dd0bcb7e9f2b0c3af7a54231c0aac882ecb1b7df2c966a19656dd3608/GWDALI-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e616010937487c387af87d7713e266fb13f8914a9e732d5e9982e491590cb038",
"md5": "7e2ceb770c92755f8027bb15ee725031",
"sha256": "1c1f5df1c4cae2a19e1bd184075ba76ec257a66a1ee8c8e4ef43ed0cb49df929"
},
"downloads": -1,
"filename": "GWDALI-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "7e2ceb770c92755f8027bb15ee725031",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 151546,
"upload_time": "2024-01-19T02:44:11",
"upload_time_iso_8601": "2024-01-19T02:44:11.169148Z",
"url": "https://files.pythonhosted.org/packages/e6/16/010937487c387af87d7713e266fb13f8914a9e732d5e9982e491590cb038/GWDALI-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-19 02:44:11",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "gwdali"
}