https://github.com/blackholeperturbationtoolkit/kerrgeodesic_gw

A SageMath package to compute gravitational radiation from bodies orbiting a Kerr black hole

https://github.com/blackholeperturbationtoolkit/kerrgeodesic_gw

Science Score: 33.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
    1 of 5 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary

Keywords

blackhole gravitational-waves kerr
Last synced: 10 months ago · JSON representation

Repository

A SageMath package to compute gravitational radiation from bodies orbiting a Kerr black hole

Basic Info
  • Host: GitHub
  • Owner: BlackHolePerturbationToolkit
  • License: gpl-2.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 3.52 MB
Statistics
  • Stars: 11
  • Watchers: 9
  • Forks: 5
  • Open Issues: 0
  • Releases: 0
Topics
blackhole gravitational-waves kerr
Created over 7 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog License

README.md

kerrgeodesic_gw

A SageMath package to compute gravitational radiation from material orbiting a Kerr black hole

This package makes use of SageMath functionalities developed through the SageManifolds project and is part of the Black Hole Perturbation Toolkit.

Installation

Requirements

This package requires the Python-based free mathematics software system SageMath (at least version 9.3). For versions of SageMath lower than 9.3, only version 0.3.2 of the package will work.

NB: the version of SageMath shipped with Ubuntu 20.04 is only 9.0; instead of the Ubuntu package sagemath, install then the most recent binary for Ubuntu 20.04 from SageMath download page.

Simple installation from PyPI

It suffices to run

sage -pip install kerrgeodesic_gw

to have the package ready to use in SageMath. See however install from source below if you want to build a local version of the documentation or modify the source files (development).

NB1 (Ubuntu users): if you have installed SageMath as the system package sagemath (e.g. via apt-get install), the installation is system wide and does not allow to use -pip install at the user level. Install instead SageMath from the most recent binary tar ball for Ubuntu from SageMath download page.

NB2: on the CoCalc cloud computing platform, you need to add the option --user, i.e. open a terminal and run

sage -pip install --user kerrgeodesic_gw

Here is the kerrgeodesic_gw page on PyPI (the Python Package Index).

Install from source

Download the source from the git repository:

git clone https://github.com/BlackHolePerturbationToolkit/kerrgeodesic_gw.git

This creates a directory kerrgeodesic_gw.

Run

sage -pip install --upgrade --no-index -v kerrgeodesic_gw

to install the package in SageMath. A shortcut of the above command is provided by the Makefile distributed with the package:

cd kerrgeodesic_gw
make install

NB: on CoCalc, you need to add the option --user, i.e. open a terminal and run

git clone https://github.com/BlackHolePerturbationToolkit/kerrgeodesic_gw.git
sage -pip install --user --upgrade --no-index -v kerrgeodesic_gw

Install for development

If you plan to edit the package source, you should add the option -e to the pip install, i.e. run

sage -pip install --upgrade --no-index -v -e kerrgeodesic_gw

or equivalently

cd kerrgeodesic_gw
make develop

Usage

Once the package is installed, you can use it in SageMath, like for instance:

sage: from kerrgeodesic_gw import spin_weighted_spherical_harmonic
sage: theta, phi = var('theta phi')
sage: spin_weighted_spherical_harmonic(-2, 2, 1, theta, phi)
1/4*(sqrt(5)*cos(theta) + sqrt(5))*e^(I*phi)*sin(theta)/sqrt(pi)

Usage in a virtual Python environment (no SageMath installation required)

Download the source from the git repository:

git clone https://github.com/BlackHolePerturbationToolkit/kerrgeodesic_gw.git

This creates a directory kerrgeodesic_gw. Change to that directory:

cd kerrgeodesic_gw

Create and activate a virtual environment:

python3 -m venv venv_kerrgeodesic_gw
. venv_kerrgeodesic_gw/bin/activate

Install the package in the virtual environment:

pip install -e .[passagemath]

This automatically installs the modularized parts of the Sage library that are needed by the package.

Start Python:

python3

Import and use the package:

>>> from sage.all__sagemath_symbolics import *
>>> from sage.all__sagemath_plot import *
>>> from kerrgeodesic_gw import spin_weighted_spherical_harmonic
>>> theta, phi = var('theta phi')
>>> spin_weighted_spherical_harmonic(-2, 2, 1, theta, phi)
1/4*(sqrt(5)*cos(theta) + sqrt(5))*e^(I*phi)*sin(theta)/sqrt(pi)

Tests

This package is configured for tests written in the documentation strings of the source files, also known as doctests. You may then test the install by running, from the root of the package tree (i.e. the directory kerrgeodesic_gw created by the git clone),

sage -t kerrgeodesic_gw

You should then get the message All tests passed!

Alternatively, you can run (from the same directory)

make test

Documentation

The package documentation can be generated using SageMath's Sphinx installation:

cd docs
sage -sh -c "make html"

A shorthand of the above is

make doc

The html reference manual is then at

kerrgeodesic_gw/docs/build/html/index.html

For the LaTeX documentation, use

make doc-pdf

The pdf reference manual is then

kerrgeodesic_gw/docs/build/latex/kerrgeodesic_gw.pdf

Online documentation

Authors

  • Eric Gourgoulhon
  • Alexandre Le Tiec
  • Frederic Vincent
  • Niels Warburton

Reference: E. Gourgoulhon, A. Le Tiec, F. H. Vincent & N. Warburton: Gravitational waves from bodies orbiting the Galactic center black hole and their detectability by LISA, A&A 627, A92 (2019) (preprint: arXiv:1903.02049)

Owner

  • Name: Black Hole Perturbation Toolkit
  • Login: BlackHolePerturbationToolkit
  • Kind: organization

Open tools for black hole perturbation theory

GitHub Events

Total
  • Watch event: 5
  • Push event: 4
  • Pull request review event: 2
  • Pull request event: 6
  • Fork event: 1
Last Year
  • Watch event: 5
  • Push event: 4
  • Pull request review event: 2
  • Pull request event: 6
  • Fork event: 1

Committers

Last synced: over 3 years ago

All Time
  • Total Commits: 120
  • Total Committers: 5
  • Avg Commits per committer: 24.0
  • Development Distribution Score (DDS): 0.033
Top Committers
Name Email Commits
Eric Gourgoulhon e****n@o****r 116
Niels Warburton n****w@g****m 1
konrad-topolski k****2@s****l 1
Barry Wardell b****l@g****m 1
Frédéric Chapoton f****2@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: almost 2 years ago

All Time
  • Total issues: 0
  • Total pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 hour
  • Total issue authors: 0
  • Total pull request authors: 3
  • Average comments per issue: 0
  • Average comments per pull request: 1.67
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • mkoeppe (3)
  • barrywardell (1)
  • fchapoton (1)
  • konrad-topolski (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 401 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 15
  • Total maintainers: 1
pypi.org: kerrgeodesic-gw

Gravitational radiation from material orbiting a Kerr black hole

  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 401 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 15.4%
Stargazers count: 19.4%
Dependent repos count: 21.6%
Average: 22.7%
Downloads: 46.9%
Maintainers (1)
Last synced: 11 months ago

Dependencies

setup.py pypi
  • sphinx *