Skip to content

Version 2.0.3#171

Merged
apozas merged 121 commits intomainfrom
devel
Aug 8, 2025
Merged

Version 2.0.3#171
apozas merged 121 commits intomainfrom
devel

Conversation

@apozas
Copy link
Collaborator

@apozas apozas commented Aug 8, 2025

This update brings:

  • Support for symmetries in the target distributions.
  • Initial (and experimental) support for quantum theory based only on real numbers.

Also, we have the following improvements:

  • The arguments for InflationSDP.build_columns can be now directly passed onto InflationSDP.generate_relaxation. This means that one can now build directly SDPs for restricted generating sets just by calling, e.g., InflationSDP.generate_relaxation("local3", max_monomial_length=2).
  • The computation of dual LPs is now handled automatically by MOSEK. This improves the reliability of the code (and reduces the maintenance effort). The analogous for SDPs will come soon.
  • The error messages for unsupported scenarios (namely, structures where a parent and a child node do not share a latent common cause, and structures with intermediate latents that have observable parents) are now more informative.

As well as minor fixes. On particularly useful one is that now the output status of LPs and SDPs is now the same.

eliewolfe and others added 30 commits November 5, 2024 10:45
We see that the error stems from [A^{1,1}, B^{2,2}] which factorizes being indistinguishable from [A^{1,1}, A^{2,2}], despite this not following directly from symmetry. Perhaps a feature, not a bug.
…h are equal only after accounting for factorization.
…ful symmetries. Currently experience a bug in sdp_utils that should have been fixed...
…d outcome-relabelling symmetry assumptions (which essentially define a unique nonclassical distribution)
…DP even when outcome relabelling symmetries are present
…y array which is actual less efficient for iteration.

Fixed issue caused by prior commit #0317f943a562f2ec7669a16030d02b2c584ac86f
…) to act directly on lexorder, and only then convert to implied original events permutation. Extra care is now taken with setting relabelling, to stick to private settings only.
# Conflicts:
#	test/test_functions.py
…tors coming from outcome relabelling (and private setting relabelling)
eliewolfe and others added 29 commits May 13, 2025 22:54
…do-conditional if, at a minimum, all the operators commute.
…variable bounds (such as when default_non_negative=True)

This resolves Issue #169
The measurements were already being created in InflationProblem
Hopefully this will prevent errors from happening during CI tests
Dualization is now entirely a suggested parameter for Mosek.
So that it solves correctly
Since every atom is already lexicographically minimized with respect to its dagger when real_qt=True, there is no need to assess if we should replace a compound monomial by its conjugate in that case. (When all operators commute, each atom is equal to its own dagger.)
On Python 3.11 networkx complains of using GraphMatcher on directed graphs since version 3.5
@apozas apozas merged commit 341dca3 into main Aug 8, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants