Package: gwfast
gwfastFisher Information Matrix package for GW cosmology, written in Python and based on automatic differentiation.The detail of implementations and results can be found in the papersarXiv:2207.02771andarXiv:2207.06910.Waveforms are also separatley released asWF4Py.Developed byFrancesco IacovelliandMichele Mancarella.Code OrganizationThe organisation of the repository is the following:gwfast/gwfast/
			├── gwfastGlobals.py 
					Physical constants, positions and duty cycles of existing detectors
			├── gwfastUtils.py
					Auxiliary functions: angles and time conversions, ...
			├── waveforms.py
					Abstract class WaveFormModel; different sublasses for each wf model - TaylorF2, IMRPhenomD, ...
			├── signal.py
					A class to compute the GW signal in a single detector (L shaped or triangular), the SNR and the Fisher matrix
			├── fisherTools.py
					Covariance matrix and functions to perform sanity checks on the Fisher - condition number, inversion error, marginalization, localization area, plotting tools
			├── network.py
					A class to model a network of detectors with different locations

gwfast/psds/ 
			Some detector Power Spectral Densities 
			
gwfast/WFfiles/ 
			Text files needed for waveform computation
			
gwfast/run/
			Script to run in parallel on catalogs
			
gwfast/docs/ 
			Code documentation in SphinxSummaryDocumentationInstallationUsageCitationDocumentationgwfast has its documentation hosted on Read the Docshere, and it can also be built from thedocsdirectory.InstallationTo install the package without cloning the git repository, and a CPU-only version of JAXpip install --upgrade pip
