lalsuite 7.26.2.dev20251218__cp314-cp314t-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-314t-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-314t-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-314t-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-314t-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-314t-x86_64-linux-gnu.so +0 -0
- lalinference/_lalinference.cpython-314t-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-314t-x86_64-linux-gnu.so +0 -0
- lalinspiral/_lalinspiral_swig.py +18 -0
- lalinspiral/_thinca.cpython-314t-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-314t-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-314t-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-314t-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.dev20251218.data/scripts/cbcBayesBurstPPAnalysis +305 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesBurstPostProc +1364 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesCombinePTMCMCh5s +100 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesCombinePosteriors +235 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesCompPos +1121 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesDIEvidence +68 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesGraceDBinfo +182 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesMCMC2pos +314 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesPPAnalysis +322 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesPlotSpinDisk +42 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesPosToSimBurst +227 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesPosToSimInspiral +307 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesPostProc +1345 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesThermoInt +107 -0
- lalsuite-7.26.2.dev20251218.data/scripts/imrtgr_imr_consistency_test +796 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_cache +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_path2cache +148 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_searchsum2cache +172 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_simd_detect +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_tconvert +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ComputePSD +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_CopySFTs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_DistanceVsMass +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_MakeSFTDAG +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_PredictFstat +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_SFTclean +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_StringAddFrame +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_StringSearch +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_Weave +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_animate +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_binj +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_blindinj +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_cache +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_cafe +99 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_calfacs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_cbc_stochasticbank +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_chirplen +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_coh_PTF_inspiral +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_coinj +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_combine_crosscorr_toplists +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_compareFstats +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_compareSFTs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_cosmicstring_pipe +525 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_create_time_correction_ephemeris +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_dumpSFT +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_effdist +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_exc_resp +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_fits_header_list +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_fits_overview +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_fits_table_list +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_fr_ninja +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_frextr +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_frinfo +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_frjoin +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_frread +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_frview +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_gwf2xml +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_heterodyne_pulsar +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_inspawgfile +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_inspfrinj +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_inspinj +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_inspiralDistance +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_knope +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_knope_automation_script +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_knope_collate_results +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_knope_result_page +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_makeblindinj +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_makeblindinj_himass +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ninja +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_path2cache +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_power +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_power_likelihood_pipe +219 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_power_pipe +417 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_pulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_pulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_random_bank +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_randombank +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_run_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_searchsum2cache +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_spec_avg +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_spec_coherence +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_spininj +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_splitSFTs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_splitbank +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_apply_vetoes +171 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_calc_likelihood +172 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_contour_plotter +141 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_contour_plotter_largeloops +133 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_cs_gamma +110 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_cs_gamma_largeloops +119 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_final +1064 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_meas_likelihood +264 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_plot_binj +543 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_plot_likelihood +380 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_tconvert +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_tmpltbank +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_xtefitstoframe +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_cluster +156 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_coinc +224 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_cut +425 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_gen_timeslides +254 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_inj_pic +254 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_injfind +170 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_plot_tisi +165 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_power_calc_likelihood +182 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_power_final +1369 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_power_meas_likelihood +206 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_power_plot_binj +934 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_power_plot_binjtf +302 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-cat +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-cksum +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-cut +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-dump +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-fmt +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-paste +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-print +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-split +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-stat +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-stream +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-vis +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalframe_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_bench +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_burst +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_burst_pp_pipe +220 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_coherence_test +139 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_compute_roq_weights +404 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_cpnest +58 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_datadump +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_evolve_spins_and_append_samples +202 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_injectedlike +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_merge_posteriors +57 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_mpi_wrapper +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_multi_pipe +144 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_nest +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_nest2pos +286 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_pipe +512 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_pp_pipe +229 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_review_test +362 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinspiral_injfind +206 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinspiral_thinca +240 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinspiral_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalmetaio_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_ComputePSD +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_CopyPublicSFTs +216 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_MakeSFTDAG +1142 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_MoveSFTs +208 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_PiecewiseSearch +963 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_PredictFstat +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_SFTclean +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_Weave +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_compareFstats +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_compareSFTs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_create_time_correction_ephemeris +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_dumpSFT +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_fits_header_list +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_fits_overview +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_fits_table_list +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_heterodyne +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_knope +145 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_knope_automation_script +731 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_knope_collate_results +675 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_knope_result_page +2977 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_spec_avg +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_spec_coherence +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_splitSFTs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-bh-qnmode +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-bh-ringdown +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-bh-sphwf +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-burst +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-detector-noise +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-detector-strain +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-inject +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-inspiral +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-ns-eos-table +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-ns-mass-radius +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-ns-params +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-sgwb +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-unicorn +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsimulation_version +6 -0
- lalsuite-7.26.2.dev20251218.dist-info/METADATA +90 -0
- lalsuite-7.26.2.dev20251218.dist-info/RECORD +733 -0
- lalsuite-7.26.2.dev20251218.dist-info/WHEEL +5 -0
- lalsuite-7.26.2.dev20251218.dist-info/licenses/COPYING +339 -0
- lalsuite-7.26.2.dev20251218.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-bd4575d4.so.20.5.0 +0 -0
- lalsuite.libs/liblalburst-183caa97.so.8.0.0 +0 -0
- lalsuite.libs/liblalframe-b2539a8a.so.14.0.3 +0 -0
- lalsuite.libs/liblalinference-b273091a.so.23.1.7 +0 -0
- lalsuite.libs/liblalinspiral-37f93c6c.so.18.0.2 +0 -0
- lalsuite.libs/liblalmetaio-f04c856f.so.11.0.1 +0 -0
- lalsuite.libs/liblalpulsar-950e7dfd.so.30.1.1 +0 -0
- lalsuite.libs/liblalsimulation-abda47f7.so.37.2.0 +0 -0
- lalsuite.libs/liblalsupport-ad162801.so.14.4.0 +0 -0
- lalsuite.libs/libmetaio-abda72ec.so.1.1.0 +0 -0
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
# Copyright (C) 2019--2023 Benjamin Grace
|
|
2
|
+
#
|
|
3
|
+
# This program is free software; you can redistribute it and/or modify it
|
|
4
|
+
# under the terms of the GNU General Public License as published by the
|
|
5
|
+
# Free Software Foundation; either version 2 of the License, or (at your
|
|
6
|
+
# option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# This program is distributed in the hope that it will be useful, but
|
|
9
|
+
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
11
|
+
# Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License along
|
|
14
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
|
15
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
16
|
+
|
|
17
|
+
## \file
|
|
18
|
+
## \ingroup lalpulsar_python_piecewise_model
|
|
19
|
+
"""
|
|
20
|
+
Functions for building the semi-coherent metric for the piecewise model.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
import logging
|
|
24
|
+
|
|
25
|
+
import numpy as np
|
|
26
|
+
from scipy import integrate
|
|
27
|
+
|
|
28
|
+
from . import basis_functions as bf
|
|
29
|
+
from . import errors
|
|
30
|
+
|
|
31
|
+
# In this module we build the methods that generate the semi-coherent metric for our piecewise model. Each piecewise
|
|
32
|
+
# segment being a semi-coherent segment.
|
|
33
|
+
|
|
34
|
+
# This method checks whether an integral on the lth segment (starting from a segment number 0) will have a non-zero
|
|
35
|
+
# value if we integrate a basis function attached to the parameter with coordinates (i, borc) (ommitting the s value
|
|
36
|
+
# as this does not effect whether this integral is non-zero or not).
|
|
37
|
+
#
|
|
38
|
+
# Further on in this document we loop over all parameters for our signal model and conduct integrals over the basis
|
|
39
|
+
# functions for these parameters on each interval. This list of parameters we loop over have coordinates (i, k),
|
|
40
|
+
# where we by default have borc = 1. This is done because using the coordinates (i, borc, k) has redundancies. For
|
|
41
|
+
# example, the parameter coordinates (1, 0, k) is the same as (0, 1, k). To get rid of these redundancies we
|
|
42
|
+
# implement the new coordinates (i, k) with borc by default set as 1. To then check whether a parameter's basis
|
|
43
|
+
# function has a non-zero integral over the lth interval, if i == l then we know that that parameter is present on
|
|
44
|
+
# that interval. The other possibility is that i = l - 1 but we have borc = 1. We then check these two cases only,
|
|
45
|
+
# if either one mis True then we know that the associated integral will be non-zero.
|
|
46
|
+
#
|
|
47
|
+
#
|
|
48
|
+
# One might also note that if i = l + 1 and borc = 0 then that parameter will also appear on the lth interval and
|
|
49
|
+
# hence lead to a non-zero integral. This is true, however later in this module we have by default set borc = 1,
|
|
50
|
+
# thus if i = l + 1 by default borc = 1 and that parameter will not appear on the lth interval. Rather unintuitively,
|
|
51
|
+
# if borc = 1 by default then the first parameter actually appears on the -1th segment (despite this segment not
|
|
52
|
+
# being 'real').
|
|
53
|
+
def integralzerocheck(i, borc, l):
|
|
54
|
+
if i == l or (i + 1 == l and borc == 1):
|
|
55
|
+
return True
|
|
56
|
+
else:
|
|
57
|
+
return False
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
# The same as the integralzerocheck method except if we are integrating the product of two basis functions on intervals
|
|
61
|
+
# i1 and i2. Again included only for computational efficiency
|
|
62
|
+
def doubleintegralzerocheck(i1, i2, borc1, borc2, l):
|
|
63
|
+
if integralzerocheck(i1, borc1, l) and integralzerocheck(i2, borc2, l):
|
|
64
|
+
return True
|
|
65
|
+
else:
|
|
66
|
+
return False
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
# Integrates a basis function on the lth interval corresponding to coordinates l, borc and s and then multiplied by
|
|
70
|
+
# 2pi. For the remainder of this file l will refer to the interval we are working on, whereas a coordinate i will
|
|
71
|
+
# refer to the coordinate of the basis function or parameter
|
|
72
|
+
def integratebasisfunctiononl(pe, l, borc, s, coeffs):
|
|
73
|
+
basisfunc = lambda t: bf.basisfunctionvalue(t, l, borc, s, coeffs)
|
|
74
|
+
|
|
75
|
+
ps = bf.p(l)
|
|
76
|
+
|
|
77
|
+
phasederiv = 2 * np.pi * integrate.quad(basisfunc, ps, pe, epsabs=0)[0]
|
|
78
|
+
|
|
79
|
+
return phasederiv
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
# Calculates the time average for the part of our phase that belongs to the lth interval for a parameter with
|
|
83
|
+
# coordinates i, borc and k
|
|
84
|
+
def singlephaseaverageonl(l, i, borc, s, coeffs):
|
|
85
|
+
if integralzerocheck(i, borc, l):
|
|
86
|
+
if i == l:
|
|
87
|
+
phasederiv = lambda t: integratebasisfunctiononl(t, l, borc, s, coeffs)
|
|
88
|
+
else:
|
|
89
|
+
phasederiv = lambda t: integratebasisfunctiononl(t, l, borc - 1, s, coeffs)
|
|
90
|
+
else:
|
|
91
|
+
phasederiv = 0
|
|
92
|
+
|
|
93
|
+
# Changed ints to large value because changing of how we generate knots
|
|
94
|
+
ps = bf.p(l)
|
|
95
|
+
|
|
96
|
+
# Case put in for when we generate knots and the l + 1th knot is currently being generated and doesn't exist yet
|
|
97
|
+
if l + 1 >= len(bf.knotslist):
|
|
98
|
+
pe = bf.knotslist[-1]
|
|
99
|
+
else:
|
|
100
|
+
pe = bf.p(l + 1)
|
|
101
|
+
|
|
102
|
+
return 1 / (pe - ps) * integrate.quad(phasederiv, ps, pe)[0]
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
# Calculates the product of two averaged phase functions for the given parameter coordinates on the lth interval
|
|
106
|
+
def singlephaseaveragesquaredonl(l, i1, i2, borc1, borc2, s1, s2, coeffs):
|
|
107
|
+
if doubleintegralzerocheck(i1, i2, borc1, borc2, l):
|
|
108
|
+
if i1 == l:
|
|
109
|
+
parta = singlephaseaverageonl(l, l, borc1, s1, coeffs)
|
|
110
|
+
else:
|
|
111
|
+
parta = singlephaseaverageonl(l, l, borc1 - 1, s1, coeffs)
|
|
112
|
+
|
|
113
|
+
if i2 == l:
|
|
114
|
+
partb = singlephaseaverageonl(l, l, borc2, s2, coeffs)
|
|
115
|
+
else:
|
|
116
|
+
partb = singlephaseaverageonl(l, l, borc2 - 1, s2, coeffs)
|
|
117
|
+
|
|
118
|
+
return parta * partb
|
|
119
|
+
|
|
120
|
+
else:
|
|
121
|
+
return 0
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
# Calculates the average of the product of two phase functions for the given parameter coordinates on the lth interval
|
|
125
|
+
def doublephaseaverageonl(l, i1, i2, borc1, borc2, s1, s2, coeffs):
|
|
126
|
+
if doubleintegralzerocheck(i1, i2, borc1, borc2, l):
|
|
127
|
+
if i1 == l:
|
|
128
|
+
parta = lambda t: integratebasisfunctiononl(t, l, borc1, s1, coeffs)
|
|
129
|
+
else:
|
|
130
|
+
parta = lambda t: integratebasisfunctiononl(t, l, borc1 - 1, s1, coeffs)
|
|
131
|
+
|
|
132
|
+
if i2 == l:
|
|
133
|
+
partb = lambda t: integratebasisfunctiononl(t, l, borc2, s2, coeffs)
|
|
134
|
+
else:
|
|
135
|
+
partb = lambda t: integratebasisfunctiononl(t, l, borc2 - 1, s2, coeffs)
|
|
136
|
+
|
|
137
|
+
# Changed ints to large value because changing of how we generate knots
|
|
138
|
+
ps = bf.p(l)
|
|
139
|
+
|
|
140
|
+
# Case put in for when we generate knots and the l + 1th knot is currently being generated and doesn't exist yet
|
|
141
|
+
if l + 1 >= len(bf.knotslist):
|
|
142
|
+
pe = bf.knotslist[-1]
|
|
143
|
+
else:
|
|
144
|
+
pe = bf.p(l + 1)
|
|
145
|
+
|
|
146
|
+
doubleaverage = lambda x: parta(x) * partb(x)
|
|
147
|
+
|
|
148
|
+
return 1 / (pe - ps) * integrate.quad(doubleaverage, ps, pe)[0]
|
|
149
|
+
|
|
150
|
+
else:
|
|
151
|
+
return 0
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
# Calculates the metric element corresponding to the parameter with the given coordinates on the lth interval
|
|
155
|
+
def metricelementonl(l, i1, i2, borc1, borc2, s1, s2, coeffs):
|
|
156
|
+
singleaveragedsquared = singlephaseaveragesquaredonl(
|
|
157
|
+
l, i1, i2, borc1, borc2, s1, s2, coeffs
|
|
158
|
+
)
|
|
159
|
+
doubleaverage = doublephaseaverageonl(l, i1, i2, borc1, borc2, s1, s2, coeffs)
|
|
160
|
+
|
|
161
|
+
return doubleaverage - singleaveragedsquared
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
# Converts from the coordinates (i, k) to (i, borc, k)
|
|
165
|
+
def twocoordstothreecoords(i, s):
|
|
166
|
+
if i == -1:
|
|
167
|
+
return [0, 0, s]
|
|
168
|
+
|
|
169
|
+
else:
|
|
170
|
+
return [i, 1, s]
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
# Returns the list of coordinates that correspond to all parameters that will go into the computation of the metric
|
|
174
|
+
# without repetition
|
|
175
|
+
def coordslist(s):
|
|
176
|
+
coords = []
|
|
177
|
+
ints = len(bf.knotslist) - 1
|
|
178
|
+
for i in range(-1, ints):
|
|
179
|
+
for thiss in range(s):
|
|
180
|
+
coords.append([i, thiss])
|
|
181
|
+
|
|
182
|
+
return coords
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
# Calculates the metric associated with the lth interval. The appropriate coordinates for all parameters and
|
|
186
|
+
# coefficients for all basis functions must be given as input. Returns matrix with dimensions equal to the full
|
|
187
|
+
# semicoherent metric. To use the metric with the appropriate dimensions for the given interval, use the method
|
|
188
|
+
# metriconlcorrectdims
|
|
189
|
+
def metriconl(l, coords, coeffs):
|
|
190
|
+
thismet = []
|
|
191
|
+
|
|
192
|
+
newcoords = []
|
|
193
|
+
|
|
194
|
+
for c in coords:
|
|
195
|
+
newcoords.append(twocoordstothreecoords(c[0], c[1]))
|
|
196
|
+
|
|
197
|
+
for nc in newcoords:
|
|
198
|
+
thisrow = []
|
|
199
|
+
for nnc in newcoords:
|
|
200
|
+
metelem = metricelementonl(
|
|
201
|
+
l, nc[0], nnc[0], nc[1], nnc[1], nc[2], nnc[2], coeffs
|
|
202
|
+
)
|
|
203
|
+
|
|
204
|
+
thisrow.append(metelem)
|
|
205
|
+
|
|
206
|
+
thismet.append(thisrow)
|
|
207
|
+
|
|
208
|
+
return np.array(thismet)
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
# Calculates the semicoherent metric for the given parameters
|
|
212
|
+
def metric(s):
|
|
213
|
+
coeffs = bf.allcoeffs(s)
|
|
214
|
+
coords = coordslist(s)
|
|
215
|
+
|
|
216
|
+
metsonints = []
|
|
217
|
+
ints = len(bf.knotslist) - 1
|
|
218
|
+
for l in range(ints):
|
|
219
|
+
metsonints.append(metriconl(l, coords, coeffs))
|
|
220
|
+
|
|
221
|
+
thismet = np.zeros(np.shape(metsonints[0]))
|
|
222
|
+
|
|
223
|
+
for met in metsonints:
|
|
224
|
+
thismet += met
|
|
225
|
+
|
|
226
|
+
return 1 / ints * thismet
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
# Returns the metric component for a single segment of length Tdata, symbolically computed in Mathematica.
|
|
230
|
+
# As the value of the metric should be independent of the start time, we do not need the knot values p0, p1,
|
|
231
|
+
# but only the length of the segment, Tdata. While it may appear that some of the float denominators are not
|
|
232
|
+
# exact (e.g. 1.89189e7), this is not the case and they are the exact value as calculated by Mathematica
|
|
233
|
+
def PreCompSingleSegMetric(Tdata, s):
|
|
234
|
+
p1 = float(Tdata)
|
|
235
|
+
Pi = np.pi
|
|
236
|
+
|
|
237
|
+
if s == 3:
|
|
238
|
+
firstrow = [
|
|
239
|
+
(5975 * p1**2 * Pi**2) / 63063.0,
|
|
240
|
+
(13859 * p1**3 * Pi**2) / 630630.0,
|
|
241
|
+
(475 * p1**4 * Pi**2) / 252252.0,
|
|
242
|
+
(9071 * p1**2 * Pi**2) / 126126.0,
|
|
243
|
+
(-23333 * p1**3 * Pi**2) / 1.26126e6,
|
|
244
|
+
(4259 * p1**4 * Pi**2) / 2.52252e6,
|
|
245
|
+
]
|
|
246
|
+
secondrow = [
|
|
247
|
+
(13859 * p1**3 * Pi**2) / 630630.0,
|
|
248
|
+
(2764 * p1**4 * Pi**2) / 525525.0,
|
|
249
|
+
(321 * p1**5 * Pi**2) / 700700.0,
|
|
250
|
+
(23333 * p1**3 * Pi**2) / 1.26126e6,
|
|
251
|
+
(-29713 * p1**4 * Pi**2) / 6.3063e6,
|
|
252
|
+
(8077 * p1**5 * Pi**2) / 1.89189e7,
|
|
253
|
+
]
|
|
254
|
+
thirdrow = [
|
|
255
|
+
(475 * p1**4 * Pi**2) / 252252.0,
|
|
256
|
+
(321 * p1**5 * Pi**2) / 700700.0,
|
|
257
|
+
(127 * p1**6 * Pi**2) / 3.15315e6,
|
|
258
|
+
(4259 * p1**4 * Pi**2) / 2.52252e6,
|
|
259
|
+
(-8077 * p1**5 * Pi**2) / 1.89189e7,
|
|
260
|
+
(233 * p1**6 * Pi**2) / 6.054048e6,
|
|
261
|
+
]
|
|
262
|
+
fourthrow = [
|
|
263
|
+
(9071 * p1**2 * Pi**2) / 126126.0,
|
|
264
|
+
(23333 * p1**3 * Pi**2) / 1.26126e6,
|
|
265
|
+
(4259 * p1**4 * Pi**2) / 2.52252e6,
|
|
266
|
+
(5975 * p1**2 * Pi**2) / 63063.0,
|
|
267
|
+
(-13859 * p1**3 * Pi**2) / 630630.0,
|
|
268
|
+
(475 * p1**4 * Pi**2) / 252252.0,
|
|
269
|
+
]
|
|
270
|
+
fifthrow = [
|
|
271
|
+
(-23333 * p1**3 * Pi**2) / 1.26126e6,
|
|
272
|
+
(-29713 * p1**4 * Pi**2) / 6.3063e6,
|
|
273
|
+
(-8077 * p1**5 * Pi**2) / 1.89189e7,
|
|
274
|
+
(-13859 * p1**3 * Pi**2) / 630630.0,
|
|
275
|
+
(2764 * p1**4 * Pi**2) / 525525.0,
|
|
276
|
+
(-321 * p1**5 * Pi**2) / 700700.0,
|
|
277
|
+
]
|
|
278
|
+
sixthrow = [
|
|
279
|
+
(4259 * p1**4 * Pi**2) / 2.52252e6,
|
|
280
|
+
(8077 * p1**5 * Pi**2) / 1.89189e7,
|
|
281
|
+
(233 * p1**6 * Pi**2) / 6.054048e6,
|
|
282
|
+
(475 * p1**4 * Pi**2) / 252252.0,
|
|
283
|
+
(-321 * p1**5 * Pi**2) / 700700.0,
|
|
284
|
+
(127 * p1**6 * Pi**2) / 3.15315e6,
|
|
285
|
+
]
|
|
286
|
+
|
|
287
|
+
metric = [firstrow, secondrow, thirdrow, fourthrow, fifthrow, sixthrow]
|
|
288
|
+
|
|
289
|
+
return metric
|
|
290
|
+
elif s == 2:
|
|
291
|
+
firstrow = [
|
|
292
|
+
(583 * p1**2 * Pi**2) / 6300.0,
|
|
293
|
+
(223 * p1**3 * Pi**2) / 12600.0,
|
|
294
|
+
(467 * p1**2 * Pi**2) / 6300.0,
|
|
295
|
+
(-197 * p1**3 * Pi**2) / 12600.0,
|
|
296
|
+
]
|
|
297
|
+
secondrow = [
|
|
298
|
+
(223 * p1**3 * Pi**2) / 12600.0,
|
|
299
|
+
(11 * p1**4 * Pi**2) / 3150.0,
|
|
300
|
+
(197 * p1**3 * Pi**2) / 12600.0,
|
|
301
|
+
(-41 * p1**4 * Pi**2) / 12600.0,
|
|
302
|
+
]
|
|
303
|
+
thirdrow = [
|
|
304
|
+
(467 * p1**2 * Pi**2) / 6300.0,
|
|
305
|
+
(197 * p1**3 * Pi**2) / 12600.0,
|
|
306
|
+
(583 * p1**2 * Pi**2) / 6300.0,
|
|
307
|
+
(-223 * p1**3 * Pi**2) / 12600.0,
|
|
308
|
+
]
|
|
309
|
+
fourthrow = [
|
|
310
|
+
(-197 * p1**3 * Pi**2) / 12600.0,
|
|
311
|
+
(-41 * p1**4 * Pi**2) / 12600.0,
|
|
312
|
+
(-223 * p1**3 * Pi**2) / 12600.0,
|
|
313
|
+
(11 * p1**4 * Pi**2) / 3150.0,
|
|
314
|
+
]
|
|
315
|
+
|
|
316
|
+
return [firstrow, secondrow, thirdrow, fourthrow]
|
|
317
|
+
|
|
318
|
+
else:
|
|
319
|
+
logging.debug(
|
|
320
|
+
"Given value of S has not yet been accounted for. Value of S given: "
|
|
321
|
+
+ str(s)
|
|
322
|
+
)
|
|
323
|
+
raise errors.ValueOfSNotAccountedFor()
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
def PreCompMetric(s):
|
|
327
|
+
if s != 3 and s != 2:
|
|
328
|
+
logging.debug(
|
|
329
|
+
"Given value of S has not yet been accounted for. Value of S given: "
|
|
330
|
+
+ str(s)
|
|
331
|
+
)
|
|
332
|
+
raise errors.ValueOfSNotAccountedFor()
|
|
333
|
+
|
|
334
|
+
segs = len(bf.knotslist) - 1
|
|
335
|
+
|
|
336
|
+
segmentmetrics = []
|
|
337
|
+
|
|
338
|
+
for seg in range(segs):
|
|
339
|
+
Tseg = bf.knotslist[seg + 1] - bf.knotslist[seg]
|
|
340
|
+
|
|
341
|
+
thismetric = PreCompSingleSegMetric(Tseg, s)
|
|
342
|
+
|
|
343
|
+
segmentmetrics.append(thismetric)
|
|
344
|
+
|
|
345
|
+
metric = np.zeros((s * (segs + 1), s * (segs + 1)))
|
|
346
|
+
|
|
347
|
+
for i, thismetric in enumerate(segmentmetrics):
|
|
348
|
+
|
|
349
|
+
prependzeros = [0 for j in range(i * s)]
|
|
350
|
+
appendzeros = [0 for j in range((segs - 1 - i) * s)]
|
|
351
|
+
zerorow = [0 for j in range((segs + 1) * s)]
|
|
352
|
+
|
|
353
|
+
submetric = []
|
|
354
|
+
|
|
355
|
+
prependzerorows = i * s
|
|
356
|
+
appendzerorows = (segs - 1 - i) * s
|
|
357
|
+
|
|
358
|
+
for j in range(prependzerorows):
|
|
359
|
+
submetric.append(zerorow)
|
|
360
|
+
|
|
361
|
+
for row in thismetric:
|
|
362
|
+
thisrow = []
|
|
363
|
+
|
|
364
|
+
thisrow = thisrow + prependzeros
|
|
365
|
+
thisrow = thisrow + row
|
|
366
|
+
thisrow = thisrow + appendzeros
|
|
367
|
+
|
|
368
|
+
submetric.append(thisrow)
|
|
369
|
+
|
|
370
|
+
for j in range(appendzerorows):
|
|
371
|
+
submetric.append(zerorow)
|
|
372
|
+
|
|
373
|
+
metric += np.array(submetric)
|
|
374
|
+
|
|
375
|
+
return 1 / segs * metric
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
# Copyright (C) 2019--2023 Benjamin Grace
|
|
2
|
+
#
|
|
3
|
+
# This program is free software; you can redistribute it and/or modify it
|
|
4
|
+
# under the terms of the GNU General Public License as published by the
|
|
5
|
+
# Free Software Foundation; either version 2 of the License, or (at your
|
|
6
|
+
# option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# This program is distributed in the hope that it will be useful, but
|
|
9
|
+
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
11
|
+
# Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License along
|
|
14
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
|
15
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
16
|
+
|
|
17
|
+
## \file
|
|
18
|
+
## \ingroup lalpulsar_python_piecewise_model
|
|
19
|
+
"""
|
|
20
|
+
Function to estimate the size of piecewise model template banks.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
import logging
|
|
24
|
+
import time
|
|
25
|
+
|
|
26
|
+
import numpy as np
|
|
27
|
+
|
|
28
|
+
import lal
|
|
29
|
+
import lalpulsar as lp
|
|
30
|
+
|
|
31
|
+
from . import basis_functions as bf
|
|
32
|
+
from . import semicoherent_metric_methods as scmm
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
# Returns tiling statistics from a tiling object
|
|
36
|
+
def tilingstatistics(tiling, dim, iterator=-1):
|
|
37
|
+
|
|
38
|
+
if iterator == 0:
|
|
39
|
+
totalpoints = []
|
|
40
|
+
minpoints = []
|
|
41
|
+
maxpoints = []
|
|
42
|
+
minvals = []
|
|
43
|
+
maxvals = []
|
|
44
|
+
|
|
45
|
+
for i in range(dim):
|
|
46
|
+
logging.debug("Dim :" + str(i))
|
|
47
|
+
tilingstats = lp.LatticeTilingStatistics(tiling, i)
|
|
48
|
+
totalpoints.append(tilingstats.total_points)
|
|
49
|
+
minpoints.append(tilingstats.min_points)
|
|
50
|
+
maxpoints.append(tilingstats.max_points)
|
|
51
|
+
minvals.append(tilingstats.min_value)
|
|
52
|
+
maxvals.append(tilingstats.max_value)
|
|
53
|
+
|
|
54
|
+
logging.info("Total points up to dimension: %s", str(totalpoints))
|
|
55
|
+
logging.info("Min points in dimension: %s", str(minpoints))
|
|
56
|
+
logging.info("Max points in dimension: %s", str(maxpoints))
|
|
57
|
+
logging.info("Min value in dimension: %s", str(minvals))
|
|
58
|
+
logging.info("Max value in dimension: %s", str(maxvals))
|
|
59
|
+
|
|
60
|
+
alltilingstats = [totalpoints, minpoints, maxpoints, minvals, maxvals]
|
|
61
|
+
|
|
62
|
+
return alltilingstats
|
|
63
|
+
|
|
64
|
+
else:
|
|
65
|
+
return []
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
# Sets the bounds on the tiling lattice by the parameters given in a TBank object
|
|
69
|
+
def setbounds(tiling, tbank):
|
|
70
|
+
s = tbank.s
|
|
71
|
+
fmin = tbank.fmin
|
|
72
|
+
fmax = tbank.fmax
|
|
73
|
+
nmin = tbank.nmin
|
|
74
|
+
nmax = tbank.nmax
|
|
75
|
+
kmin = tbank.kmin
|
|
76
|
+
kmax = tbank.kmax
|
|
77
|
+
dur = tbank.dur
|
|
78
|
+
mismatch = tbank.maxmismatch
|
|
79
|
+
|
|
80
|
+
bbox = tbank.flags_bbox
|
|
81
|
+
intbox = tbank.flags_intbox
|
|
82
|
+
|
|
83
|
+
knots = bf.knotslist
|
|
84
|
+
|
|
85
|
+
lp.SetLatticeTilingPiecewiseBounds(
|
|
86
|
+
tiling, s, fmin, fmax, nmin, nmax, kmin, kmax, knots, bbox, intbox
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
# Returns number of templates required to cover a parameter space with given knots
|
|
91
|
+
def recursivetbanksize(
|
|
92
|
+
s,
|
|
93
|
+
fmin,
|
|
94
|
+
fmax,
|
|
95
|
+
nmin,
|
|
96
|
+
nmax,
|
|
97
|
+
kmin,
|
|
98
|
+
kmax,
|
|
99
|
+
knots,
|
|
100
|
+
mismatch,
|
|
101
|
+
printouts=1000000,
|
|
102
|
+
recdepth=1,
|
|
103
|
+
prevalidtempsandnmin=[-1, -1],
|
|
104
|
+
metric=[],
|
|
105
|
+
):
|
|
106
|
+
|
|
107
|
+
filename = "BInd_" + str(fmin) + "_" + str(fmax) + ".txt"
|
|
108
|
+
|
|
109
|
+
if nmin < nmin:
|
|
110
|
+
return prevalidtempsandnmin
|
|
111
|
+
|
|
112
|
+
finalknot = len(knots)
|
|
113
|
+
|
|
114
|
+
# Create LatticeTiling object
|
|
115
|
+
tiling = lp.CreateLatticeTiling(s * finalknot)
|
|
116
|
+
|
|
117
|
+
bf.knotslist = knots
|
|
118
|
+
logging.info("Knots list: %s", str(bf.knotslist))
|
|
119
|
+
|
|
120
|
+
logging.info("Computing metric")
|
|
121
|
+
|
|
122
|
+
if metric == []:
|
|
123
|
+
metric = scmm.metric(s)
|
|
124
|
+
|
|
125
|
+
logging.info("Metric calculated")
|
|
126
|
+
|
|
127
|
+
stepsizes = [np.sqrt(2 / metric[i][i]) for i in range(s * finalknot)]
|
|
128
|
+
logging.info("Maximum parameter step sizes: %s", str(stepsizes))
|
|
129
|
+
|
|
130
|
+
# Set Bounds
|
|
131
|
+
lp.SetLatticeTilingPiecewiseBounds(
|
|
132
|
+
tiling, s, fmin, fmax, nmin, nmax, kmin, kmax, knots
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
# Set metric, mismatch and lattice type
|
|
136
|
+
lp.SetTilingLatticeAndMetric(tiling, lp.TILING_LATTICE_ANSTAR, metric, mismatch)
|
|
137
|
+
|
|
138
|
+
# Create Iterator
|
|
139
|
+
iterator = lp.CreateLatticeTilingIterator(tiling, s * finalknot)
|
|
140
|
+
lp.ResetLatticeTilingIterator(iterator)
|
|
141
|
+
|
|
142
|
+
start = time.time()
|
|
143
|
+
tiles = 0
|
|
144
|
+
|
|
145
|
+
p = lal.gsl_vector(s * finalknot)
|
|
146
|
+
|
|
147
|
+
while lp.NextLatticeTilingPoint(iterator, p) != 0:
|
|
148
|
+
|
|
149
|
+
tiles += 1
|
|
150
|
+
if tiles % printouts == 0:
|
|
151
|
+
logging.info("Current number of tiles: %s", str(tiles))
|
|
152
|
+
logging.info("Elapsed time: %s", str(time.time() - start))
|
|
153
|
+
|
|
154
|
+
if tiles > 10**8:
|
|
155
|
+
break
|
|
156
|
+
|
|
157
|
+
if lp.NextLatticeTilingPoint(iterator, p) != 0:
|
|
158
|
+
|
|
159
|
+
if recdepth >= 12:
|
|
160
|
+
|
|
161
|
+
if prevalidtempsandnmin[0] != -1:
|
|
162
|
+
logging.info(
|
|
163
|
+
"Final recursive step. Valid range found. Frequency range: %s, braking index range: %s",
|
|
164
|
+
str([fmin, fmax]),
|
|
165
|
+
str([nmin, nmax]),
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
f = open(filename, "a")
|
|
169
|
+
f.write(str([nmin, tiles]) + "\n")
|
|
170
|
+
f.close()
|
|
171
|
+
|
|
172
|
+
return prevalidtempsandnmin
|
|
173
|
+
|
|
174
|
+
else:
|
|
175
|
+
logging.info(
|
|
176
|
+
"Final recdepth %s reached with no valid range found. Frequency range: %s, braking index range: %s",
|
|
177
|
+
str(recdepth),
|
|
178
|
+
str([fmin, fmax]),
|
|
179
|
+
str([nmin, nmax]),
|
|
180
|
+
)
|
|
181
|
+
|
|
182
|
+
f = open(filename, "a")
|
|
183
|
+
f.write(str([nmin, tiles]) + "\n")
|
|
184
|
+
f.close()
|
|
185
|
+
|
|
186
|
+
return [-1, 10**8]
|
|
187
|
+
|
|
188
|
+
else:
|
|
189
|
+
logging.info(
|
|
190
|
+
"Recursive step %s. No valid range found for this nmin. Frequency range: %s, braking index range: %s",
|
|
191
|
+
str(recdepth),
|
|
192
|
+
str([fmin, fmax]),
|
|
193
|
+
str([nmin, nmax]),
|
|
194
|
+
)
|
|
195
|
+
|
|
196
|
+
f = open(filename, "a")
|
|
197
|
+
f.write(str([nmin, tiles]) + "\n")
|
|
198
|
+
f.close()
|
|
199
|
+
|
|
200
|
+
newnmin = nmin + (nmax - nmin) * 2 ** -(recdepth + 1)
|
|
201
|
+
return recursivetbanksize(
|
|
202
|
+
s,
|
|
203
|
+
fmin,
|
|
204
|
+
fmax,
|
|
205
|
+
newnmin,
|
|
206
|
+
nmax,
|
|
207
|
+
kmin,
|
|
208
|
+
kmax,
|
|
209
|
+
knots,
|
|
210
|
+
mismatch,
|
|
211
|
+
printouts=printouts,
|
|
212
|
+
recdepth=recdepth + 1,
|
|
213
|
+
metric=metric,
|
|
214
|
+
)
|
|
215
|
+
|
|
216
|
+
else:
|
|
217
|
+
if recdepth >= 12:
|
|
218
|
+
logging.info(
|
|
219
|
+
"Statistics calculated: %s",
|
|
220
|
+
str(
|
|
221
|
+
tilingstatistics(
|
|
222
|
+
tiling,
|
|
223
|
+
s * finalknot,
|
|
224
|
+
iterator=lp.NextLatticeTilingPoint(iterator, p),
|
|
225
|
+
)
|
|
226
|
+
),
|
|
227
|
+
)
|
|
228
|
+
logging.info(
|
|
229
|
+
"Frequency range: %s, Braking index range: %s",
|
|
230
|
+
str([fmin, fmax]),
|
|
231
|
+
str([nmin, nmax]),
|
|
232
|
+
)
|
|
233
|
+
logging.info("Final tile count: %s", str(tiles))
|
|
234
|
+
logging.info("Total elapsed time: %s", str(time.time() - start))
|
|
235
|
+
|
|
236
|
+
logging.info(
|
|
237
|
+
"Final recursive step. Valid range found. Frequency range: %s, braking index range: %s",
|
|
238
|
+
str([fmin, fmax]),
|
|
239
|
+
str([nmin, nmax]),
|
|
240
|
+
)
|
|
241
|
+
|
|
242
|
+
f = open(filename, "a")
|
|
243
|
+
f.write(str([nmin, tiles]) + "\n")
|
|
244
|
+
f.close()
|
|
245
|
+
|
|
246
|
+
return [tiles, nmin]
|
|
247
|
+
|
|
248
|
+
else:
|
|
249
|
+
logging.info(
|
|
250
|
+
"Statistics calculated: %s",
|
|
251
|
+
str(
|
|
252
|
+
tilingstatistics(
|
|
253
|
+
tiling,
|
|
254
|
+
s * finalknot,
|
|
255
|
+
iterator=lp.NextLatticeTilingPoint(iterator, p),
|
|
256
|
+
)
|
|
257
|
+
),
|
|
258
|
+
)
|
|
259
|
+
logging.info(
|
|
260
|
+
"Frequency range: %s, Braking index range: %s",
|
|
261
|
+
str([fmin, fmax]),
|
|
262
|
+
str([nmin, nmax]),
|
|
263
|
+
)
|
|
264
|
+
logging.info("Final tile count: %s", str(tiles))
|
|
265
|
+
logging.info("Total elapsed time: %s", str(time.time() - start))
|
|
266
|
+
|
|
267
|
+
logging.info(
|
|
268
|
+
"Recursive step %s. Valid range found for this nmin. Frequency range: %s, braking index range: %s",
|
|
269
|
+
str(recdepth),
|
|
270
|
+
str([fmin, fmax]),
|
|
271
|
+
str([nmin, nmax]),
|
|
272
|
+
)
|
|
273
|
+
|
|
274
|
+
f = open(filename, "a")
|
|
275
|
+
f.write(str([nmin, tiles]) + "\n")
|
|
276
|
+
f.close()
|
|
277
|
+
|
|
278
|
+
newnmin = nmin - (nmax - nmin) * 2 ** -(recdepth + 1)
|
|
279
|
+
return recursivetbanksize(
|
|
280
|
+
s,
|
|
281
|
+
fmin,
|
|
282
|
+
fmax,
|
|
283
|
+
newnmin,
|
|
284
|
+
nmax,
|
|
285
|
+
kmin,
|
|
286
|
+
kmax,
|
|
287
|
+
knots,
|
|
288
|
+
mismatch,
|
|
289
|
+
printouts=printouts,
|
|
290
|
+
prevalidtempsandnmin=[tiles, nmin],
|
|
291
|
+
recdepth=recdepth + 1,
|
|
292
|
+
metric=metric,
|
|
293
|
+
)
|