Skip to content

Commit

Permalink
Merge pull request #159 from aseyboldt/joss_edits
Browse files Browse the repository at this point in the history
JOSS: Add self as author and mention rust interface
  • Loading branch information
roualdes authored Jul 20, 2023
2 parents b535370 + f380504 commit 4d98bb0
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ tags:
- Python
- Julia
- R
- Rust
- C
- C++
- automatic differentiation
Expand All @@ -22,16 +23,21 @@ authors:
orcid: 0000-0002-2433-9688
equal-contrib: true
affiliation: 2
- name: Adrian Seyboldt
orcid: 0000-0002-4239-4541
affiliation: 3
- name: Seth D. Axen
orcid: 0000-0003-3933-8247
affiliation: 3
affiliation: 4
affiliations:
- name: California State University, Chico
index: 1
- name: Center for Computational Mathematics, Flatiron Institute
index: 2
- name: "Cluster of Excellence Machine Learning: New Perspectives for Science, University of Tübingen"
- name: PyMC Labs
index: 3
- name: "Cluster of Excellence Machine Learning: New Perspectives for Science, University of Tübingen"
index: 4
date: 5 January 2022
bibliography: paper.bib
---
Expand All @@ -45,7 +51,7 @@ unconstrained posterior log densities, gradients, and Hessians as well as
constraining/unconstraining transforms. Implementation is provided through
automatic differentiation in the Stan math library
[@Carpenter:2015]. `BridgeStan` provides in-memory access to the methods of Stan
models through Python, Julia, and R. This allows algorithm development in these
models through Python, Julia, R, and Rust. This allows algorithm development in these
languages with the numerical efficiency and expressiveness of Stan models.
Furthermore, these features are exposed through a language-agnostic C API,
allowing foreign function interfaces in other languages to utilize `BridgeStan`
Expand Down Expand Up @@ -87,7 +93,7 @@ implementations of statistical algorithms, allowing for more fair comparisons.

`BridgeStan` is an interface, written in C-compatible C++, between a Stan
program and any higher level language that exposes a C foreign function
interface. Julia, Python, and R each have C foreign function interfaces. Using
interface. Julia, Python, R, and Rust each have C foreign function interfaces. Using
memory allocated within such higher level languages, `BridgeStan` provides
computations of the log joint density function and corresponding gradient of a Stan
model, which is itself implemented using highly templated C++ from the Stan math
Expand Down Expand Up @@ -127,8 +133,8 @@ parallel applications. They also support all of the internal
parallelization of Stan models, such as internal parallel map
functions and GPU-enabled matrix operations.

`BridgeStan` enables memory allocated in the host language (Julia, Python, or
R), to be reused within Stan, though any language with a C foreign function
`BridgeStan` enables memory allocated in the host language (Julia, Python, R, or Rust),
to be reused within Stan, though any language with a C foreign function
interface could be similarly interfaced to access Stan methods. For instance,
the `BridgeStan` function `log_density_gradient` has as an optional output argument the
array into which the gradient will be stored. By avoiding unnecessary copies,
Expand Down

0 comments on commit 4d98bb0

Please sign in to comment.