Vinci

Jul 20, 2023

Package that implements algorithms for convex body volume computation

The volume is one of the central properties of a convex body, and volume computation is involved in many hard problems. Applications range from rather classical ones as in convex optimisation to problems in remote fields like algebraic geometry where the number of common roots of polynomials can be related to a special polytope volume.

Part of the fascination of the subject stems from the discrepancy between the intuitive notion of “volume” and the actual hardness of computing it. Despite this discouraging complexity - algorithms in general need exponential time in the input dimension - steadily growing computer power enables us to attack problems of practical interest.

Vinci is an easy to install C package that implements several algorithms for volume computation. It is the fruit of a research project carried out at the end of the 1990s at the IFOR Institute for Operations Research of the ETH Zurich.



Checkout these related ports:
  • Zn_poly - C library for polynomial arithmetic
  • Zimpl - Language to translate the LP models into .lp or .mps
  • Zegrapher - Software for plotting mathematical objects
  • Zarray - Dynamically typed N-D expression system based on xtensor
  • Z3 - Z3 Theorem Prover
  • Yices - SMT solver
  • Yacas - Yet Another Computer Algebra System
  • Xtensor - Multi-dimensional arrays with broadcasting and lazy computing
  • Xtensor-python - Python bindings for xtensor
  • Xtensor-io - Xtensor plugin to read/write images, audio files, numpy npz and HDF5
  • Xtensor-blas - BLAS extension to xtensor
  • Xspread - Spreadsheet program for X and terminals
  • Xppaut - Graphical tool for solving differential equations, etc
  • Xplot - X11 plotting package
  • Xlife++ - XLiFE++ eXtended Library of Finite Elements in C++