lalsuite 7.26.2.dev20251206__cp312-cp312-manylinux_2_28_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lal/__init__.py +145 -0
- lal/_lal.cpython-312-x86_64-linux-gnu.so +0 -0
- lal/_lal_swig.py +12 -0
- lal/antenna.py +1200 -0
- lal/git_version.py +64 -0
- lal/gpstime.py +233 -0
- lal/iterutils.py +408 -0
- lal/pipeline.py +3139 -0
- lal/rate.py +2455 -0
- lal/series.py +244 -0
- lal/utils/__init__.py +29 -0
- lal/utils/cache.py +379 -0
- lal/utils/series.py +277 -0
- lalapps/__init__.py +26 -0
- lalapps/bin/lal_cache +0 -0
- lalapps/bin/lal_fftw_wisdom +0 -0
- lalapps/bin/lal_fftwf_wisdom +0 -0
- lalapps/bin/lal_simd_detect +0 -0
- lalapps/bin/lal_tconvert +0 -0
- lalapps/bin/lal_version +0 -0
- lalapps/bin/lalapps_ComputeAntennaPattern +16 -0
- lalapps/bin/lalapps_ComputeFstatBenchmark +16 -0
- lalapps/bin/lalapps_ComputeFstatLatticeCount +16 -0
- lalapps/bin/lalapps_ComputeFstatMCUpperLimit +16 -0
- lalapps/bin/lalapps_ComputeFstatistic_v2 +16 -0
- lalapps/bin/lalapps_ComputePSD +16 -0
- lalapps/bin/lalapps_CopySFTs +16 -0
- lalapps/bin/lalapps_DistanceVsMass +0 -0
- lalapps/bin/lalapps_DriveHoughMulti +16 -0
- lalapps/bin/lalapps_FstatMetric_v2 +16 -0
- lalapps/bin/lalapps_HierarchSearchGCT +16 -0
- lalapps/bin/lalapps_HierarchicalSearch +16 -0
- lalapps/bin/lalapps_MakeSFTDAG +16 -0
- lalapps/bin/lalapps_MakeSFTs +16 -0
- lalapps/bin/lalapps_Makefakedata_v4 +16 -0
- lalapps/bin/lalapps_Makefakedata_v5 +16 -0
- lalapps/bin/lalapps_PredictFstat +16 -0
- lalapps/bin/lalapps_PrintDetectorState +16 -0
- lalapps/bin/lalapps_SFTclean +16 -0
- lalapps/bin/lalapps_SFTvalidate +16 -0
- lalapps/bin/lalapps_StringAddFrame +0 -0
- lalapps/bin/lalapps_StringSearch +0 -0
- lalapps/bin/lalapps_Weave +16 -0
- lalapps/bin/lalapps_WeaveCompare +16 -0
- lalapps/bin/lalapps_WeaveConcat +16 -0
- lalapps/bin/lalapps_WeaveSetup +16 -0
- lalapps/bin/lalapps_WriteSFTsfromSFDBs +16 -0
- lalapps/bin/lalapps_animate +0 -0
- lalapps/bin/lalapps_binj +0 -0
- lalapps/bin/lalapps_blindinj +0 -0
- lalapps/bin/lalapps_cache +16 -0
- lalapps/bin/lalapps_calfacs +0 -0
- lalapps/bin/lalapps_cbc_stochasticbank +0 -0
- lalapps/bin/lalapps_chirplen +0 -0
- lalapps/bin/lalapps_coh_PTF_inspiral +0 -0
- lalapps/bin/lalapps_coinj +0 -0
- lalapps/bin/lalapps_combine_crosscorr_toplists +16 -0
- lalapps/bin/lalapps_compareFstats +16 -0
- lalapps/bin/lalapps_compareSFTs +16 -0
- lalapps/bin/lalapps_create_time_correction_ephemeris +16 -0
- lalapps/bin/lalapps_dumpSFT +16 -0
- lalapps/bin/lalapps_effdist +0 -0
- lalapps/bin/lalapps_exc_resp +0 -0
- lalapps/bin/lalapps_fftw_wisdom +16 -0
- lalapps/bin/lalapps_fftwf_wisdom +16 -0
- lalapps/bin/lalapps_fits_header_getval +16 -0
- lalapps/bin/lalapps_fits_header_list +16 -0
- lalapps/bin/lalapps_fits_overview +16 -0
- lalapps/bin/lalapps_fits_table_list +16 -0
- lalapps/bin/lalapps_fr_ninja +0 -0
- lalapps/bin/lalapps_frextr +0 -0
- lalapps/bin/lalapps_frinfo +0 -0
- lalapps/bin/lalapps_frjoin +0 -0
- lalapps/bin/lalapps_frread +0 -0
- lalapps/bin/lalapps_frview +0 -0
- lalapps/bin/lalapps_gwf2xml +0 -0
- lalapps/bin/lalapps_heterodyne_pulsar +16 -0
- lalapps/bin/lalapps_inspawgfile +0 -0
- lalapps/bin/lalapps_inspfrinj +0 -0
- lalapps/bin/lalapps_inspinj +0 -0
- lalapps/bin/lalapps_inspiralDistance +0 -0
- lalapps/bin/lalapps_knope +16 -0
- lalapps/bin/lalapps_knope_automation_script +16 -0
- lalapps/bin/lalapps_knope_collate_results +16 -0
- lalapps/bin/lalapps_knope_result_page +16 -0
- lalapps/bin/lalapps_makeblindinj +85 -0
- lalapps/bin/lalapps_makeblindinj_himass +67 -0
- lalapps/bin/lalapps_ninja +0 -0
- lalapps/bin/lalapps_path2cache +16 -0
- lalapps/bin/lalapps_power +0 -0
- lalapps/bin/lalapps_pulsar_crosscorr_v2 +16 -0
- lalapps/bin/lalapps_pulsar_frequency_evolution +16 -0
- lalapps/bin/lalapps_pulsar_parameter_estimation_nested +16 -0
- lalapps/bin/lalapps_random_bank +0 -0
- lalapps/bin/lalapps_randombank +0 -0
- lalapps/bin/lalapps_run_pulsar_crosscorr_v2 +16 -0
- lalapps/bin/lalapps_searchsum2cache +16 -0
- lalapps/bin/lalapps_spec_avg +16 -0
- lalapps/bin/lalapps_spec_avg_long +16 -0
- lalapps/bin/lalapps_spec_coherence +16 -0
- lalapps/bin/lalapps_spininj +0 -0
- lalapps/bin/lalapps_splitSFTs +16 -0
- lalapps/bin/lalapps_splitbank +0 -0
- lalapps/bin/lalapps_ssbtodetector +16 -0
- lalapps/bin/lalapps_synthesizeBstatMC +16 -0
- lalapps/bin/lalapps_synthesizeLVStats +16 -0
- lalapps/bin/lalapps_synthesizeTransientStats +16 -0
- lalapps/bin/lalapps_tconvert +16 -0
- lalapps/bin/lalapps_tmpltbank +0 -0
- lalapps/bin/lalapps_version +0 -0
- lalapps/bin/lalapps_xtefitstoframe +0 -0
- lalapps/bin/lalburst_version +0 -0
- lalapps/bin/lalfr-cat +0 -0
- lalapps/bin/lalfr-cksum +0 -0
- lalapps/bin/lalfr-cut +0 -0
- lalapps/bin/lalfr-dump +0 -0
- lalapps/bin/lalfr-fmt +0 -0
- lalapps/bin/lalfr-paste +0 -0
- lalapps/bin/lalfr-print +0 -0
- lalapps/bin/lalfr-split +0 -0
- lalapps/bin/lalfr-stat +0 -0
- lalapps/bin/lalfr-stream +0 -0
- lalapps/bin/lalfr-vis +0 -0
- lalapps/bin/lalframe_version +0 -0
- lalapps/bin/lalinference_bench +0 -0
- lalapps/bin/lalinference_burst +0 -0
- lalapps/bin/lalinference_datadump +0 -0
- lalapps/bin/lalinference_injectedlike +0 -0
- lalapps/bin/lalinference_mpi_wrapper +59 -0
- lalapps/bin/lalinference_nest +0 -0
- lalapps/bin/lalinference_version +0 -0
- lalapps/bin/lalinspiral_version +0 -0
- lalapps/bin/lalmetaio_version +0 -0
- lalapps/bin/lalpulsar_ComputeAntennaPattern +0 -0
- lalapps/bin/lalpulsar_ComputeFstatBenchmark +0 -0
- lalapps/bin/lalpulsar_ComputeFstatLatticeCount +0 -0
- lalapps/bin/lalpulsar_ComputeFstatMCUpperLimit +0 -0
- lalapps/bin/lalpulsar_ComputeFstatistic_v2 +0 -0
- lalapps/bin/lalpulsar_ComputePSD +0 -0
- lalapps/bin/lalpulsar_DriveHoughMulti +0 -0
- lalapps/bin/lalpulsar_FstatMetric_v2 +0 -0
- lalapps/bin/lalpulsar_HierarchSearchGCT +0 -0
- lalapps/bin/lalpulsar_HierarchicalSearch +0 -0
- lalapps/bin/lalpulsar_MakeSFTs +0 -0
- lalapps/bin/lalpulsar_Makefakedata_v4 +0 -0
- lalapps/bin/lalpulsar_Makefakedata_v5 +0 -0
- lalapps/bin/lalpulsar_PredictFstat +0 -0
- lalapps/bin/lalpulsar_PrintDetectorState +0 -0
- lalapps/bin/lalpulsar_SFTclean +0 -0
- lalapps/bin/lalpulsar_SFTvalidate +0 -0
- lalapps/bin/lalpulsar_Weave +0 -0
- lalapps/bin/lalpulsar_WeaveCompare +0 -0
- lalapps/bin/lalpulsar_WeaveConcat +0 -0
- lalapps/bin/lalpulsar_WeaveSetup +0 -0
- lalapps/bin/lalpulsar_WriteSFTsfromSFDBs +0 -0
- lalapps/bin/lalpulsar_compareFstats +0 -0
- lalapps/bin/lalpulsar_compareSFTs +0 -0
- lalapps/bin/lalpulsar_create_time_correction_ephemeris +0 -0
- lalapps/bin/lalpulsar_crosscorr_v2 +0 -0
- lalapps/bin/lalpulsar_dumpSFT +0 -0
- lalapps/bin/lalpulsar_fits_header_getval +0 -0
- lalapps/bin/lalpulsar_fits_header_list +0 -0
- lalapps/bin/lalpulsar_fits_overview +0 -0
- lalapps/bin/lalpulsar_fits_table_list +0 -0
- lalapps/bin/lalpulsar_frequency_evolution +0 -0
- lalapps/bin/lalpulsar_heterodyne +0 -0
- lalapps/bin/lalpulsar_parameter_estimation_nested +0 -0
- lalapps/bin/lalpulsar_spec_avg +0 -0
- lalapps/bin/lalpulsar_spec_avg_long +0 -0
- lalapps/bin/lalpulsar_spec_coherence +0 -0
- lalapps/bin/lalpulsar_splitSFTs +0 -0
- lalapps/bin/lalpulsar_ssbtodetector +0 -0
- lalapps/bin/lalpulsar_synthesizeBstatMC +0 -0
- lalapps/bin/lalpulsar_synthesizeLVStats +0 -0
- lalapps/bin/lalpulsar_synthesizeTransientStats +0 -0
- lalapps/bin/lalpulsar_version +0 -0
- lalapps/bin/lalsim-bh-qnmode +0 -0
- lalapps/bin/lalsim-bh-ringdown +0 -0
- lalapps/bin/lalsim-bh-sphwf +0 -0
- lalapps/bin/lalsim-burst +0 -0
- lalapps/bin/lalsim-detector-noise +0 -0
- lalapps/bin/lalsim-detector-strain +0 -0
- lalapps/bin/lalsim-inject +0 -0
- lalapps/bin/lalsim-inspiral +0 -0
- lalapps/bin/lalsim-ns-eos-table +0 -0
- lalapps/bin/lalsim-ns-mass-radius +0 -0
- lalapps/bin/lalsim-ns-params +0 -0
- lalapps/bin/lalsim-sgwb +0 -0
- lalapps/bin/lalsim-unicorn +0 -0
- lalapps/bin/lalsimulation_version +0 -0
- lalapps/cosmicstring.py +691 -0
- lalapps/data/BNSMasses.dat +65022 -0
- lalapps/data/CorrelationMatrix.csv +15 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF1_META.dat +1882 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF2_META.dat +1939 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF3_META.dat +1784 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF4_META.dat +2074 -0
- lalapps/data/LALSimNeutronStarEOS_ALF1.dat +435 -0
- lalapps/data/LALSimNeutronStarEOS_ALF2.dat +453 -0
- lalapps/data/LALSimNeutronStarEOS_ALF3.dat +441 -0
- lalapps/data/LALSimNeutronStarEOS_ALF4.dat +441 -0
- lalapps/data/LALSimNeutronStarEOS_AP1.dat +212 -0
- lalapps/data/LALSimNeutronStarEOS_AP2.dat +212 -0
- lalapps/data/LALSimNeutronStarEOS_AP3.dat +212 -0
- lalapps/data/LALSimNeutronStarEOS_AP4.dat +210 -0
- lalapps/data/LALSimNeutronStarEOS_APR.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_APR4_EPP.dat +1447 -0
- lalapps/data/LALSimNeutronStarEOS_BBB2.dat +84 -0
- lalapps/data/LALSimNeutronStarEOS_BGN1H1.dat +123 -0
- lalapps/data/LALSimNeutronStarEOS_BHF_BBB2.dat +499 -0
- lalapps/data/LALSimNeutronStarEOS_BL_CHIRAL_META.dat +1534 -0
- lalapps/data/LALSimNeutronStarEOS_BPAL12.dat +61 -0
- lalapps/data/LALSimNeutronStarEOS_BSK19.dat +310 -0
- lalapps/data/LALSimNeutronStarEOS_BSK20.dat +310 -0
- lalapps/data/LALSimNeutronStarEOS_BSK21.dat +310 -0
- lalapps/data/LALSimNeutronStarEOS_ENG.dat +108 -0
- lalapps/data/LALSimNeutronStarEOS_FPS.dat +129 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_BSK14_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_DHSL59_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_DHSL69_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_F0_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H1_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H2_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H3_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H4_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H5_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_LN55_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_SLY5_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GNH3.dat +71 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_DD2_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_DDME2_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_FSU2H_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_FSU2_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_NL3WRL55_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GS1.dat +136 -0
- lalapps/data/LALSimNeutronStarEOS_GS2.dat +100 -0
- lalapps/data/LALSimNeutronStarEOS_H1.dat +114 -0
- lalapps/data/LALSimNeutronStarEOS_H2.dat +114 -0
- lalapps/data/LALSimNeutronStarEOS_H3.dat +98 -0
- lalapps/data/LALSimNeutronStarEOS_H4.dat +664 -0
- lalapps/data/LALSimNeutronStarEOS_H5.dat +703 -0
- lalapps/data/LALSimNeutronStarEOS_H6.dat +509 -0
- lalapps/data/LALSimNeutronStarEOS_H7.dat +703 -0
- lalapps/data/LALSimNeutronStarEOS_HQC18.dat +388 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V1.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V1_BSK24.dat +1388 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V_BSK24.dat +1398 -0
- lalapps/data/LALSimNeutronStarEOS_MPA1.dat +102 -0
- lalapps/data/LALSimNeutronStarEOS_MS1.dat +122 -0
- lalapps/data/LALSimNeutronStarEOS_MS1B.dat +126 -0
- lalapps/data/LALSimNeutronStarEOS_MS1B_PP.dat +1447 -0
- lalapps/data/LALSimNeutronStarEOS_MS1_PP.dat +1447 -0
- lalapps/data/LALSimNeutronStarEOS_MS2.dat +48 -0
- lalapps/data/LALSimNeutronStarEOS_PAL6.dat +148 -0
- lalapps/data/LALSimNeutronStarEOS_PCL2.dat +134 -0
- lalapps/data/LALSimNeutronStarEOS_PCP_BSK24_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_PS.dat +165 -0
- lalapps/data/LALSimNeutronStarEOS_QMC700.dat +117 -0
- lalapps/data/LALSimNeutronStarEOS_RG_SLY4_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_RS.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_RS_BSK24.dat +1356 -0
- lalapps/data/LALSimNeutronStarEOS_SK255.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SK255_BSK24.dat +1066 -0
- lalapps/data/LALSimNeutronStarEOS_SK272.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKA.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKA_BSK24.dat +1433 -0
- lalapps/data/LALSimNeutronStarEOS_SKB.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKB_BSK24.dat +1373 -0
- lalapps/data/LALSimNeutronStarEOS_SKI2.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI2_BSK24.dat +1348 -0
- lalapps/data/LALSimNeutronStarEOS_SKI3.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI3_BSK24.dat +1355 -0
- lalapps/data/LALSimNeutronStarEOS_SKI4.dat +497 -0
- lalapps/data/LALSimNeutronStarEOS_SKI4_BSK24.dat +1348 -0
- lalapps/data/LALSimNeutronStarEOS_SKI5.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI6.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI6_BSK24.dat +1358 -0
- lalapps/data/LALSimNeutronStarEOS_SKMP.dat +498 -0
- lalapps/data/LALSimNeutronStarEOS_SKOP.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKOP_BSK24.dat +1373 -0
- lalapps/data/LALSimNeutronStarEOS_SLY.dat +99 -0
- lalapps/data/LALSimNeutronStarEOS_SLY2.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SLY230A.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SLY230A_BSK24.dat +1116 -0
- lalapps/data/LALSimNeutronStarEOS_SLY2_BSK24.dat +1106 -0
- lalapps/data/LALSimNeutronStarEOS_SLY4.dat +100 -0
- lalapps/data/LALSimNeutronStarEOS_SLY9.dat +498 -0
- lalapps/data/LALSimNeutronStarEOS_SLY9_BSK24.dat +1083 -0
- lalapps/data/LALSimNeutronStarEOS_SQM1.dat +176 -0
- lalapps/data/LALSimNeutronStarEOS_SQM2.dat +180 -0
- lalapps/data/LALSimNeutronStarEOS_SQM3.dat +176 -0
- lalapps/data/LALSimNeutronStarEOS_WFF1.dat +109 -0
- lalapps/data/LALSimNeutronStarEOS_WFF2.dat +109 -0
- lalapps/data/LALSimNeutronStarEOS_WFF3.dat +107 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDLZ1_BSK24.dat +1227 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDME2_BSK24.dat +1272 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDMEX_BSK24.dat +1280 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_GM1_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_MTVTC_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_NL3_BSK24.dat +1230 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_PKDD_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_TM1_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_TW99_BSK24.dat +1288 -0
- lalapps/data/LIGO-P1200087-v18-AdV_BNS_OPTIMIZED.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_DESIGN.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_EARLY_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_EARLY_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_LATE_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_LATE_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_MID_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_MID_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_BNS_OPTIMIZED.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_DESIGN.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_EARLY_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_EARLY_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_LATE_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_LATE_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_MID_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_MID_LOW.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-CE.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-CE_Pessimistic.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-CE_Wideband.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-ET_D.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-BHBH_20deg.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-High_Freq.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-NO_SRM.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-NSNS_Opt.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-ZERO_DET_high_P.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-ZERO_DET_low_P.txt +3000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Design.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Early.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Late.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Mid.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Opening.txt +4000 -0
- lalapps/data/LIGO-T1800042-v5-aLIGO_APLUS.txt +3000 -0
- lalapps/data/LIGO-T1800044-v5-aLIGO_DESIGN.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-AdV_O3low.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-AdV_O4.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-AdV_O4intermediate.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-KAGRA_128Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-KAGRA_25Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-KAGRA_80Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-aLIGO_140Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-aLIGO_175Mpc.txt +2792 -0
- lalapps/data/LIGO-T1800545-v1-aLIGO_O3low.txt +2792 -0
- lalapps/data/bimodalMeans.csv +3 -0
- lalapps/data/config_tiger_example.ini +150 -0
- lalapps/data/fiducialBBH.xml +67 -0
- lalapps/data/fiducialBNS.xml +67 -0
- lalapps/data/inspsrcs100Mpc.errors +38735 -0
- lalapps/data/lalinference_pipe_example.ini +573 -0
- lalapps/data/lib_pipe_example.ini +303 -0
- lalapps/data/power_pipe.ini +129 -0
- lalapps/data/unimodalMeans.csv +2 -0
- lalapps/git_version.py +64 -0
- lalburst/SimBurstUtils.py +324 -0
- lalburst/SnglBurstUtils.py +367 -0
- lalburst/__init__.py +7 -0
- lalburst/_lalburst.cpython-312-x86_64-linux-gnu.so +0 -0
- lalburst/_lalburst_swig.py +16 -0
- lalburst/binjfind.py +824 -0
- lalburst/bucluster.py +409 -0
- lalburst/burca.py +315 -0
- lalburst/burca_tailor.py +349 -0
- lalburst/cafe.py +579 -0
- lalburst/calc_likelihood.py +145 -0
- lalburst/cs_gamma.cpython-312-x86_64-linux-gnu.so +0 -0
- lalburst/date.py +118 -0
- lalburst/git_version.py +64 -0
- lalburst/offsetvector.py +278 -0
- lalburst/packing.py +170 -0
- lalburst/power.py +1457 -0
- lalburst/snglcluster.py +136 -0
- lalburst/snglcoinc.py +2637 -0
- lalburst/stringutils.py +607 -0
- lalburst/timeslides.py +236 -0
- lalframe/__init__.py +7 -0
- lalframe/_lalframe.cpython-312-x86_64-linux-gnu.so +0 -0
- lalframe/_lalframe_swig.py +14 -0
- lalframe/frread.py +324 -0
- lalframe/git_version.py +64 -0
- lalframe/utils/__init__.py +25 -0
- lalframe/utils/frtools.py +61 -0
- lalinference/__init__.py +7 -0
- lalinference/_bayespputils.cpython-312-x86_64-linux-gnu.so +0 -0
- lalinference/_lalinference.cpython-312-x86_64-linux-gnu.so +0 -0
- lalinference/_lalinference_swig.py +19 -0
- lalinference/bayespputils.py +7479 -0
- lalinference/bayestar/__init__.py +2 -0
- lalinference/bayestar/deprecation.py +72 -0
- lalinference/git_version.py +64 -0
- lalinference/imrtgr/__init__.py +0 -0
- lalinference/imrtgr/imrtgrutils.py +168 -0
- lalinference/imrtgr/nrutils.py +1366 -0
- lalinference/imrtgr/pneqns.py +250 -0
- lalinference/io/__init__.py +31 -0
- lalinference/io/hdf5.py +365 -0
- lalinference/lalinference_pipe_utils.py +3617 -0
- lalinference/nest2pos.py +151 -0
- lalinference/plot/__init__.py +34 -0
- lalinference/plot/spindisk.py +104 -0
- lalinference/tiger/__init__.py +0 -0
- lalinference/tiger/make_injtimes.py +634 -0
- lalinference/tiger/omegascans_dag.py +691 -0
- lalinference/tiger/postproc.py +1338 -0
- lalinference/wrapper.py +231 -0
- lalinspiral/__init__.py +7 -0
- lalinspiral/_lalinspiral.cpython-312-x86_64-linux-gnu.so +0 -0
- lalinspiral/_lalinspiral_swig.py +18 -0
- lalinspiral/_thinca.cpython-312-x86_64-linux-gnu.so +0 -0
- lalinspiral/git_version.py +64 -0
- lalinspiral/inspinjfind.py +485 -0
- lalinspiral/thinca.py +509 -0
- lalmetaio/__init__.py +7 -0
- lalmetaio/_lalmetaio.cpython-312-x86_64-linux-gnu.so +0 -0
- lalmetaio/_lalmetaio_swig.py +14 -0
- lalmetaio/git_version.py +64 -0
- lalpulsar/NstarTools.py +259 -0
- lalpulsar/PulsarParametersWrapper.py +938 -0
- lalpulsar/__init__.py +7 -0
- lalpulsar/_lalpulsar.cpython-312-x86_64-linux-gnu.so +0 -0
- lalpulsar/_lalpulsar_swig.py +17 -0
- lalpulsar/git_version.py +64 -0
- lalpulsar/knope_utils.py +6497 -0
- lalpulsar/lineFileParser.py +264 -0
- lalpulsar/metric_utils.py +78 -0
- lalpulsar/piecewise_model/__init__.py +7 -0
- lalpulsar/piecewise_model/basis_functions.py +156 -0
- lalpulsar/piecewise_model/class_definitions.py +323 -0
- lalpulsar/piecewise_model/errors.py +37 -0
- lalpulsar/piecewise_model/estimating_knots.py +833 -0
- lalpulsar/piecewise_model/gte_and_other_methods.py +189 -0
- lalpulsar/piecewise_model/mols_for_gte.py +269 -0
- lalpulsar/piecewise_model/pw_fstat.py +813 -0
- lalpulsar/piecewise_model/pw_model_simulations.py +156 -0
- lalpulsar/piecewise_model/sampling_methods.py +186 -0
- lalpulsar/piecewise_model/semicoherent_metric_methods.py +375 -0
- lalpulsar/piecewise_model/tbank_estimates.py +293 -0
- lalpulsar/public_sft_directory.py +82 -0
- lalpulsar/pulsarhtmlutils.py +1395 -0
- lalpulsar/pulsarpputils.py +3638 -0
- lalpulsar/simulateCW.py +602 -0
- lalpulsar/simulateHeterodynedCW.py +591 -0
- lalsimulation/__init__.py +7 -0
- lalsimulation/_lalsimulation.cpython-312-x86_64-linux-gnu.so +0 -0
- lalsimulation/_lalsimulation_swig.py +14 -0
- lalsimulation/git_version.py +64 -0
- lalsimulation/gwsignal/__init__.py +9 -0
- lalsimulation/gwsignal/core/__init__.py +2 -0
- lalsimulation/gwsignal/core/conditioning_subroutines.py +196 -0
- lalsimulation/gwsignal/core/errors.py +136 -0
- lalsimulation/gwsignal/core/gw.py +206 -0
- lalsimulation/gwsignal/core/parameter_conventions.py +122 -0
- lalsimulation/gwsignal/core/utils.py +329 -0
- lalsimulation/gwsignal/core/waveform.py +725 -0
- lalsimulation/gwsignal/core/waveform_conditioning.py +455 -0
- lalsimulation/gwsignal/models/__init__.py +29 -0
- lalsimulation/gwsignal/models/pyseobnr_model.py +452 -0
- lalsimulation/nrfits/NRSur3dq8Remnant.py +92 -0
- lalsimulation/nrfits/NRSur7dq4Remnant.py +469 -0
- lalsimulation/nrfits/__init__.py +1 -0
- lalsimulation/nrfits/eval_fits.py +364 -0
- lalsimulation/nrfits/nrfits.py +78 -0
- lalsimulation/nrfits/pn_spin_evolution_wrapper.py +92 -0
- lalsimulation/nrfits/quaternion_utils.py +74 -0
- lalsimulation/tilts_at_infinity/__init__.py +2 -0
- lalsimulation/tilts_at_infinity/calc_tilts_prec_avg_regularized.py +1424 -0
- lalsimulation/tilts_at_infinity/hybrid_spin_evolution.py +461 -0
- lalsimulation/tilts_at_infinity/tilts_at_infinity_utils.py +167 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesBurstPPAnalysis +305 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesBurstPostProc +1364 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesCombinePTMCMCh5s +100 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesCombinePosteriors +235 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesCompPos +1121 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesDIEvidence +68 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesGraceDBinfo +182 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesMCMC2pos +314 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPPAnalysis +322 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPlotSpinDisk +42 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPosToSimBurst +227 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPosToSimInspiral +307 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPostProc +1345 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesThermoInt +107 -0
- lalsuite-7.26.2.dev20251206.data/scripts/imrtgr_imr_consistency_test +796 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_cache +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_path2cache +148 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_searchsum2cache +172 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_simd_detect +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_tconvert +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputePSD +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_CopySFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_DistanceVsMass +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_MakeSFTDAG +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_PredictFstat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_SFTclean +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_StringAddFrame +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_StringSearch +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_Weave +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_animate +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_binj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_blindinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_cache +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_cafe +99 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_calfacs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_cbc_stochasticbank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_chirplen +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_coh_PTF_inspiral +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_coinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_combine_crosscorr_toplists +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_compareFstats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_compareSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_cosmicstring_pipe +525 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_create_time_correction_ephemeris +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_dumpSFT +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_effdist +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_exc_resp +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fits_header_list +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fits_overview +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fits_table_list +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fr_ninja +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frextr +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frinfo +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frjoin +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frread +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frview +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_gwf2xml +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_heterodyne_pulsar +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_inspawgfile +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_inspfrinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_inspinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_inspiralDistance +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_knope +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_knope_automation_script +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_knope_collate_results +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_knope_result_page +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_makeblindinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_makeblindinj_himass +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ninja +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_path2cache +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_power +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_power_likelihood_pipe +219 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_power_pipe +417 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_pulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_pulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_random_bank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_randombank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_run_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_searchsum2cache +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_spec_avg +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_spec_coherence +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_spininj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_splitSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_splitbank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_apply_vetoes +171 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_calc_likelihood +172 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_contour_plotter +141 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_contour_plotter_largeloops +133 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_cs_gamma +110 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_cs_gamma_largeloops +119 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_final +1064 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_meas_likelihood +264 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_plot_binj +543 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_plot_likelihood +380 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_tconvert +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_tmpltbank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_xtefitstoframe +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_cluster +156 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_coinc +224 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_cut +425 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_gen_timeslides +254 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_inj_pic +254 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_injfind +170 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_plot_tisi +165 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_calc_likelihood +182 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_final +1369 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_meas_likelihood +206 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_plot_binj +934 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_plot_binjtf +302 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-cat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-cksum +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-cut +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-dump +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-fmt +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-paste +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-print +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-split +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-stat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-stream +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-vis +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalframe_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_bench +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_burst +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_burst_pp_pipe +220 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_coherence_test +139 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_compute_roq_weights +404 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_cpnest +58 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_datadump +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_evolve_spins_and_append_samples +202 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_injectedlike +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_merge_posteriors +57 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_mpi_wrapper +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_multi_pipe +144 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_nest +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_nest2pos +286 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_pipe +512 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_pp_pipe +229 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_review_test +362 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinspiral_injfind +206 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinspiral_thinca +240 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinspiral_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalmetaio_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputePSD +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_CopyPublicSFTs +216 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_MakeSFTDAG +1142 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_MoveSFTs +208 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_PiecewiseSearch +963 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_PredictFstat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_SFTclean +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_Weave +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_compareFstats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_compareSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_create_time_correction_ephemeris +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_dumpSFT +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_fits_header_list +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_fits_overview +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_fits_table_list +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_heterodyne +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_knope +145 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_knope_automation_script +731 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_knope_collate_results +675 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_knope_result_page +2977 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_spec_avg +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_spec_coherence +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_splitSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-bh-qnmode +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-bh-ringdown +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-bh-sphwf +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-burst +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-detector-noise +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-detector-strain +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-inject +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-inspiral +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-ns-eos-table +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-ns-mass-radius +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-ns-params +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-sgwb +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-unicorn +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsimulation_version +6 -0
- lalsuite-7.26.2.dev20251206.dist-info/METADATA +90 -0
- lalsuite-7.26.2.dev20251206.dist-info/RECORD +733 -0
- lalsuite-7.26.2.dev20251206.dist-info/WHEEL +5 -0
- lalsuite-7.26.2.dev20251206.dist-info/licenses/COPYING +339 -0
- lalsuite-7.26.2.dev20251206.dist-info/top_level.txt +9 -0
- lalsuite.libs/libcfitsio-729ee1b7.so.10.0.0 +0 -0
- lalsuite.libs/libfftw3-6b983104.so.3.5.5 +0 -0
- lalsuite.libs/libfftw3f-b4465a35.so.3.5.5 +0 -0
- lalsuite.libs/libframel-8cf74372.so.8.48.4 +0 -0
- lalsuite.libs/libgsl-e30be130.so.28.0.0 +0 -0
- lalsuite.libs/libgslcblas-460f042a.so.0.0.0 +0 -0
- lalsuite.libs/libhdf5-d02936e2.so.310.5.1 +0 -0
- lalsuite.libs/libhdf5_hl-0e40b553.so.310.0.6 +0 -0
- lalsuite.libs/liblal-d17109e0.so.20.5.0 +0 -0
- lalsuite.libs/liblalburst-d9edfb9d.so.8.0.0 +0 -0
- lalsuite.libs/liblalframe-d677044f.so.14.0.3 +0 -0
- lalsuite.libs/liblalinference-a50f0a8e.so.23.1.7 +0 -0
- lalsuite.libs/liblalinspiral-22638799.so.18.0.2 +0 -0
- lalsuite.libs/liblalmetaio-42c5bc5c.so.11.0.1 +0 -0
- lalsuite.libs/liblalpulsar-95c25f8c.so.30.1.1 +0 -0
- lalsuite.libs/liblalsimulation-bf7c4c31.so.37.2.0 +0 -0
- lalsuite.libs/liblalsupport-282d4115.so.14.4.0 +0 -0
- lalsuite.libs/libmetaio-abda72ec.so.1.1.0 +0 -0
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
""" Evaluates Numerical Relativity fits such as remnant BH mass, spin, etc, for
|
|
2
|
+
various models.
|
|
3
|
+
|
|
4
|
+
Vijay Varma, 2019.
|
|
5
|
+
"""
|
|
6
|
+
import numpy as np
|
|
7
|
+
import warnings
|
|
8
|
+
|
|
9
|
+
from lal import MSUN_SI
|
|
10
|
+
|
|
11
|
+
from .NRSur7dq4Remnant import NRSur7dq4Remnant
|
|
12
|
+
from .NRSur3dq8Remnant import NRSur3dq8Remnant
|
|
13
|
+
from . import quaternion_utils
|
|
14
|
+
|
|
15
|
+
#=============================================================================
|
|
16
|
+
class FitAttributes(object):
|
|
17
|
+
""" Saves attributes of a particular fit.
|
|
18
|
+
"""
|
|
19
|
+
#-------------------------------------------------------------------------
|
|
20
|
+
def __init__(self, fit_class, desc, refs, model_keywords):
|
|
21
|
+
""" Initializes a FitAttributes object. See usage examples below.
|
|
22
|
+
|
|
23
|
+
- fit_class: Class to load for a given model. type: should be a
|
|
24
|
+
daughter class of nrfits.NRFits.
|
|
25
|
+
- desc: A brief description of the model, type: str.
|
|
26
|
+
- refs: Paper reference, type: str.
|
|
27
|
+
- model_keywords: List of strings, with one or more of
|
|
28
|
+
allowed_model_keywords.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
# Types of model keywords allowed (add more if required)
|
|
32
|
+
allowed_model_keywords = ['nonspinning', 'aligned_spin', 'precessing', \
|
|
33
|
+
'eccentric', 'tidal']
|
|
34
|
+
|
|
35
|
+
for key in model_keywords:
|
|
36
|
+
if key not in allowed_model_keywords:
|
|
37
|
+
raise Exception("Invalid model_keyword: %s"%key)
|
|
38
|
+
|
|
39
|
+
self.fit_class = fit_class
|
|
40
|
+
self.desc = desc
|
|
41
|
+
self.refs = refs
|
|
42
|
+
self.model_keywords = model_keywords
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
#=============================================================================
|
|
46
|
+
|
|
47
|
+
# Collection of all implemented fits
|
|
48
|
+
fits_collection = {}
|
|
49
|
+
|
|
50
|
+
fits_collection['NRSur3dq8Remnant'] = FitAttributes( \
|
|
51
|
+
fit_class = NRSur3dq8Remnant(),
|
|
52
|
+
desc = 'Fits for remnant mass, spin and kick velocity for nonprecessing'
|
|
53
|
+
' BBH systems, trained on mass ratios q <= 8 and dimensionless spin '
|
|
54
|
+
'magnitudes <= 0.81. This model was called surfinBH3dq8 in the paper.',
|
|
55
|
+
refs = 'arxiv:1809.09125',
|
|
56
|
+
model_keywords = ['aligned_spin'],
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
fits_collection['NRSur7dq4Remnant'] = FitAttributes( \
|
|
60
|
+
fit_class = NRSur7dq4Remnant(),
|
|
61
|
+
desc = 'Fits for remnant mass, spin and kick velocity for generically'
|
|
62
|
+
' precessing BBH systems, trained on mass ratios q <= 4.01 and '
|
|
63
|
+
'dimensionless spin magnitudes <= 0.81.',
|
|
64
|
+
refs = 'arxiv:1905.09300',
|
|
65
|
+
model_keywords = ['precessing'],
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
#=============================================================================
|
|
70
|
+
def truncate_output_to_physical_limits(val_dict, behavior):
|
|
71
|
+
"""
|
|
72
|
+
Function to truncate fit values when they go beyond the following physical
|
|
73
|
+
limits:
|
|
74
|
+
- FinalMass: 1, FinalMass is expected as a fraction of total mass here.
|
|
75
|
+
- FinalSpin: magnitude = 1, the Kerr limit for dimensionless spins.
|
|
76
|
+
- RecoilKick: magnitude = 1, as this is in units of c.
|
|
77
|
+
|
|
78
|
+
Inputs: \n
|
|
79
|
+
- val_dict: A dictionary of fits with one or more of the above keys. See
|
|
80
|
+
eval_nrfit.
|
|
81
|
+
|
|
82
|
+
- behavior (str) can be one of the following:
|
|
83
|
+
* "TRUNCATE": Rescale output magnitude to maximum limit, with an
|
|
84
|
+
info message.
|
|
85
|
+
* "TRUNCATESILENT": Rescale output magnitude to maximum limit, without
|
|
86
|
+
info message
|
|
87
|
+
* "KEEP": Keep output magnitude, even if unphysical, but
|
|
88
|
+
still give the info message
|
|
89
|
+
* "IGNORE": Keep output magnitude, even if unphysical, without
|
|
90
|
+
info message
|
|
91
|
+
* "ERROR": Abort with an error if output magnitude is
|
|
92
|
+
unphysical.
|
|
93
|
+
"""
|
|
94
|
+
|
|
95
|
+
# Don't need to do anything
|
|
96
|
+
if behavior == "IGNORE":
|
|
97
|
+
return val_dict
|
|
98
|
+
|
|
99
|
+
allowed_behaviors = ["ERROR","IGNORE","KEEP","TRUNCATE","TRUNCATESILENT"]
|
|
100
|
+
if behavior not in allowed_behaviors:
|
|
101
|
+
raise ValueError("Invalid physical_limit_violation_behavior=%s"%behavior
|
|
102
|
+
+ ". Should be one of ["+ ", ".join(allowed_behaviors) + "].")
|
|
103
|
+
|
|
104
|
+
physical_limits = {
|
|
105
|
+
"FinalMass": 1, # Remnant can't be heavier than the total mass
|
|
106
|
+
"FinalSpin": 1, # Kerr limit
|
|
107
|
+
"RecoilKick": 1, # Speed of light limit
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
for fit_type in val_dict.keys():
|
|
111
|
+
limit = physical_limits[fit_type]
|
|
112
|
+
magnitude = np.linalg.norm(val_dict[fit_type])
|
|
113
|
+
if magnitude > limit:
|
|
114
|
+
# Error/Warning message
|
|
115
|
+
message = ""
|
|
116
|
+
if fit_type in ["FinalSpin", "RecoilKick"]:
|
|
117
|
+
message += "%s magnitude=%.7e"%(fit_type, magnitude)
|
|
118
|
+
else:
|
|
119
|
+
message += "Dimensionless %s=%.7e"%(fit_type, magnitude)
|
|
120
|
+
message += " is over max limit=%.2e."%(limit)
|
|
121
|
+
|
|
122
|
+
if behavior == "ERROR": # raise error
|
|
123
|
+
raise RuntimeError(message + " Adapt " \
|
|
124
|
+
"extra_params_dict['physical_limit_violation_behavior'] to "\
|
|
125
|
+
"continue without an error.")
|
|
126
|
+
|
|
127
|
+
elif behavior in ["TRUNCATE", "TRUNCATESILENT"]: # rescale magnitude
|
|
128
|
+
message += " Setting to max limit."
|
|
129
|
+
val_dict[fit_type] *= limit/magnitude
|
|
130
|
+
|
|
131
|
+
# Only these cases get a warning
|
|
132
|
+
if behavior in ["KEEP", "TRUNCATE"]:
|
|
133
|
+
warnings.warn(message)
|
|
134
|
+
|
|
135
|
+
return val_dict
|
|
136
|
+
|
|
137
|
+
#=============================================================================
|
|
138
|
+
def check_extra_params_and_set_defaults(extra_params_dict):
|
|
139
|
+
""" Does some sanity checks on extra_params_dict.
|
|
140
|
+
If any of the default_keywords are not specified, sets them to the
|
|
141
|
+
default values.
|
|
142
|
+
"""
|
|
143
|
+
|
|
144
|
+
# NOTE: To add a new key to extra_params_dict, set a default value here
|
|
145
|
+
# and update the documentation of eval_nrfit
|
|
146
|
+
default_keywords = {
|
|
147
|
+
'Lambda1': None,
|
|
148
|
+
'Lambda2': None,
|
|
149
|
+
'eccentricity': None,
|
|
150
|
+
'mean_anomaly': None,
|
|
151
|
+
'unlimited_extrapolation': False,
|
|
152
|
+
'physical_limit_violation_behavior': "ERROR",
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
if extra_params_dict is None:
|
|
156
|
+
extra_params_dict = {}
|
|
157
|
+
|
|
158
|
+
# Sanity checks
|
|
159
|
+
for key in extra_params_dict.keys():
|
|
160
|
+
if key not in default_keywords.keys():
|
|
161
|
+
raise ValueError('Invalid key %s in extra_params_dict. '%(key)
|
|
162
|
+
+ "Should be one of ["+ ", ".join(default_keywords.keys()) + "].")
|
|
163
|
+
|
|
164
|
+
# set to default if keyword is not specified
|
|
165
|
+
for key in default_keywords:
|
|
166
|
+
if key not in extra_params_dict.keys():
|
|
167
|
+
extra_params_dict[key] = default_keywords[key]
|
|
168
|
+
|
|
169
|
+
return extra_params_dict
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
#=============================================================================
|
|
174
|
+
def eval_nrfit(m1, m2, chiA_vec, chiB_vec, model_name, fit_types_list, f_ref=-1,
|
|
175
|
+
extra_params_dict=None):
|
|
176
|
+
r"""
|
|
177
|
+
Evaluates Numerical Relativity fits for a given model.
|
|
178
|
+
|
|
179
|
+
- m1:
|
|
180
|
+
mass of object 1 in kg. \n
|
|
181
|
+
This needs to be in kg for models that allow f_ref != -1. When
|
|
182
|
+
f_ref = -1, if other units are used for m1/m2, the remnant mass will be
|
|
183
|
+
returned in the same units. \n
|
|
184
|
+
- m2:
|
|
185
|
+
mass of the object 2 in kg. \n
|
|
186
|
+
- chiA_vec:
|
|
187
|
+
dimensionless spin (3-vector) of object 1 at the reference epoch. \n
|
|
188
|
+
- chiB_vec:
|
|
189
|
+
dimensionless spin (3-vector) of object 2 at the reference epoch. \n
|
|
190
|
+
This follows the same convention as the waveform interface (see
|
|
191
|
+
https://dcc.ligo.org/T1800226/public), where the spin components are
|
|
192
|
+
defined as:
|
|
193
|
+
* \f$\chi_z = \chi \cdot \hat{L}\f$, where \f$L\f$ is the orbital
|
|
194
|
+
angular momentum vector at the reference epoch.
|
|
195
|
+
* \f$\chi_x = \chi \cdot \hat{n}\f$, where \f$n =\f$ body2 -> body1
|
|
196
|
+
is the separation vector pointing from body2 to body1 at the
|
|
197
|
+
reference epoch.
|
|
198
|
+
* \f$\chi_y = \chi \cdot (\hat{L} \times \hat{n})\f$. \n
|
|
199
|
+
These spin components are frame-independent as they are defined using
|
|
200
|
+
vector inner products. One can also think of the above spins as being
|
|
201
|
+
defined in the following reference frame: The positive z-axis is along
|
|
202
|
+
the orbital angular momentum at the reference epoch. The separation
|
|
203
|
+
vector from the object 2 to object 1 at the reference epoch is along
|
|
204
|
+
the positive x-axis. The y-axis completes the right-handed triad. The
|
|
205
|
+
returned vectors such as final spin and kick velocity are also defined
|
|
206
|
+
in the same frame.
|
|
207
|
+
- model_name:
|
|
208
|
+
model used for fit. \n
|
|
209
|
+
See lalsimulation.nrfits.eval_fits.fits_collection.keys() for all
|
|
210
|
+
available fits. Details about a particular model, including its
|
|
211
|
+
validity, can be found by doing the following: \n
|
|
212
|
+
>> from lalsimulation.nrfits.eval_fits import fits_collection \n
|
|
213
|
+
>> help(fits_collection[model_name].fit_class)
|
|
214
|
+
- fit_types_list:
|
|
215
|
+
List of fits to evaluate. \n
|
|
216
|
+
Allowed values for elements are
|
|
217
|
+
"FinalMass", "FinalSpin", "RecoilKick", and "PeakLuminosity". \n
|
|
218
|
+
Example: fit_types_list = ["FinalMass", "FinalSpin"]
|
|
219
|
+
- f_ref:
|
|
220
|
+
reference frequency (in Hz) used to set the reference epoch. \n
|
|
221
|
+
The reference epoch is set such that the orbital frequency is equal to
|
|
222
|
+
f_ref/2. If f_ref = -1, the reference epoch is taken to be the
|
|
223
|
+
time/frequency at which the fits were constructed. This can be
|
|
224
|
+
different for different models, see the documentation for the specific
|
|
225
|
+
model. Default: f_ref = -1.
|
|
226
|
+
- extra_params_dict:
|
|
227
|
+
Any additional parameters required for a specific model.
|
|
228
|
+
Default: None. \n
|
|
229
|
+
Allowed keys for extra_params_dict are:
|
|
230
|
+
* Lambda1:
|
|
231
|
+
Tidal deformability of object 1. Default: None.
|
|
232
|
+
* Lambda2:
|
|
233
|
+
Tidal deformability of object 2. Default: None.
|
|
234
|
+
* eccentricity:
|
|
235
|
+
Eccentricity at the reference epoch. Default: None.
|
|
236
|
+
* mean_anomaly:
|
|
237
|
+
Mean anomaly at the reference epoch. Default: None.
|
|
238
|
+
* unlimited_extrapolation:
|
|
239
|
+
Some models will raise an error if evaluated well outside
|
|
240
|
+
their calibration range. If unlimited_extrapolation = True,
|
|
241
|
+
then these errors are not raised and the model will still
|
|
242
|
+
produce an output. USE AT YOUR OWN RISK!! Default: False.
|
|
243
|
+
* physical_limit_violation_behavior:
|
|
244
|
+
What to do if the fit values violate physical limits
|
|
245
|
+
FinalMass > total mass, |FinalSpin| > 1, or |RecoilKick| > 1. \n
|
|
246
|
+
Allowed options are (Default: "ERROR"):
|
|
247
|
+
- "ERROR":
|
|
248
|
+
Abort with an error message.
|
|
249
|
+
- "TRUNCATE":
|
|
250
|
+
Rescale output magnitude to maximum limit, with a warning.
|
|
251
|
+
- "TRUNCATESILENT":
|
|
252
|
+
Rescale output magnitude to maximum limit, without
|
|
253
|
+
warning.
|
|
254
|
+
- "KEEP":
|
|
255
|
+
Keep output magnitude, but with a warning.
|
|
256
|
+
- "IGNORE":
|
|
257
|
+
Keep output magnitude, without warning.
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
- Returns: return_dict. \n
|
|
261
|
+
Dictionary of values corresponding to the keys in fit_types_list. \n
|
|
262
|
+
Example: mf = return_dict["FinalMass"]
|
|
263
|
+
"""
|
|
264
|
+
|
|
265
|
+
### Sanity checks
|
|
266
|
+
if model_name not in fits_collection.keys():
|
|
267
|
+
raise ValueError("Invalid model_name=%s. "%model_name \
|
|
268
|
+
+ "Should be one of ["+ ", ".join(fits_collection.keys()) + "].")
|
|
269
|
+
|
|
270
|
+
if m1 < 0.09 * MSUN_SI and f_ref != -1:
|
|
271
|
+
warnings.warn("Small value of m1 = %e (kg) = %e (Msun) requested. "
|
|
272
|
+
"When f_ref != -1, component masses must be in kgs, perhaps you "
|
|
273
|
+
"are using different units?"%(m1, m1/MSUN_SI))
|
|
274
|
+
|
|
275
|
+
if m2 < 0.09 * MSUN_SI and f_ref != -1:
|
|
276
|
+
warnings.warn("Small value of m2 = %e (kg) = %e (Msun) requested. "
|
|
277
|
+
"When f_ref != -1, component masses must be in kgs, perhaps you "
|
|
278
|
+
"are using different units?"%(m2, m2/MSUN_SI))
|
|
279
|
+
|
|
280
|
+
if m1 <= 0 or m2 <= 0:
|
|
281
|
+
raise ValueError("Got nonpositive mass: m1=%.3e, m2=%.3e"%(m1,m2))
|
|
282
|
+
|
|
283
|
+
chiA_vec = np.atleast_1d(chiA_vec)
|
|
284
|
+
chiB_vec = np.atleast_1d(chiB_vec)
|
|
285
|
+
if len(chiA_vec) != 3 or len(chiB_vec) != 3:
|
|
286
|
+
raise TypeError("Expected input spins to be 3-vectors.")
|
|
287
|
+
|
|
288
|
+
if np.linalg.norm(chiA_vec) > 1:
|
|
289
|
+
raise ValueError("Invalid spin magnitude |chiA_vec|=%.3f."%( \
|
|
290
|
+
np.linalg.norm(chiA_vec)))
|
|
291
|
+
|
|
292
|
+
if np.linalg.norm(chiB_vec) > 1:
|
|
293
|
+
raise ValueError("Invalid spin magnitude |chiB_vec|=%.3f."%( \
|
|
294
|
+
np.linalg.norm(chiB_vec)))
|
|
295
|
+
|
|
296
|
+
if not type(fit_types_list) == list:
|
|
297
|
+
raise TypeError("fit_types_list should be a list.")
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
# do sanity checks on extra_params_dict and set default values if
|
|
301
|
+
# required.
|
|
302
|
+
extra_params_dict = check_extra_params_and_set_defaults(extra_params_dict)
|
|
303
|
+
|
|
304
|
+
# Some further sanity checks to makes sure extra_params_dict is
|
|
305
|
+
# compatible with the given model
|
|
306
|
+
if (extra_params_dict['Lambda1'] is not None) \
|
|
307
|
+
or (extra_params_dict['Lambda2'] is not None):
|
|
308
|
+
if 'tidal' not in fits_collection[model_name].model_keywords:
|
|
309
|
+
raise ValueError("This model does not allow Lambda1/Lambda2.")
|
|
310
|
+
|
|
311
|
+
if (extra_params_dict['eccentricity'] is not None) \
|
|
312
|
+
or (extra_params_dict['mean_anomaly'] is not None):
|
|
313
|
+
if 'eccentric' not in fits_collection[model_name].model_keywords:
|
|
314
|
+
raise ValueError("This model does not allow eccentricity or "
|
|
315
|
+
"mean_anomaly.")
|
|
316
|
+
|
|
317
|
+
if 'aligned_spin' in fits_collection[model_name].model_keywords:
|
|
318
|
+
if np.linalg.norm(chiA_vec[:2]) > 0 or np.linalg.norm(chiB_vec[:2]) > 0:
|
|
319
|
+
raise ValueError("This model only allows nonprecessing spins")
|
|
320
|
+
|
|
321
|
+
if 'nonspinning' in fits_collection[model_name].model_keywords:
|
|
322
|
+
if np.linalg.norm(chiA_vec) > 0 or np.linalg.norm(chiB_vec) > 0:
|
|
323
|
+
raise ValueError("This model only allows zero spins")
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
swapped_labels = False
|
|
327
|
+
# If m1 < m2, we switch the labels of the two objects, and then rotate the
|
|
328
|
+
# spins by pi about the z-direction. This amounts to a rigid rotation of
|
|
329
|
+
# the full system about the z-axis by pi. After computing the remnant
|
|
330
|
+
# properties, the final spin and kick vectors are rotated by pi to undo
|
|
331
|
+
# this switch.
|
|
332
|
+
if m1 < m2:
|
|
333
|
+
temp = m1
|
|
334
|
+
m1 = m2
|
|
335
|
+
m2 = temp
|
|
336
|
+
temp = chiA_vec
|
|
337
|
+
chiA_vec = chiB_vec
|
|
338
|
+
chiB_vec = temp
|
|
339
|
+
chiA_vec = quaternion_utils.rotate_in_plane(chiA_vec, np.pi)
|
|
340
|
+
chiB_vec = quaternion_utils.rotate_in_plane(chiB_vec, np.pi)
|
|
341
|
+
swapped_labels = True
|
|
342
|
+
|
|
343
|
+
# Compute NR fit quantities
|
|
344
|
+
val_dict = fits_collection[model_name].fit_class(m1, m2, chiA_vec, chiB_vec,
|
|
345
|
+
f_ref, fit_types_list, extra_params_dict)
|
|
346
|
+
|
|
347
|
+
# If the output breaks physical limits, truncate it if requested.
|
|
348
|
+
val_dict = truncate_output_to_physical_limits(val_dict, \
|
|
349
|
+
extra_params_dict['physical_limit_violation_behavior'])
|
|
350
|
+
|
|
351
|
+
# So far FinalMass was dimless, now rescale to same units as total mass
|
|
352
|
+
if 'FinalMass' in val_dict.keys():
|
|
353
|
+
val_dict['FinalMass'] *= (m1 + m2)
|
|
354
|
+
|
|
355
|
+
# Rotate remnant vectors by pi if the component lables were swapped
|
|
356
|
+
if swapped_labels:
|
|
357
|
+
if 'FinalSpin' in val_dict.keys():
|
|
358
|
+
val_dict['FinalSpin'] = quaternion_utils.rotate_in_plane( \
|
|
359
|
+
val_dict['FinalSpin'], np.pi)
|
|
360
|
+
if 'RecoilKick' in val_dict.keys():
|
|
361
|
+
val_dict['RecoilKick'] = quaternion_utils.rotate_in_plane( \
|
|
362
|
+
val_dict['RecoilKick'], np.pi)
|
|
363
|
+
|
|
364
|
+
return val_dict
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Base class for Numerical Relativity fits such as remnant BH mass, spin, etc.
|
|
3
|
+
|
|
4
|
+
Vijay Varma, 2019.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
#=============================================================================
|
|
8
|
+
class NRFits(object):
|
|
9
|
+
"""
|
|
10
|
+
Base class to evaluate NR fits.
|
|
11
|
+
|
|
12
|
+
For each new fit, you need to do the following:
|
|
13
|
+
1. Add a new derived class for this class in a separate file and add the
|
|
14
|
+
new class to fits_collection in eval_fits.py.
|
|
15
|
+
2. override _get_fit_params() and _eval_fit() in the new derived class.
|
|
16
|
+
3. Add the new filename to Makefile.am
|
|
17
|
+
|
|
18
|
+
See NRSur7dq4Remnant.py for an example.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
# ------------------------------------------------------------------------
|
|
22
|
+
def _get_fit_params(self, m1, m2, chiA_vec, chiB_vec, f_ref,
|
|
23
|
+
extra_params_dict):
|
|
24
|
+
""" Not all fits will require all of these parameters, this function
|
|
25
|
+
should be used to get the required params, and if necessary, process
|
|
26
|
+
them to get the parameters that are used to evaluate the actual fits.
|
|
27
|
+
|
|
28
|
+
For example: chiA_vec/chiB_vec are defined at f_ref, this function
|
|
29
|
+
could take these initial spins and evolve them to get the spins at
|
|
30
|
+
ISCO, which are then used to evaluate the fits.
|
|
31
|
+
|
|
32
|
+
See eval_fits.eval_nrfit() for the definitions of the arguments of
|
|
33
|
+
this function.
|
|
34
|
+
"""
|
|
35
|
+
raise NotImplementedError("Please override me.")
|
|
36
|
+
return fit_params
|
|
37
|
+
|
|
38
|
+
# ------------------------------------------------------------------------
|
|
39
|
+
def _eval_fit(self, fit_params, fit_type, extra_params_dict):
|
|
40
|
+
""" Evaluates a particular fit for a given model using the fit_params
|
|
41
|
+
returned by _get_fit_params().
|
|
42
|
+
"""
|
|
43
|
+
raise NotImplementedError("Please override me.")
|
|
44
|
+
|
|
45
|
+
# ------------------------------------------------------------------------
|
|
46
|
+
def __call__(self, m1, m2, chiA_vec, chiB_vec, f_ref, fit_types_list,
|
|
47
|
+
extra_params_dict):
|
|
48
|
+
""" Evaluates all fits given in fit_types_list and returns them as
|
|
49
|
+
a dictionary.
|
|
50
|
+
|
|
51
|
+
See eval_fits.eval_nrfit() for the definitions of the arguments of
|
|
52
|
+
this function.
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
# Get the parameters used to evaluate the fits. This includes any
|
|
56
|
+
# spin evolution that may be required
|
|
57
|
+
fit_params = self._get_fit_params(m1, m2, chiA_vec, chiB_vec,
|
|
58
|
+
f_ref, extra_params_dict)
|
|
59
|
+
|
|
60
|
+
# Add more if needed and update the fit_types_list documentation in
|
|
61
|
+
# eval_fits.py
|
|
62
|
+
allowed_fit_types = [
|
|
63
|
+
"FinalMass",
|
|
64
|
+
"FinalSpin",
|
|
65
|
+
"RecoilKick",
|
|
66
|
+
"PeakLuminosity",
|
|
67
|
+
]
|
|
68
|
+
|
|
69
|
+
# Loop over fit_types_list and return a dictionary of values
|
|
70
|
+
return_dict = {}
|
|
71
|
+
for fit_type in fit_types_list:
|
|
72
|
+
if fit_type not in allowed_fit_types:
|
|
73
|
+
raise ValueError("Invalid fit_type=%s. "%fit_type \
|
|
74
|
+
+ "Should be one of ["+ ", ".join(allowed_fit_types) + "].")
|
|
75
|
+
return_dict[fit_type] = self._eval_fit(fit_params, fit_type,
|
|
76
|
+
extra_params_dict)
|
|
77
|
+
|
|
78
|
+
return return_dict
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import numpy as np
|
|
2
|
+
import lalsimulation as lalsim
|
|
3
|
+
from lal import MSUN_SI, MTSUN_SI
|
|
4
|
+
|
|
5
|
+
def spin_evolution(q, chiA0, chiB0, omega0, approximant='SpinTaylorT4',
|
|
6
|
+
dt=0.1, spinO=6, phaseO=7):
|
|
7
|
+
"""
|
|
8
|
+
Wrapper for PN spin and dynamics evolution in LAL.
|
|
9
|
+
Inputs:
|
|
10
|
+
- q: Mass ratio (q>=1)
|
|
11
|
+
- chiA0: Dimensionless spin of BhA at initial freq.
|
|
12
|
+
- chiB0: Dimensionless spin of BhB at initial freq.
|
|
13
|
+
- omega0: Initial orbital frequency in dimensionless units.
|
|
14
|
+
- approximant: 'SpinTaylorT1/T4/T5'. Default: SpinTaylorT4.
|
|
15
|
+
- dt: Dimensionless step time for evolution. Default: 0.1
|
|
16
|
+
- spinO: Twice PN order of spin effects. Default: 7.
|
|
17
|
+
- phaseO: Twice PN order in phase. Default: 7.
|
|
18
|
+
|
|
19
|
+
Outputs (all are time series):
|
|
20
|
+
- Omega: Dimensionless orbital frequency.
|
|
21
|
+
- Phi: Orbital phase (radians)
|
|
22
|
+
- ChiA: Dimensionless spin of BhA
|
|
23
|
+
- ChiB: Dimensionless spin of BhB
|
|
24
|
+
- LNhat: Orbital angular momentum direction
|
|
25
|
+
- E1: Orbital plane basis vector
|
|
26
|
+
|
|
27
|
+
The frame is defined at the initial frequency omega0, as follows: \n
|
|
28
|
+
- z-axis is set by the orbital angular momentum direction.
|
|
29
|
+
- x-axis is the separation vector from the lighter BH to the heavier BH.
|
|
30
|
+
- y-axis completes the triad by right-hand rule. \n
|
|
31
|
+
All quantities are defined in this fixed frame, including initial spins,
|
|
32
|
+
returned spins, other vectors like LNhat, etc.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
approxTag = lalsim.SimInspiralGetApproximantFromString(approximant)
|
|
36
|
+
|
|
37
|
+
# Total mass in solar masses
|
|
38
|
+
M = 100 # This does not affect the returned values as they are
|
|
39
|
+
# dimensionless
|
|
40
|
+
|
|
41
|
+
# time step and initial GW freq in SI units
|
|
42
|
+
MT = M*MTSUN_SI
|
|
43
|
+
deltaT = dt*MT
|
|
44
|
+
fStart = omega0/np.pi/MT
|
|
45
|
+
|
|
46
|
+
# component masses of the binary
|
|
47
|
+
m1_SI = M*MSUN_SI*q/(1.+q)
|
|
48
|
+
m2_SI = M*MSUN_SI/(1.+q)
|
|
49
|
+
|
|
50
|
+
# spins at fStart
|
|
51
|
+
s1x, s1y, s1z = chiA0
|
|
52
|
+
s2x, s2y, s2z = chiB0
|
|
53
|
+
|
|
54
|
+
# integrate as far forward as possible
|
|
55
|
+
fEnd = 0
|
|
56
|
+
|
|
57
|
+
# initial value of orbital angular momentum unit vector, i.e at fStart
|
|
58
|
+
lnhatx, lnhaty, lnhatz = 0,0,1
|
|
59
|
+
|
|
60
|
+
# initial value of orbital plane basis vector, i.e at fStart
|
|
61
|
+
e1x, e1y, e1z = 1, 0, 0
|
|
62
|
+
|
|
63
|
+
# tidal deformability parameters
|
|
64
|
+
lambda1, lambda2 = 0, 0
|
|
65
|
+
|
|
66
|
+
# spin-induced quadrupole moments
|
|
67
|
+
quadparam1, quadparam2 = 1, 1
|
|
68
|
+
|
|
69
|
+
# twice PN order of tidal effects
|
|
70
|
+
tideO = 0
|
|
71
|
+
|
|
72
|
+
# include some known L-S terms
|
|
73
|
+
lscorr = 1
|
|
74
|
+
|
|
75
|
+
# evolve spins and collect data into a nice format. The input values start
|
|
76
|
+
# with lower-case letters, while output values start with upper-case
|
|
77
|
+
# letters.
|
|
78
|
+
V, Phi, S1x, S1y, S1z, S2x, S2y, S2z, LNhatx, LNhaty, LNhatz, \
|
|
79
|
+
E1x, E1y, E1z = lalsim.SimInspiralSpinTaylorPNEvolveOrbit(deltaT, \
|
|
80
|
+
m1_SI, m2_SI, fStart, fEnd, s1x, s1y, s1z, s2x, s2y, s2z, \
|
|
81
|
+
lnhatx, lnhaty, lnhatz, e1x, e1y, e1z, lambda1, lambda2, \
|
|
82
|
+
quadparam1, quadparam2, spinO, tideO, phaseO, lscorr, approxTag)
|
|
83
|
+
V = np.array(V.data.data)
|
|
84
|
+
Phi = np.array(Phi.data.data)
|
|
85
|
+
ChiA = np.array([S1x.data.data, S1y.data.data, S1z.data.data]).T
|
|
86
|
+
ChiB = np.array([S2x.data.data, S2y.data.data, S2z.data.data]).T
|
|
87
|
+
LNhat = np.array([LNhatx.data.data, LNhaty.data.data, LNhatz.data.data]).T
|
|
88
|
+
E1 = np.array([E1x.data.data, E1y.data.data, E1z.data.data]).T
|
|
89
|
+
|
|
90
|
+
# orbital frequency
|
|
91
|
+
Omega = V**3
|
|
92
|
+
return Omega, Phi, ChiA, ChiB, LNhat
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import numpy as np
|
|
2
|
+
|
|
3
|
+
#-----------------------------------------------------------------------------
|
|
4
|
+
def multiply_quats(q1, q2):
|
|
5
|
+
"""q1, q2 must be [scalar, x, y, z] but those may be arrays or scalars"""
|
|
6
|
+
return np.array([
|
|
7
|
+
q1[0]*q2[0] - q1[1]*q2[1] - q1[2]*q2[2] - q1[3]*q2[3],
|
|
8
|
+
q1[2]*q2[3] - q2[2]*q1[3] + q1[0]*q2[1] + q2[0]*q1[1],
|
|
9
|
+
q1[3]*q2[1] - q2[3]*q1[1] + q1[0]*q2[2] + q2[0]*q1[2],
|
|
10
|
+
q1[1]*q2[2] - q2[1]*q1[2] + q1[0]*q2[3] + q2[0]*q1[3]])
|
|
11
|
+
|
|
12
|
+
#-----------------------------------------------------------------------------
|
|
13
|
+
def quat_inv(q):
|
|
14
|
+
"""Returns QBar such that Q*QBar = 1"""
|
|
15
|
+
qConj = -q
|
|
16
|
+
qConj[0] = -qConj[0]
|
|
17
|
+
normSqr = multiply_quats(q, qConj)[0]
|
|
18
|
+
return qConj/normSqr
|
|
19
|
+
|
|
20
|
+
#-----------------------------------------------------------------------------
|
|
21
|
+
def align_vec_quat(vec):
|
|
22
|
+
"""Returns a unit quaternion that will align vec with the z-axis"""
|
|
23
|
+
alpha = np.arctan2(vec[1], vec[0])
|
|
24
|
+
beta = np.arccos(vec[2])
|
|
25
|
+
gamma = -alpha*vec[2]
|
|
26
|
+
cb = np.cos(0.5*beta)
|
|
27
|
+
sb = np.sin(0.5*beta)
|
|
28
|
+
return np.array([cb*np.cos(0.5*(alpha + gamma)),
|
|
29
|
+
sb*np.sin(0.5*(gamma - alpha)),
|
|
30
|
+
sb*np.cos(0.5*(gamma - alpha)),
|
|
31
|
+
cb*np.sin(0.5*(alpha + gamma))])
|
|
32
|
+
|
|
33
|
+
#-----------------------------------------------------------------------------
|
|
34
|
+
def transform_time_dependent_vector(quat, vec, inverse=0):
|
|
35
|
+
"""Given (for example) a minimal rotation frame quat, transforms
|
|
36
|
+
vec from the minimal rotation frame to the inertial frame.
|
|
37
|
+
With inverse=1, transforms from the inertial frame to the minimal
|
|
38
|
+
rotation frame."""
|
|
39
|
+
qInv = quat_inv(quat)
|
|
40
|
+
if inverse:
|
|
41
|
+
return transform_time_dependent_vector(qInv, vec, inverse=0)
|
|
42
|
+
|
|
43
|
+
return multiply_quats(quat, multiply_quats(np.append(np.array([
|
|
44
|
+
np.zeros(len(vec[0]))]), vec, 0), qInv))[1:]
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
#-----------------------------------------------------------------------------
|
|
48
|
+
def rotate_in_plane(chi, phase):
|
|
49
|
+
""" Rotates a given vector, chi, by a clockwise angle, phase, about the
|
|
50
|
+
z-axis. Can be used for transforming spins from the coprecessing frame to
|
|
51
|
+
the coorbital frame"""
|
|
52
|
+
v = chi.T
|
|
53
|
+
sp = np.sin(phase)
|
|
54
|
+
cp = np.cos(phase)
|
|
55
|
+
res = 1.*v
|
|
56
|
+
res[0] = v[0]*cp + v[1]*sp
|
|
57
|
+
res[1] = v[1]*cp - v[0]*sp
|
|
58
|
+
return res.T
|
|
59
|
+
|
|
60
|
+
#-----------------------------------------------------------------------------
|
|
61
|
+
def transform_vector_coorb_to_inertial(vec_coorb, orbPhase, quat_copr):
|
|
62
|
+
"""Given a vector (of size 3) in coorbital frame, orbital phase in
|
|
63
|
+
coprecessing frame and a minimal rotation frame quat, transforms
|
|
64
|
+
the vector from the coorbital to the LAL inertial frame.
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
# Transform to coprecessing frame
|
|
68
|
+
vec_copr = rotate_in_plane(vec_coorb, -orbPhase)
|
|
69
|
+
|
|
70
|
+
# Transform to inertial frame (for the surrogate)
|
|
71
|
+
vec = transform_time_dependent_vector(np.array([quat_copr]).T,
|
|
72
|
+
np.array([vec_copr]).T).T[0]
|
|
73
|
+
|
|
74
|
+
return np.array(vec)
|