This document provides an introduction to using Google Colab and the PyCBC Python package for basic gravitational wave data analysis. It describes how Google Colab allows running Python code in the cloud for free using a Jupyter notebook. It also summarizes tutorials on the LIGO Open Science Center for loading and manipulating strain data, and an overview of waveform generation methods in PyCBC like Taylor, IMR and EOB approximations.
This document provides an introduction to using Google Colab and the PyCBC Python package for basic gravitational wave data analysis. It describes how Google Colab allows running Python code in the cloud for free using a Jupyter notebook. It also summarizes tutorials on the LIGO Open Science Center for loading and manipulating strain data, and an overview of waveform generation methods in PyCBC like Taylor, IMR and EOB approximations.
This document provides an introduction to using Google Colab and the PyCBC Python package for basic gravitational wave data analysis. It describes how Google Colab allows running Python code in the cloud for free using a Jupyter notebook. It also summarizes tutorials on the LIGO Open Science Center for loading and manipulating strain data, and an overview of waveform generation methods in PyCBC like Taylor, IMR and EOB approximations.
This document provides an introduction to using Google Colab and the PyCBC Python package for basic gravitational wave data analysis. It describes how Google Colab allows running Python code in the cloud for free using a Jupyter notebook. It also summarizes tutorials on the LIGO Open Science Center for loading and manipulating strain data, and an overview of waveform generation methods in PyCBC like Taylor, IMR and EOB approximations.
Download as PPTX, PDF, TXT or read online from Scribd
Download as pptx, pdf, or txt
You are on page 1of 19
Basic Data Analysis and
PyCBC Tutorial with Google
Colab Wei Ren Xu Outline • Basic gravitational wave data analysis tutorial with Google Colab • What is Google Colab? • Basic operation of Google Colab • Gravitational Wave Open Science Center • LOSC tutorial • The strain data files • Power spectrum density • Whitening process • Power leakage • Matched filter • Basic PyCBC usage with Google Colab • What is PyCBC? • Waveform generation • Taylor waveform • IMR waveform • EOB waveform Basic Gravitational Wave Data Analysis with Google Colab What is Google Colab? • Google Colab is a free service provided by Google, it support jupyter- nobook IDE for Python. • Each computation node contain 2 Intel(R) Xeon(R) CPU and 2 K80 GPU. Basic operation of Google Colab • Upload files to virtual machine Gravitational Wave Open Science Center • https://www.gw-openscience.org/about/ LOSC tutorial • https://www.gw-openscience.org/GW150914data/LOSC_Event_tutori al_GW150914.html • Download the zip file, which contain all material about this tutorial. • Upload the files in folder ‘LOSC_Event_tutorial/ LOSC_Event_tutorial/’ to google colab. The strain data files • H-H1_LOSC_4_V1-1167559920-32.hdf5 • L-L1_LOSC_4_V2-1135136334-32.hdf5 • The strain file contain a time series with 4096 sample rate. The length of the time series is 32 seconds. • In python, we use h5py library to read the hdf5 files. Power spectrum density • The power spectrum density (PSD) describe the power of a time series in different frequency band. • Here we use python module matplotlib.pyplot.psd to calculate PSD. The module measure PSD via Welch’s method. • The Welch’s method: https://ieeexplore.ieee.org/document/1161901 Whitening process • In data analysis, we usually assume the noise is Gaussian and white, but in gravitational wave detector, the noise is color. • The whitening process divide the data by PSD in frequency domain, weighting the noise power in each frequency band. •. Power leakage • Because the stain data is not periodic, the Fourier transformation will cause a large amplitude at the beginning and the end of the transformed data, this phenomenon is called the power leakage.
• There are two ways to solve this problem:
• Apply window function on the transformed data. • Just cutting off the power leakage part. Matched filter • Matched filter is a standard method to extract a known signal in a noisy background. • The matched filter process can be shown as follow
is the template in frequency domain.
Basic PyCBC usage with Google Colab What is PyCBC? • PyCBC is a gravitational wave data analysis package maintained by LIGO. It contains algorithms that can detect coalescing compact binaries and do parameter estimation. • The PyCBC is not a default package of colab, you can install it on your colab with command as follow • import sys • !{sys.executable} -m pip install pycbc lalsuite ligo-common --no-cache-dir • https://pycbc.org/pycbc/latest/html/index.html Waveform generation • As mentioned above, the matched filter need gravitational wave waveform template, the most accurate waveform can be generated by numerical relativity simulation, but it is very slow. So some waveform approximation method had been develop. • Here list three main approximation method • Taylor waveform • IMR waveform • EOB waveform Taylor waveform • Taylor waveform expand small parameters, like velocity, to obtain an approximate solution of Einstein field equation which behave like Newtonian gravity (Post-Newtonian approximation). • The post-Newtonian approximation is under the assumption that gravity is weak, so it can only generate inspiral part. IMR waveform • IMR waveform construct a phenomenological waveform in the Fourier domain, then fitting with a full inspiral-merge-ringdown waveform. •. • IMR waveform can generate whole gravitational wave waveform. • https://arxiv.org/abs/0704.3764v3 EOB waveform • EOB waveform mapping a binary system to a one test particle under a effective extra field system. • EOB waveform is thought to be the waveform that most close to numerical result. • Similar to IMR waveform, EOB waveform can also generate whole gravitational wave waveform. • https://arxiv.org/abs/gr-qc/9811091v1 Waveform generation • In PyCBC, you can generate the waveform via two modules • get_td_waveform for time domain waveform. • get_fd_waveform for frequency domain waveform.