Skip to content

Commit cef922b

Browse files
committed
Add JOSS paper
1 parent 91dfc0a commit cef922b

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

joss_paper/paper.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
11
---
2+
<<<<<<< HEAD
23
title: 'volesti: C++ library for sampling and volume computation on convex bodies'
4+
=======
5+
title: 'volesti: A C++ library for sampling and volume computation on convex bodies'
6+
>>>>>>> 7a9d674 (Add JOSS paper)
37
tags:
48
- C++
59
- geometry
610
- randomization
11+
<<<<<<< HEAD
712
- Monte-Carlo methods
13+
=======
14+
- Monte Carlo methods
15+
>>>>>>> 7a9d674 (Add JOSS paper)
816
- convexity
917
authors:
1018
- name: Apostolos Chalkis
@@ -26,7 +34,11 @@ affiliations:
2634
index: 1
2735
- name: Quantagonia
2836
index: 2
37+
<<<<<<< HEAD
2938
- name: Inria Paris and IMJ-PRG, Sorbonne Universit\`e
39+
=======
40+
- name: Inria Paris and IMJ-PRG, Sorbonne Universit\'e
41+
>>>>>>> 7a9d674 (Add JOSS paper)
3042
index: 3
3143
- name: GeomScale
3244
index: 4
@@ -44,6 +56,7 @@ bodies are fundamental operations that appear in optimization, finance,
4456
engineering, artificial intelligence, and machine learning.
4557
We present `volesti`, a C++ library that delivers efficient implementations of state-of-the-art, mainly randomized, algorithms
4658
to sample from general logconcave distributions.
59+
<<<<<<< HEAD
4760
Based on these routines can estimate the volume of convex bodies in high dimensions,
4861
round them and also compute multidimensional integrals over them.
4962
The backbone of our library consists of Monte-Carlo algorithms,
@@ -52,18 +65,34 @@ high-dimensional statistical tests to certify and verify the output.
5265

5366
The focus of `volesti`' is scalability in high dimensions,
5467
that, depending on the problem at hand, could be in the order of hundreds or thousands dimension.
68+
=======
69+
Based on these routines, we can estimate the volume of convex bodies in high dimensions,
70+
round them, and compute multidimensional integrals over them.
71+
The backbone of our library consists of Monte Carlo algorithms,
72+
which are randomized algorithms, the output of which can be incorrect with (usually very small) error probability; thus, we also provide several
73+
high-dimensional statistical tests to certify and verify the output.
74+
75+
The focus of `volesti`' is scalability in high dimensions,
76+
that, depending on the problem at hand, could range from hundreds to thousands of dimensions.
77+
>>>>>>> 7a9d674 (Add JOSS paper)
5578
Another novelty is the ability to handle a variety of different inputs
5679
for the constrained support of the various distributions.
5780
`volesti` supports three different types of polyhedra [@Ziegler:1995], spectrahedra [@Ramana:1999]
5881
and general non-linear convex objects.
5982

83+
<<<<<<< HEAD
6084
`volesti` relies on `Eigen` library [@eigen] for linear algebra but also support `MKL` optimizations [@mkl].
6185
There are R [@Chalkis:2021] and Python [@Chalkis_dingo:2023] interfaces available;
6286
alas not all C++ functionality is available in through these interfaces.
87+
=======
88+
`volesti` relies on `Eigen` library [@eigen] for linear algebra but also supports `MKL` optimizations [@mkl].
89+
There are R [@Chalkis:2021] and Python [@Chalkis_dingo:2023] interfaces available.
90+
>>>>>>> 7a9d674 (Add JOSS paper)
6391
6492
# Statement of need
6593

6694
High-dimensional sampling from multivariate distributions with Markov Chain Monte Carlo (MCMC)
95+
<<<<<<< HEAD
6796
algorithms is a fundamental problem with many applications in the whole spectrum of science and engineering [@Iyengar:1988;
6897
@Somerville:1998; @Genz:2009; @Schellenberger:2009].
6998
In particular, multivariate integration over a convex set
@@ -117,5 +146,48 @@ but also to more theoretical and mathematical challenges, like the computation o
117146

118147
We would like to thank the contributors to the `volesti` library for their valuable contributions and
119148
feedback.
149+
=======
150+
algorithms is a fundamental problem with many applications in science and engineering [@Iyengar:1988; @Somerville:1998; @Genz:2009; @Schellenberger:2009].
151+
In particular, multivariate integration over a convex set as well as the volume approximation of convex sets have garnered significant attention from theorists and engineers over the last decades.
152+
Nevertheless, these problems are computationally hard for general dimensions [@Dyer:1988].
153+
MCMC algorithms made remarkable progress and their use allowed us to efficiently tackle the problems of sampling and volume estimation of convex bodies in theory,
154+
by the introduction of (rigorous) theoretical guarantees [@Chen:2018; @Lee:2018;
155+
@Mangoubi:2019].
156+
Unfortunately, these theoretical guarantees of the MCMC algorithms
157+
do not extend in a straightforward manner to efficient implementations able to attack problems coming from real-life computations.
158+
Therefore, we witnessed the birth of efficient in practice MCMC algorithm
159+
that relax the theoretical guarantees and employ new algorithmic and statistical techniques
160+
to be amenable to efficient implementations.
161+
Remarkably, these algorithms, and the corresponding implementations,
162+
also meet the requirements for high accuracy results
163+
[@Emiris:2014; @Cousins:2015; @Chalkis_volume:2023; @Kook:2022];
164+
however several existing published methods are available as part of propertiary packages (MATLAB) [@Cousins:2015; @Kook:2022].
165+
166+
Our open-source package -- volesti -- offers all of the aforementioned functionality, together with the support of sampling from general log-concave densities @Chalkis_hmc:2023, and uniform sampling from spectrahedra @Chalkis_spectra:2022.
167+
168+
Our implementation supports:
169+
1. support various sampling techniques based on geometric walks, roughly speaking these are a continuous version of MCMC algorithms, such as Billard walk, Hamiltonian walk and others,
170+
2. give the user the ability to sample from various distributions, like uniform, exponential, Gaussian, and general log-concave densities,
171+
3. allows to consider the distributions constrained in various convex domains, such as hypercubes, zonotopes, general polytopes (defined either as a set of linear inequalities or as a convex hull of a pointset), spectrahedra (feasible sets of semidefinite programs), and,
172+
4. can perform volume computations, integration, and solve problems from real life applications in very high dimensions.
173+
174+
# Impact
175+
176+
`volesti` has been used extensively in various research and engineering projects coauthored by the authors of this paper.
177+
In particular, for the problem of sampling the flux space of metabolic networks
178+
we were able to sample from the most complicated human metabolic network accessible today, Recon3D [@cftz-socg021],
179+
used to model financial crises [@ccef-crises-j],
180+
to detect low volatility anomalies in stock markets [@bcft-aistats-23],
181+
to introduce randomized control in asset pricing and portfolio performance evaluation [@bcft-arxiv-24]), but also to sample from (and compute the volume of) spectrahedra [@Chalkis_spectra:2022], the feasible regions of semidefinite programs.
182+
183+
Even more, `volesti` has been used by other research teams in conducting research in electric power systems [@Venzke:2019], for problems in probabilistic inference [@Spallitta:2024],
184+
to perform resource analysis on programs [@pham-phd-2024];
185+
but also for more theoretical and mathematical challenges, like the computation of topological invariants [@co-alenex-2021], and persistent homology [@vm-fods-2022].
186+
187+
# Acknowledgements
188+
189+
We would like to thank the contributors to the `volesti` library for their valuable contributions and feedback.
190+
MP was partially supported by a Cornell University Fellowship, a grant from the A.G. Leventis Foundation, a grant from the Gerondelis Foundation, and a LinkedIn Ph.D. Fellowship.
191+
>>>>>>> 7a9d674 (Add JOSS paper)
120192
121193
# References

0 commit comments

Comments
 (0)