Skip to content

v2.0.0

Latest

Choose a tag to compare

@bqth29 bqth29 released this 10 Apr 09:47

Simulated Bifurcation v2.0.0

⚠️ From this version onwards, the package is maintained only for versions of Python >= 3.9

What's Changed

🚀 Features

  • Quadratic models can be created from SymPy Polys for a more mathematical and intuitive experience
from sympy import poly, symbols
import simulated_bifurcation as sb

x, y = symbols("x y")
sb.minimize(poly(3 * x**2 - 5 * x * y + 3 * y + 2), domain="spin")
  • Optimization variables can now be defined on different domains
from sympy import poly, symbols
import simulated_bifurcation as sb

x, y = symbols("x y")
sb.minimize(poly(3 * x**2 - 5 * x * y + 3 * y + 2), domain=["spin", "int2"]) # x is in {-1, 1}, y is in {0, 1, 2, 3}

Quadratic models can still be defined from tensors or arrays, in any order

  • Computations can be stopped using a keyboad interruption
  • Clearer parameters names
Previous name Previous values New name New values
ballistic True or False mode "ballistic" or "discrete"
use_window True or False early_stopping True or False
  • Models' dtype and computation dtype are now the same and can only be torch.float32 or torch.float64
  • sb.optimize has been removed, users shall now rely on sb.maximize and sb.minimize only
  • GPU tests now cover the package

🐞 Bug fixes

  • Initial energy tensor device the same as device defined in class
  • CUDA computations are now only allowed with float32 or float64 values

New Contributors

Full Changelog: release-1.2.1...v2.0.0