The scientific Python ecosystem is critical infrastructure for the research done at LIGO.
About Gravitational Waves and LIGO
Gravitational waves are ripples in the fabric of space and time, generated by cataclysmic events in the universe such as collision and merging of two black holes or coalescing binary stars or supernovae. Observing GW can not only help in studying gravity but also in understanding some of the obscure phenomena in the distant universe and its impact.
The Laser Interferometer Gravitational-Wave Observatory (LIGO) was designed to open the field of gravitational-wave astrophysics through the direct detection of gravitational waves predicted by Einstein’s General Theory of Relativity. It comprises two widely separated interferometers within the United States — one in Hanford, Washington and the other in Livingston, Louisiana — operated in unison to detect gravitational waves. Each of them has multi-kilometer-scale gravitational wave detectors that use laser interferometry. The LIGO Scientific Collaboration (LSC), is a group of more than 1000 scientists from universities around the United States and in 14 other countries supported by more than 90 universities and research institutes; approximately 250 students actively contributing to the collaboration. The new LIGO discovery is the first observation of gravitational waves themselves, made by measuring the tiny disturbances the waves make to space and time as they pass through the earth. It has opened up new astrophysical frontiers that explore the warped side of the universe—objects and phenomena that are made from warped spacetime.
- Though its mission is to detect gravitational waves from some of the most violent and energetic processes in the Universe, the data LIGO collects may have far-reaching effects on many areas of physics including gravitation, relativity, astrophysics, cosmology, particle physics, and nuclear physics.
- Crunch observed data via numerical relativity computations that involves complex maths in order to discern signal from noise, filter out relevant signal and statistically estimate significance of observed data
- Data visualization so that the binary / numerical results can be comprehended.
Gravitational Waves are hard to detect as they produce a very small effect and have tiny interaction with matter. Processing and analyzing all of LIGO’s data requires a vast computing infrastructure.After taking care of noise, which is billions of times of the signal, there is still very complex relativity equations and huge amounts of data which present a computational challenge: O(10^7) CPU hrs needed for binary merger analyses spread on 6 dedicated LIGO clusters
As observational devices become more sensitive and reliable, the challenges posed by data deluge and finding a needle in a haystack rise multi-fold. LIGO generates terabytes of data every day! Making sense of this data requires an enormous effort for each and every detection. For example, the signals being collected by LIGO must be matched by supercomputers against hundreds of thousands of templates of possible gravitational-wave signatures.
Once the obstacles related to understanding Einstein’s equations well enough to solve them using supercomputers are taken care of, the next big challenge was making data comprehensible to the human brain. Simulation modeling as well as signal detection requires effective visualization techniques. Visualization also plays a role in lending more credibility to numerical relativity in the eyes of pure science aficionados, who did not give enough importance to numerical relativity until imaging and simulations made it easier to comprehend results for a larger audience. Speed of complex computations and rendering, re-rendering images and simulations using latest experimental inputs and insights can be a time consuming activity that challenges researchers in this domain.
NumPy’s Role in the Detection of Gravitational Waves
Gravitational waves emitted from the merger cannot be computed using any technique except brute force numerical relativity using supercomputers. The amount of data LIGO collects is as incomprehensibly large as gravitational wave signals are small.
NumPy, the standard numerical analysis package for Python, was utilized by the software used for various tasks performed during the GW detection project at LIGO. NumPy helped in solving complex maths and data manipulation at high speed. Here are some examples:
- Signal Processing: Glitch detection, Noise identification and Data Characterization (NumPy, scikit-learn, scipy, matplotlib, pandas, pyCharm)
- Data retrieval: Deciding which data can be analyzed, figuring out whether it contains a signal - needle in a haystack
- Statistical analysis: estimate the statistical significance of observational data, estimating the signal parameters (e.g. masses of stars, spin velocity, and distance) by comparison with a model.
- Visualization of data
- Time series
- Compute Correlations
- Key Software developed in GW data analysis such as GwPy and PyCBC uses NumPy and AstroPy under the hood for providing object based interfaces to utilities, tools, and methods for studying data from gravitational-wave detectors.
GW detection has enabled researchers to discover entirely unexpected phenomena while providing new insight into many of the most profound astrophysical phenomena known. Number crunching and data visualization is a crucial step that helps scientists gain insights into data gathered from the scientific observations and understand the results. The computations are complex and cannot be comprehended by humans unless it is visualized using computer simulations that are fed with the real observed data and analysis. NumPy along with other Python packages such as matplotlib, pandas, and scikit-learn is enabling researchers to answer complex questions and discover new horizons in our understanding of the universe.