From 3bd94f07ac7eab13ba7dd9f1ba80ea52f3193cb4 Mon Sep 17 00:00:00 2001 From: Nathanael Bosch Date: Wed, 17 Jul 2024 18:25:55 +0200 Subject: [PATCH] Paper WIP, now with github action --- .github/workflows/draft-pdf.yml | 24 ++++++++++ paper/paper.bib | 49 +++++++++++++++++-- paper/paper.md | 84 +++++++-------------------------- 3 files changed, 86 insertions(+), 71 deletions(-) create mode 100644 .github/workflows/draft-pdf.yml diff --git a/.github/workflows/draft-pdf.yml b/.github/workflows/draft-pdf.yml new file mode 100644 index 000000000..196d07aab --- /dev/null +++ b/.github/workflows/draft-pdf.yml @@ -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.pdf diff --git a/paper/paper.bib b/paper/paper.bib index ca29f0ae6..e2b5a41ec 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -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, @@ -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 @@ -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, } \ No newline at end of file diff --git a/paper/paper.md b/paper/paper.md index b02850549..0f2007db5 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -20,68 +20,27 @@ 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. +# Statement of need -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. +- 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 -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 @@ -90,18 +49,7 @@ For a quick reference, the following citation commands can be used: - `@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}. - -Figure sizes can be customized by adding an optional second parameter: -![Caption for example figure.](figure.png){ width=20% } +- `@probdiffeq`: very related software package in JAX [`@jax2018github`] # Acknowledgements