Code Monkey home page Code Monkey logo

12p5yr_stochastic_analysis's Introduction

NANOGrav_12yr_tutorial

Tutorial to go with the 12.5 year GWB analysis

Generic badge MIT license made-with-python Generic badge

Authors: Stephen Taylor, Sarah Vigeland, Joe Simon, Bence Becsy and Aaron Johnson for the NANOGrav Collaboration

Please send questions about this tutorial to aaron.johnson (at) nanograv.org

Installing PTA software

  1. Install Miniconda

    • Either...download and install the relevant Miniconda file from here: https://docs.conda.io/en/latest/miniconda.html
    • OR... use Terminal command line installation
      • Download the right one for your architecture

        • Mac: wget -q https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
        • Linux: wget -q https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
        • Windows (untested): wget -q https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
      • bash Miniconda3-latest-Linux-x86_64.sh -b

      • rm Miniconda3-latest-Linux-x86_64.sh (careful with โ€œrmโ€)

  2. Make sure you have compiler tools for Mac or Linux (Windows is currently not supported)

    • For Mac: in a terminal run xcode-select --install to install command line tools
    • For Linux: in a terminal run apt-get install gcc g++ gfortran
  3. To install a new environment from a yml file: conda env create -f environment.yml

  4. This will create a conda environment that can be activated by conda activate enterprise

  5. After activating install nb_conda by conda install nb_conda

  6. Open a jupyter notebook

  7. Set the Kernel

    • when opening a new notebook: click New and select Python [conda env:enterprise]
    • when opening an existing notebook (like this tutorial): click Kernel --> Change Kernel --> Python [conda env:enterprise]

Tutorials

Single Pulsar GWB Analysis

This tutorial is meant to be a quick introduction for those who don't have time to run the computations required in the full pulsar timing array (PTA) gravitational wave background (GWB) analysis. We go through the Bayesian analysis of J1909 and J1713. These are two of the longest timed pulsars in the NANOGrav data set. One of the pulsars supports the GWB, while the other does not.

White Noise Single Pulsar Analysis

Here we go through the Bayesian analysis of white noise on a single pulsar. This is done for every pulsar in the NANOGrav data set to find the most likely values of each white noise parameter. These are then set to their most likely value in the full GWB analysis to reduce the computational time required for a full analysis.

PTA GWB Analysis

In this tutorial, we work through the Bayesian analysis of a subset of pulsars in the NANOGrav data set (those timed for more than 6 years). After going through a generalized process of the single pulsar GWB analysis, we show how to compare models and compute Bayes factors. Figures 1, 2, and part of 3 of the 12.5 year stochastic background paper are reproduced in this notebook.

Optimal Statistic Analysis

This tutorial gives an introduction to frequentist methods we can use to look for the stochastic gravitational-wave background. It calculates the optimal statistic using the maximum likelihood noise parameters and also the noise marginalized optimal statistic using the noise parameter posteriors from a Bayesian analysis. It reproduces Figure 4 and 5 of the stochastic background paper.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.