Table of Contents
Fetching ...

Introducing Moment: A toolkit for semi-definite programming with moment matrices

Andrew J. P. Garner, Mateus Araújo

Abstract

Non-commutative polynomial optimization is a powerful technique with numerous applications in quantum nonlocality, quantum key distribution, causal inference, many-body physics, amongst others. The standard approach is to reduce such optimizations to a hierarchy of semi-definite programs, which can be solved numerically using well-understood interior-point methods. A key, but computationally costly, step is the formulation of moment matrices, whose size (and hence cost) grows exponentially with the depth of the hierarchy. It is therefore essential to have highly-optimized software to construct moment matrices. Here, we introduce Moment: a toolkit that produces moment matrix relaxations from the specification of a non-commutative optimization problem. In order to obtain the absolute best performance, Moment is written in C++, and for convenience of use provides an interface via MATLAB. We benchmark Moment's performance, and see that it can be up to four orders of magnitude faster than current software with similar functionality.

Introducing Moment: A toolkit for semi-definite programming with moment matrices

Abstract

Non-commutative polynomial optimization is a powerful technique with numerous applications in quantum nonlocality, quantum key distribution, causal inference, many-body physics, amongst others. The standard approach is to reduce such optimizations to a hierarchy of semi-definite programs, which can be solved numerically using well-understood interior-point methods. A key, but computationally costly, step is the formulation of moment matrices, whose size (and hence cost) grows exponentially with the depth of the hierarchy. It is therefore essential to have highly-optimized software to construct moment matrices. Here, we introduce Moment: a toolkit that produces moment matrix relaxations from the specification of a non-commutative optimization problem. In order to obtain the absolute best performance, Moment is written in C++, and for convenience of use provides an interface via MATLAB. We benchmark Moment's performance, and see that it can be up to four orders of magnitude faster than current software with similar functionality.
Paper Structure (66 sections, 57 equations, 7 figures, 5 tables)

This paper contains 66 sections, 57 equations, 7 figures, 5 tables.

Figures (7)

  • Figure 1: Schematic overview.Moment provides a suite of tools for use with MATLAB, to aid in the writing of semi-definite optimization problems involving moment matrices. It has been designed to be used in conjunction with an SDP modeller (http://cvxr.com/cvxcvxGrantB08 or https://yalmip.github.io/Lofberg04), and a solver (e.g. Mosek mosek10, SeDuMi Sturm99 or SCS SCS).
  • Figure 2: Typical flowchart of a program using Moment. The third step requires the use of http://cvxr.com/cvx or https://yalmip.github.io/ in addition to Moment, and the fourth step is handled entirely by external solver software.
  • Figure 3: CHSH benchmark results (total time). Total run time in seconds (logarithmic scale) as a function of NPA Hierarchy level for solving the Tsirelson bound on the CHSH inequality. Corresponding data is in \ref{['table:CHSH']}.
  • Figure 4: I3322 benchmark results (set-up time). Problem set-up time in seconds (logarithmic scale) as a function of NPA Hierarchy level for generating an SDP to bound the Tsirelson bound for the I3322 inequality. Corresponding data is in \ref{['table:I3322']}.
  • Figure 5: PNA non-commutative benchmark results (set-up time). Problem set-up time in seconds (logarithmic scale) as a function of NPA Hierarchy level for generating an SDP relaxation of \ref{['eq:PNAExact']}. Corresponding data is in \ref{['table:PNA']}.
  • ...and 2 more figures