pip install gwfastorpip install --upgrade pip
pip install --upgrade "jax[cpu]" 
pip install git+https://github.com/CosmoStatGW/gwfastTo install a JAX version for GPU or TPU proceed as explained inhttps://github.com/google/jax#installation.UsageAll details are reported in the accompanying paperarXiv:2207.06910and some examples are in thegwfast_tutorialnotebook.To initialise awaveformobject simply run, e.g.mywf=waveforms.IMRPhenomD()(more details on the waveforms are available in their dedicated git repositoryWF4Py)and to build asignalobjectMyDet=signal.GWSignal(mywf,psd_path='path/to/Detector/psd',detector_shape='L',det_lat=43.6,det_long=10.5,det_xax=115.)More signal objects can be used to form anetworkmyNet=network.DetNet({'Det1':MyDet1,'Det2':MyDet2,...})Then computingSNRsandFisher matricesis as easy asSNRs=myNet.SNR(events)FisherMatrs=myNet.FisherMatr(events)whereeventsis a dictionary containing the parameters of the chosen events.Finally, to compute thecovariance matricesit is sufficient toCovMatr(FisherMatrs,events)For a list of features implemented after the publication ofarXiv:2207.06910see theNEW_FEATURESfile and thenew_features_tutorialnotebookCitationIf using this software, please cite this repository and the papersarXiv:2207.02771andarXiv:2207.06910. Bibtex:@article{Iacovelli:2022bbs,
    author = "Iacovelli, Francesco and Mancarella, Michele and Foffa, Stefano and Maggiore, Michele",
    title = "{Forecasting the Detection Capabilities of Third-generation Gravitational-wave Detectors Using GWFAST}",
    eprint = "2207.02771",
    archivePrefix = "arXiv",
    primaryClass = "gr-qc",
    doi = "10.3847/1538-4357/ac9cd4",
    journal = "Astrophys. J.",
    volume = "941",
    number = "2",
    pages = "208",
    year = "2022"
}@article{Iacovelli:2022mbg,
    author = "Iacovelli, Francesco and Mancarella, Michele and Foffa, Stefano and Maggiore, Michele",
    title = "{GWFAST: A Fisher Information Matrix Python Code for Third-generation Gravitational-wave Detectors}",
    eprint = "2207.06910",
    archivePrefix = "arXiv",
    primaryClass = "astro-ph.IM",
    doi = "10.3847/1538-4365/ac9129",
    journal = "Astrophys. J. Supp.",
    volume = "263",
    number = "1",
    pages = "2",
    year = "2022"
}gwfast documentationDocumentation requirementsIn order to build the documentation, the following packages have to be installedsphinxsphinx_rtd_themenbsphinxmyst-parsersphinx-copybuttonreadthedocs-sphinx-searchdocutilsTo install them just run in the terminalpip install --upgrade pip
pip install -r docs/docs_requirements.txtBuild the documentationThe HTML documentation can easily be built from thedocsfolder, running in the terminalcd docs/
make htmlThe produced.htmlfiles will be stored in the directory./build/html.It is also possible to build a LaTex version, running in the terminalmake latexpdfthe output pdf of this command will be./build/latex/gwfast.pdf.gwfast/psdsWe here list the sources of the available Power Spectral Densities, PSDs, or Amplitude Spectral Densities, ASDs available in GWFast, in alphabetical orderce_strain/Cosmic Explorer ASDs fromScience-Driven Tunable Design of Cosmic Explorer Detectors, available athttps://dcc.cosmicexplorer.org/cgi-bin/DocDB/ShowDocument?.submit=Identifier&docid=T2000017&version=.The folder contains ASDs for:the baseline 40km detector (cosmic_explorer)the baseline 20 km detector compact binary tuned (cosmic_explorer_20km)the 20 km detector tuned for post-merger signals (cosmic_explorer_20km_pm)the 40 km detector tuned for low-freqency signals (cosmic_explorer_40km_lf)ET_designs_comparison_paper/Einstein Telescope ASDs fromScience with the Einstein Telescope: a comparison of different designs, available athttps://apps.et-gw.eu/tds/?content=3&r=18213.The folder contains two subfolders with ASDs for:the high frequency (HF) only ET instrument with a length of 10 km (ETLength10km), 15 km (ETLength15km) and 20 km (ETLength20km), in theHF_only/folderthe full high frequency (HF) and low frequency (LF) ET instrument in the cryogenic design with a length of 10 km (ETLength10km), 15 km (ETLength15km) and 20 km (ETLength20km), in theHFLF_cryo/folderET-0000A-18.txtPublicET-Dsensnitivity curve.Available athttps://apps.et-gw.eu/tds/?content=3&r=14065. Notice that we kept only the first and last column of the file, corresponding to the frequencies and the total ET-D sensitivity, obtained combining the LF and HF instruments.LVC_O1O2O3/The folder contains ASDs for the LIGO and Virgo detectors during their O1, O2 and O3 observing runs, extracted in specific moment from actual data.Available athttps://dcc.ligo.org/P1800374/public/for O1 and O2,https://dcc.ligo.org/LIGO-P2000251/publicfor O3a, and computed usingPyCBCaround the times indicated in the caption of Fig. 2 ofhttps://arxiv.org/abs/2111.03606.observing_scenarios_paper/ASDs used for the paperProspects for observing and localizing gravitational-wave transients with Advanced LIGO, Advanced Virgo and KAGRA, KAGRA Collaboration, LIGO Scientific Collaboration and Virgo Collaboration.Available athttps://dcc.ligo.org/LIGO-T2000012/public.The folder contains ASDs for the Advanced LIGO, Advanced Virgo and KAGRA detectors during the O3, O4 and O5 observing runs.unofficial_curves_all_dets/Public ASDs for both the current and future generation of detectors (last update in January 2020).Available athttps://dcc.ligo.org/LIGO-T1500293/public, in thecurves_Jan_2020.zipfile.The folder contains ASDs for:Advanced LIGO and Advanced Virgo during both the O1, O2 and O3 runs, at design sensitivity and in theAdvanced plusstage;KAGRA;LIGO Voyager;ET-D;CE1 and CE2.