GithubHelp home page GithubHelp logo

hasasia's Introduction

hasasia

Documentation Status https://codecov.io/gh/Hazboun6/hasasia/branch/master/graph/badge.svg?token=GBKYR808FO Zenodo Badge JOSS Status

A Python package to calculate gravitational-wave sensitivity curves for pulsar timing arrays.

https://raw.githubusercontent.com/Hazboun6/hasasia/master/hasasia_calligraphy.jpg

حساسية (hasasia) is Arabic for sensitivity . Image Credit: Reem Tasyakan

Features

Calculates the following structures needed for signal analysis with pulsars:

  • Pulsar transmission functions
  • Inverse-noise-weighted transmission functions
  • Individual pulsar sensitivity curves.
  • Pulsar timing array sensitivity curves as characteristic strain, strain sensitivity or energy density.
  • Power-law integrated sensitivity curves.
  • Sensitivity sky maps for pulsar timing arrays

Getting Started

hasasia is on the Python Package Inventory, so the easiest way to get started is by using pip to install:

pip install hasasia

The pulsar and spectrum objects are used to build sensitivity curves for full PTAs. The Spectrum object has all of the information needed for the pulsar.

import hasasia.sensitivity as hsen

toas = np.arange(54378,59765,22) #Choose a range of times-of-arrival
toaerrs = 1e-7*np.ones_like(toas) #Set all errors to 100 ns
psr = hsen.Pulsar(toas=toas,toaerrs=toaerrs)
spec = hsen.Spectrum(psr)

Publication

This work is featured in a publication, currently released on the arXiv. If you would like to reference the formalism used in this work please use the following attribution:

@article{Hazboun:2019vhv,
            author = {{Hazboun}, Jeffrey S. and {Romano}, Joseph D. and {Smith}, Tristan L.},
             title = "{Realistic sensitivity curves for pulsar timing arrays}",
           journal = {\prd},
          keywords = {General Relativity and Quantum Cosmology, Astrophysics - Instrumentation and Methods for Astrophysics},
              year = 2019,
             month = nov,
            volume = {100},
            number = {10},
               eid = {104028},
             pages = {104028},
               doi = {10.1103/PhysRevD.100.104028},
       archivePrefix = {arXiv},
            eprint = {1907.04341},
       primaryClass = {gr-qc},
            adsurl = {https://ui.adsabs.harvard.edu/abs/2019PhRvD.100j4028H},
           adsnote = {Provided by the SAO/NASA Astrophysics Data System}
         }

Otherwise if you would like to reference the Python package use the following citation:

@article{Hazboun2019Hasasia,
               journal      = {Journal of Open Source Software},
               doi          = {10.21105/joss.01775},
               issn         = {2475-9066},
               number       = {42},
               publisher    = {The Open Journal},
         title        = {Hasasia: A Python package for Pulsar Timing Array Sensitivity Curves},
         url          = {http://dx.doi.org/10.21105/joss.01775},
               volume       = {4},
               author       = {Hazboun, Jeffrey and Romano, Joseph and Smith, Tristan},
               pages        = {1775},
               date         = {2019-10-23},
               year         = {2019},
               month        = {10},
               day          = {23},
         }

Credits

Development Team: Jeffrey S. Hazboun, Joseph D. Romano and Tristan L. Smith

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

hasasia's People

Contributors

ark0015 avatar gourliek avatar hazboun6 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hasasia's Issues

add PSR name property to Spectrum

It would be helpful to have more useful metadata bundled in the hasasia.Spectrum object. This would make it easier to save and reuse spectra by pickling a list of hasasia.Spectrum objects.

In particular for plotting and sorting, the tutorials zip lists of hasasia.Pulsar objects and hasasia.Spectrum objects together for loops in order to get the Pulsar.name. A name property could be added to the spectrum at creation. Other metadata may be helpful too.

Deterministic SNR

Suggestions for Improvement

Include functionality for using SNR with deterministic case using equation 76 in the arxiv version of the 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.