Autodiff R interface - GeomScale/gsoc24 GitHub Wiki

Overview

Automatic differentiation (autodiff) refers to a general way of taking a program which computes a value, and automatically constructing a procedure for computing derivatives of that value (https://en.wikipedia.org/wiki/Automatic_differentiation). volesti C++ library supports automatic differentiation by using the autodiff library.

Details of your coding project

The contributor will edit the R function sample_points of volesti to support sampling with automatic differentation. That is, it will enable the user to pass only the definition of a function (from which they want to sample) without its derivatives.

Difficulty: Medium

Size

Medium (175 hours)

Skills

  • Required: C++, R
  • Preferred: Experience with applied mathematics and machine learning

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-2017) and the R-project (2017).
  • Apostolos Chalkis <tolis.chal at gmail.com> is a Research Engineer at Quantagonia GmbH. He is an expert in statistical software, computational geometry, and optimization, and has previous GSoC student experience (2018 & 2019) and mentoring experience with GeomScale (from 2020 to 2023).

Students, please contact the mentors after completing at least one of the tests below.

Tests

Students, please do one or more of the following tests before contacting the mentors above.

  • Easy: Compile and run CRAN version of volesti.
  • Hard: Modify an existing Rcpp function in the R interface of volesti to provide a new option to the user. This could be something simple; not a major change is required.

For tips and references contact the Mentors!