Build volesti reference - GeomScale/gsod2021 GitHub Wiki

Overview

GeomScale's software package volesti provides efficient multidimensional sampling and volume computations in high dimensions. These computational tools are crucial for multiply purposes, including modern machine learning and data science. For example, using sampling, we can solve efficiently problems in optimization, while volume computation, a fundamental and computationally hard problem, is a cornerstone for efficient algorithms for integration. Moreover, volesti provides functionality for high-dimensional copula estimation that is useful, among other things, to model financial crises. volesti is written in C++ but there are also interfaces in R and python.

An introduction to volesti is of great interest as it concerns several diverged scientific and business communities. This documentation should explain how volesti can be used (a) to handle abstract geometric notions in practice, (b) to perform hard computations giving ordinary as well as extreme examples, and (c) to solve difficult problems presented in scientific and business applications.

In this project we want to focus on building a reference for the volesti interface to document all functions, classes etc. The R interface has a reference build by roxygen; see https://cran.r-project.org/web/packages/volesti/volesti.pdf.

Related work

See the documentation of CGAL

Details of your project

The project could be split in the following tasks:

  • Choose the documentation system e.g. doxygen / Sphinx(used by https://readthedocs.org) etc
  • Document the c++ interface of volesti
  • Get feedback, test, improve the documentation

Expected impact

This is an important project to communicate the usability and computational power that volesti could provide to scientific and business communities.

Mentors

  • Vissarion Fisikopoulos <vissarion.fisikopoulos at gmail.com> is an expert in mathematical software, computational geometry and optimization, and has previous GSOC mentoring experience with Boost C++ libraries (2016-2019) and the R-project (2017-2019).

  • Apostolos Chalkis <tolis.chal at gmail.com> is a PhD student in Computer Science. His research focuses on mathematical computing, optimization and computational finance. He has previous experience in GSoC 2018 and 2019 as a student under Org. R-project, implementing state-of-the-art algorithms for sampling from high dimensional multivariate distributions. He is one of the authors of volesti.

  • Elias Tsigaridas <elias.tsigaridas at inria.fr> is an expert in computational nonlinear algebra and geometry with experience in mathematical software. He has contributed to the implementation, in C and C++, of several solving algorithms for various open source computer algebra libraries and has previous GSOC mentoring experience with the R-project (2019).