Skip to content

Releases: peterwittek/ncpol2sdpa

1.8

26 May 10:47
Compare
Choose a tag to compare
1.8
  • New: Complex moment matrices are embedded to as real matrices in the SDPA export and the solve_sdp function.
  • New: Localizing monomials can be fine-tuned by supplying them to get_relaxation through the optional parameter localizing_monomials.
  • New: solve_sdp can also solve a problem with Mosek.
  • New: The function get_xmat_value returns the matching value for a monomial from a solution matrix, given the relaxation and the solution.
  • Changed: solve_sdp no longer accepts parameters solutionmatrix and solverexecutable. All parameters are now passed via the solverparameters dictionary.
  • Changed: Legacy Picos code removed. Requirement is now Picos >=1.0.2.
  • Fixed: Determining degree of polynomial also works when coefficient is complex.

1.7

23 Mar 10:52
Compare
Choose a tag to compare
1.7
  • New: the function find_rank_loop aids the detection of a rank loop.
  • New: the function write_to_human_readable writes the relaxation in a human-readable format.
  • New: the function read_sdpa_out is now exposed to the user, primarily to help in detecting rank loops.
  • New: the function save_monomial_index allows saving the monomial index of a relaxation.
  • New: support for obtaining the SOS decomposition from a dual solution through the function sos_decomposition.
  • New: optional parameter psd=[matrix1, matrix2, ..., matrixn] can be passed to get_relaxation and process_constraints which contain symbolic matrices that should be positive semidefinite.
  • New: solution matrices can be returned by solve_sdp by passing the optional
    parameter solutionmatrix=True. It does not work for diagonal blocks.
  • New: basic interface for Faacets via the function get_faacets_relaxation.
  • New: PPT constraint can be imposed directly in the Moroder hierarchy by passing the extra parameter ppt=True to the constructor.
  • New: Passing the optional parameter extramomentmatrices=... to get_relaxation allows defining new moment matrices either freely or based on the first one. Basic relations of the elements between the moment matrices can be imposed as strings passed through inequalites=....
  • Changed: Nieto-Silleras hierarchy is no longer supported through an option. Now constraints have to be manually defined.
  • Changed: Monomials are not saved automatically with verbose=2.
  • Fixed: wider range of substitutions supported, including a polynomial on the right-hands side of the substitution.
  • Fixed: constraints for fermionic and bosonic systems and Pauli operators.

1.6

22 Dec 09:50
Compare
Choose a tag to compare
1.6
  • Syntax for passing parameters changed. Only the level of the relaxation is compulsory for obtaining a relaxation.
  • Extra parameter for bounds on the variables was added. Syntax is identical to the inequalities. The difference is that the inequalities in the bounds will not be relaxed by localizing matrices.
  • Support for chordal graph extension in the commutative case (doi:10.1137/050623802). Pass hierarchy="npa_chordal" to the constructor.
  • It is possible to pass variables which will not be relaxed. Pass nonrelaxed=[variables] to the constructor.
  • It is possible to change the constraints once the moment matrix is generated. Refer to the new function process_constraints.
  • Extra parameter nsextraobjvars=[] was added for passing additional variables to the Nieto-Silleras hierarchy. This is important because the top-left elements of the blocks of moment matrices in the relaxation are not one: they add up to one. Hence specifying the last element of a measurement becomes possible with this option. The number of elements in this must match the number of behaviours.
  • PICOS conversion routines were separated and reworked to ensure sparsity.
  • Moved documentation to Sphinx.
  • SciPy dependency made optional.