Skip to content

Commit

Permalink
Paper WIP, now with github action
Browse files Browse the repository at this point in the history
  • Loading branch information
nathanaelbosch committed Jul 17, 2024
1 parent 41408e4 commit 0e8661f
Show file tree
Hide file tree
Showing 3 changed files with 104 additions and 89 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/draft-pdf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Draft PDF
on: [push]

jobs:
paper:
runs-on: ubuntu-latest
name: Paper Draft
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build draft PDF
uses: openjournals/openjournals-draft-action@master
with:
journal: joss
# This should be the path to the paper within your repo.
paper-path: paper/paper.md
- name: Upload
uses: actions/upload-artifact@v4
with:
name: paper
# This is the output path where Pandoc will write the compiled
# PDF. Note, this should be the same directory as the input
# paper.md
path: paper/paper.pdf
49 changes: 46 additions & 3 deletions paper/paper.bib
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@


@InProceedings{krämer2021probabilistic,
title = {Probabilistic {ODE} Solutions in Millions of Dimensions},
author = {Kr{\"a}mer, Nicholas and Bosch, Nathanael and Schmidt,
Expand Down Expand Up @@ -57,7 +55,6 @@ @inproceedings{beck2024diffusion
url = {https://openreview.net/forum?id=43HZG9zwaj}
}


@misc{wenger2021probnum,
title = {ProbNum: Probabilistic Numerics in Python},
author = {Jonathan Wenger and Nicholas Krämer and Marvin Pförtner and
Expand All @@ -68,4 +65,50 @@ @misc{wenger2021probnum
eprint = {2112.02100},
archivePrefix ={arXiv},
primaryClass = {cs.MS}
}

@InProceedings{dalton2024,
title = {Data-Adaptive Probabilistic Likelihood Approximation for Ordinary Differential Equations},
author = {Wu, Mohan and Lysy, Martin},
booktitle = {Proceedings of The 27th International Conference on Artificial Intelligence and Statistics},
pages = {1018--1026},
year = {2024},
editor = {Dasgupta, Sanjoy and Mandt, Stephan and Li, Yingzhen},
volume = {238},
series = {Proceedings of Machine Learning Research},
month = {02--04 May},
publisher = {PMLR},
pdf = {https://proceedings.mlr.press/v238/wu24b/wu24b.pdf},
url = {https://proceedings.mlr.press/v238/wu24b.html},
}

@article{rackauckas2017differentialequations,
title = {{DifferentialEquations.jl} – A Performant and Feature-Rich
Ecosystem for Solving Differential Equations in Julia},
author = {Rackauckas, Christopher and Nie, Qing},
journal = {Journal of Open Research Software},
volume = 5,
number = 1,
year = 2017,
publisher = {Ubiquity Press}
}

@misc{probdiffeq,
author = {Kr{\"a}mer, Nicholas},
title = {probdiffeq: Probabilistic solvers for differential equations in JAX},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
url = {https://github.com/pnkraemer/probdiffeq}
}

@misc{jax2018github,
author = {James Bradbury and Roy Frostig and Peter Hawkins and Matthew
James Johnson and Chris Leary and Dougal Maclaurin and George
Necula and Adam Paszke and Jake Vander{P}las and Skye
Wanderman-{M}ilne and Qiao Zhang},
title = {{JAX}: composable transformations of {P}ython+{N}um{P}y
programs},
version = {0.2.5},
year = 2018,
}
120 changes: 34 additions & 86 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,88 +20,36 @@ bibliography: paper.bib

# Summary

The forces on stars, galaxies, and dark matter under external gravitational
fields lead to the dynamical evolution of structures in the universe. The orbits
of these bodies are therefore key to understanding the formation, history, and
future state of galaxies. The field of "galactic dynamics," which aims to model
the gravitating components of galaxies to study their structure and evolution,
is now well-established, commonly taught, and frequently used in astronomy.
Aside from toy problems and demonstrations, the majority of problems require
efficient numerical tools, many of which require the same base code (e.g., for
performing numerical orbit integration).
Probabilistic numerical solvers have emerged as an efficient framework for simulation, uncertainty quantification, and inference in dynamical systems.
In comparison to traditional numerical methods, which approximate the true trajectory of a system only by a single point estimate, probabilistic numerical solvers compute a _distribution_ over the true, unknown solution of the given differential equation,
and thereby provide information about the numerical error incurred during the computation.
ProbNumDiffEq.jl is a Julia package that provides probabilistic numerical solvers for ordinary differential equations (ODEs) and differential algebraic equations (DAEs), within the DifferentialEquations.jl ecosystem [@rackauckas2017differentialequations].

# Statement of need

`Gala` is an Astropy-affiliated Python package for galactic dynamics. Python
enables wrapping low-level languages (e.g., C) for speed without losing
flexibility or ease-of-use in the user-interface. The API for `Gala` was
designed to provide a class-based and user-friendly interface to fast (C or
Cython-optimized) implementations of common operations such as gravitational
potential and force evaluation, orbit integration, dynamical transformations,
and chaos indicators for nonlinear dynamics. `Gala` also relies heavily on and
interfaces well with the implementations of physical units and astronomical
coordinate systems in the `Astropy` package [@astropy] (`astropy.units` and
`astropy.coordinates`).

`Gala` was designed to be used by both astronomical researchers and by
students in courses on gravitational dynamics or astronomy. It has already been
used in a number of scientific publications [@Pearson:2017] and has also been
used in graduate courses on Galactic dynamics to, e.g., provide interactive
visualizations of textbook material [@Binney:2008]. The combination of speed,
design, and support for Astropy functionality in `Gala` will enable exciting
scientific explorations of forthcoming data releases from the *Gaia* mission
[@gaia] by students and experts alike.

# Mathematics

Single dollars ($) are required for inline mathematics e.g. $f(x) = e^{\pi/x}$

Double dollars make self-standing equations:

$$\Theta(x) = \left\{\begin{array}{l}
0\textrm{ if } x < 0\cr
1\textrm{ else}
\end{array}\right.$$

You can also use plain \LaTeX for equations
\begin{equation}\label{eq:fourier}
\hat f(\omega) = \int_{-\infty}^{\infty} f(x) e^{i\omega x} dx
\end{equation}
and refer to \autoref{eq:fourier} from text.

# Citations

Citations to entries in paper.bib should be in
[rMarkdown](http://rmarkdown.rstudio.com/authoring_bibliographies_and_citations.html)
format.

If you want to cite a software repository URL (e.g. something on GitHub without a preferred
citation) then you can do it with the example BibTeX entry below for @fidgit.

For a quick reference, the following citation commands can be used:
- `@author:2001` -> "Author et al. (2001)"
- `[@author:2001]` -> "(Author et al., 2001)"
- `[@author1:2001; @author2:2001]` -> "(Author1 et al., 2001; Author2 et al., 2002)"

- `@bosch20_calib_adapt_probab_ode_solver`: developed + implemented
- `@bosch21_pick_and_mix_infor_operat`: developed + implemented
- `@krämer2021probabilistic`: implemented
- `@tronarp2022fenrir`: developed + implemented
- `@bosch2023probabilistic`: developed + implemented
- `@beck2024diffusion`: developed
- `@wenger2021probnum`: related software package
- DALTON: did they compare against my code?
- BlackBox PN? Probabilistic richardson extrapolation paper?
- probdiffeq: related code

# Figures

Figures can be included like this:
![Caption for example figure.\label{fig:example}](figure.png)
and referenced from text using \autoref{fig:example}.
# Statement of need

Figure sizes can be customized by adding an optional second parameter:
![Caption for example figure.](figure.png){ width=20% }
- Facilitate new probabilistic numerics research for developing new methods within the code base. Examples:
@bosch20_calib_adapt_probab_ode_solver
@bosch21_pick_and_mix_infor_operat
@krämer2021probabilistic
@tronarp2022fenrir
@bosch2023probabilistic
@beck2024diffusion
- Provide probabilisitc ODE solvers to the broader community:
- Baselines to compare against for methods development
- Tools for practitioners to use in their work


- @bosch20_calib_adapt_probab_ode_solver: developed + implemented
- @bosch21_pick_and_mix_infor_operat: developed + implemented
- @krämer2021probabilistic: implemented
- @tronarp2022fenrir: developed + implemented
- @bosch2023probabilistic: developed + implemented
- @beck2024diffusion: developed
- @wenger2021probnum: related software package
- @probdiffeq: very related software package in JAX [@jax2018github]

# Acknowledgements

Expand All @@ -111,15 +59,15 @@ The authors thank the International Max Planck Research School for Intelligent S
The authors are grateful to Nicholas Krämer for many valuable discussion and to Jonathan Schmidt for feedback on the manuscript.

We acknowledge contributions from
Pietro Monticone (@pitmonticone),
Vedant Puri (@vpuri3),
Tim Holy (@timholy),
Daniel González Arribas (@DaniGlez),
David Widmann (@devmotion),
Christopher Rackauckas (@ChrisRackauckas),
Qingyu Qu (@ErikQQY),
Cornelius Roemer (@corneliusroemer),
and Jose Storopoli (@storopoli).
Pietro Monticone (\@pitmonticone),
Vedant Puri (\@vpuri3),
Tim Holy (\@timholy),
Daniel González Arribas (\@DaniGlez),
David Widmann (\@devmotion),
Christopher Rackauckas (\@ChrisRackauckas),
Qingyu Qu (\@ErikQQY),
Cornelius Roemer (\@corneliusroemer),
and Jose Storopoli (\@storopoli).


# References

0 comments on commit 0e8661f

Please sign in to comment.