Skip to content

Volume estimation of spectrahedra

Paul Barbier edited this page Apr 5, 2021 · 3 revisions

Overview

Spectrahedra are probably the most well studied shapes after polyhedra. Spectrahedra generalize polyhedra, in the sense that they are the intersection of the cone of positive semidefinite matrices with an affine space. In other words, a spectrahedron S is the feasible set of a linear matrix inequality (see [1]). Spectrahedra are convex sets and every polytope is a spectrahedron, but not the opposite. They are the feasible regions of semidefinite programs in the way that polytopes are feasible regions of linear programs. The project is about extending volesti to support uniform sampling and volume estimation of spectrahedra.

Related work

Package volesti supports volume estimation for polytopes, providing several randomized approximation methods. The most efficient implementation employs billiard walk (uniform sampling) and a certain Multiphase Monte Carlo technique. The code of volesti is a templated C++ code and thus, it could be easily extended to estimate the volume of other convex bodies if the corresponding oracles of the additional bodies are provided. Considering spectrahedra, volesti supports exponential sampling using the exact Hamiltonian Monte Carlo sampler. It employs Arpack library for computing eigenvalue decompositions to implement the necessary membership, boundary and reflection oracles.

Details of your coding project - Expected impact

The student will (a) implement billiard walk for uniform sampling from spectrahedra, (b) adjust the rounding methods for spectrahedra, (c) extend volesti to estimate volumes of spectrahedra. The programming language will be 100% C++ as the project simply extends volesti. Since spectrahedra are closely related with semidefinite programming the project will be an important contribution to GeomScale Org. towards new randomized approximation methods for solving SDPs with sampling.

[1] Apostolos Chalkisa, Ioannis Z. Emiris, Vissarion Fisikopoulos, Panagiotis Repouskos, Elias Tsigaridas, Efficient Sampling from Feasible Sets of SDPs and Volume Approximation, 2020.

Mentors

  • 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 was GSOC mentor in three projects with Geomscale (2020). He is one of the authors of volesti.

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

  • 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) and Geomscale (2020).

Students, please contact the first and the third mentor 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 volesti. Use the R extension to visualize sampling in a polytope.
  • Medium: compile the C++ code of volesti and run the examples to sample from a spectrahedron according to the exponential distribution.
  • Hard: create a member function linear_tranformit() in spectrahedron class to apply to the spectrahedron a linear transformation that is defined by a symmetric rectangular matrix.

Solutions of tests

Students, please post a link to your test results here.

  • EXAMPLE STUDENT 1 NAME, LINK TO GITHUB PROFILE, LINK TO TEST RESULTS.
  • Paul Barbier, GitHub, Test Results