Table of Contents
Fetching ...

py5vec: a modular Python package for the 5-vector method to search for continuous gravitational waves

Luca D'Onofrio, Federico Muciaccia, Lorenzo Mirasola, Matthew Pitkin, Cristiano Palomba, Paola Leaci, Francesco Safai Tehrani, Francesco Amicucci, Lorenzo Silvestri, Lorenzo Pierini

Abstract

We present \texttt{py5vec}, a Python package for implementing and extending the 5-vector method, used to search for continuous gravitational wave (CW) signals. We also provide a comprehensive theoretical review of the 5-vector method and extend the relative likelihood formalism by marginalizing over the noise variance, resulting in a more robust Student's t-likelihood, and over the initial phase to account for pulsar glitches. \texttt{py5vec} provides a modular architecture that separates data representation, signal demodulation, and statistical inference into independent abstract stages. It supports multiple input data formats and interoperates with existing Python software, providing a bridge between different approaches. For example, using a \texttt{bilby}-based interface, \texttt{py5vec} implements Bayesian parameter estimation within the 5-vector formalism for the first time. The modular design also allows for making exact multi-level and direct comparisons between other software, such as \texttt{cwinpy} and \texttt{SNAG} in MATLAB. In \texttt{py5vec}, we implement a multidetector targeted search for known pulsars, validated using LIGO data from the O4a run and hardware injections, demonstrating consistent reconstruction of signal parameters. This package therefore provides a flexible platform for current targeted searches and for future extensions to other CW search strategies.

py5vec: a modular Python package for the 5-vector method to search for continuous gravitational waves

Abstract

We present \texttt{py5vec}, a Python package for implementing and extending the 5-vector method, used to search for continuous gravitational wave (CW) signals. We also provide a comprehensive theoretical review of the 5-vector method and extend the relative likelihood formalism by marginalizing over the noise variance, resulting in a more robust Student's t-likelihood, and over the initial phase to account for pulsar glitches. \texttt{py5vec} provides a modular architecture that separates data representation, signal demodulation, and statistical inference into independent abstract stages. It supports multiple input data formats and interoperates with existing Python software, providing a bridge between different approaches. For example, using a \texttt{bilby}-based interface, \texttt{py5vec} implements Bayesian parameter estimation within the 5-vector formalism for the first time. The modular design also allows for making exact multi-level and direct comparisons between other software, such as \texttt{cwinpy} and \texttt{SNAG} in MATLAB. In \texttt{py5vec}, we implement a multidetector targeted search for known pulsars, validated using LIGO data from the O4a run and hardware injections, demonstrating consistent reconstruction of signal parameters. This package therefore provides a flexible platform for current targeted searches and for future extensions to other CW search strategies.
Paper Structure (23 sections, 54 equations, 10 figures, 2 tables)

This paper contains 23 sections, 54 equations, 10 figures, 2 tables.

Figures (10)

  • Figure 1: Overall architecture of the py5vec framework. Dashed boxes are still to be implemented but they are shown for how they could be integrated in the future.
  • Figure 2: Comparison between the squared amplitude of the fast Fourier transform of the heterodyned data from py5vec (input BSD data, phase reconstructed using cwinpy), SNAG (input BSD data, phase reconstructed using independent MATLAB routine in SNAG), HeterodynedData (input format used by cwinpy). The top plot shows a small frequency band of the band-limited data for the hardware injection HI3, considering the LIGO Livingston O4a dataset, while the bottom plot displays the same comparison for HI16 and the LIGO Hanford O4a detaset. For each plot, a small panel shows the fractional residuals normalized to py5vec.
  • Figure 3: Distribution of each component of the data 5-vectors computed at off-source frequencies to reconstruct from the data the noise distribution of the random variables defined. The black line is the theoretical estimation assuming Gaussian noise in the frequency band considered ($[108,109]$ Hz). For reference, the distribution is inferred from the analysis of the hardware injection HI3 in O4a data from the LIGO Livingston detector.
  • Figure 4: Noise distribution of the detection statistics defined in Eq. \ref{['classicS']} (left) and Eq. \ref{['lambdamax']} (right). The black lines correspond to the theoretical noise distributions assuming Gaussian noise in the considered frequency band ($[108,109]$ Hz). For reference, the distributions are inferred from the analysis of the hardware injection HI3 in O4a data from the LIGO Livingston detector.
  • Figure 5: Posterior distribution functions for the signal parameters from the analysis of the hardware injection HI3 considering the O4a dataset of the two LIGO detectors (L1 is LIGO Livingston, H1 is LIGO Hanford) and the analysis of single and multidetector. The red dots/lines show the injected value.
  • ...and 5 more figures