Skip to content

1.2.1

Latest
Compare
Choose a tag to compare
@BusyBeaver-42 BusyBeaver-42 released this 23 Nov 18:02
· 97 commits to main since this release
f0f5653

simulated-bifurcation version 1.2.1 Release Notes

🚀 What's New

  • New Stop Criterion: Control SB's runtime with the optimizer's new timeout feature. Specify the optimization
    timeout in seconds using timeout parameter in the optimization functions (optimize, maximize, and minimize).
  • Optimization Models Pool Extension: The Integer Weights Knapsack problem and the Optimal Trading Trajectory
    Problem (sequential Markowitz model) have joined the catalog of available models.
  • Model Device and Dtype Flexibility: Move your models to another dtype or device without having to individually
    modify each tensor that makes it up, using the polynomial's to method.

🐞 Bug fixes

  • The optimizer's stop window now works energy-wise instead of spin-wise to speed up convergence if the states are degenerate.
  • Fixed the selection of the best agent when the optimization direction is maximization to select an agent with a
    maximal energy (previously an agent with minimal energy was returned).
  • Typing error in Python 3.8: The occurrences of the typing annotation list have been replaced by typing.List for
    Python 3.8 compatibility purposes.

🔔 Deprecation warnings

  • The parameter input_type has been deprecated in optimize, maximize, and minimize; it will be removed in
    version 1.3.0. It is replaced by the domain parameter.
  • The classes SpinQuadraticPolynomial, BinaryQuadraticPolynomial and IntegerQuadraticPolynomial have been
    deprecated. From version 1.3.0 onwards, polynomials will no longer have a definition domain. The domain only needs to
    be specified when creating an Ising model, and conversely when converting spins back into the original domain.

➡️ Looking forward to version 1.3.0

  • Mathematical Definition of Polynomials: Discover a more natural way of defining polynomial instances using the
    polynomial's from_expression method. This method generates native SB polynomials (tensors of coefficients) from
    Sympy expressions, making them easier to read and understand, especially for small dimensions.

🚧 Known issues

  • A MemoryError is raised when creating an integer polynomial if the number of bits is large (~30 bits).
    Unfortunately, there are no good fixes on the user side for this at the moment. The issue will be addressed in version 1.3.0.
    The cause of this bug is the creation of a tensor containing all allowed values (2^n where n is the number of bits).
    See this issue.