Releases: peterwittek/ncpol2sdpa
Releases · peterwittek/ncpol2sdpa
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 parameterlocalizing_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 parameterssolutionmatrix
andsolverexecutable
. 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
- 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 toget_relaxation
andprocess_constraints
which contain symbolic matrices that should be positive semidefinite. - New: solution matrices can be returned by
solve_sdp
by passing the optional
parametersolutionmatrix=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=...
toget_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 throughinequalites=...
. - 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
- 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.