6.0.0
dimod 0.11.6 -> 0.12.0
Prelude
The entire C++ library has been rewritten for performance and consistency.
New Features
- New
dimod::abc::QuadraticModelBaseabstract base class.
- Better performance for linear models.
- Add
dimod.cyqmbase.cyQMBase_templateCython class to serve as an abstract base class for Cython quadratic models.
- Break
dimod/libcpp.pxdinto a full Cython subpackage to mirror the structure underdimod/include/. This allows for better organization, and less need to recompile all Cython files when changing parts of the C++ library. Packages that depend on dimod are still encouraged to use thefrom dimod.libcpp cimport ...syntax.
-
Build wheels for Python 3.11.
-
Add C++
dimod::ConstrainedQuadraticModelclass.
- Add C++
ConstrainedQuadraticModel.add_constraint()overload that allows a user to move a binary quadratic model or quadratic model as a constraint.
- Add C++
ConstrainedQuadraticModel.constraint_weak_ptr()method.
- Make
BinaryQuadraticModel.vartypecallable. This allows for more uniform syntax between binary quadratic models, quadratic models and constrained quadratic models.
- Replace current
ConstrainedQuadraticModelimplementation with one implemented in Cython.
- Add
ConstrainedQuadraticModel.clear()method.
Bug Fixes
- Fix a performance regression introduced in 0.10.0 when loading linear binary quadratic models from files.
- Fix the handling of self-loops in
dimod::Expression::add_quadratic()and similar methods.
- Fix C++
ConstrainedQuadraticModel.remove_variable()method. Previously it would segmentation fault.
Upgrade Notes
- Rewrite
dimod::QuadraticModelBaseand move it todimod::abc::QuadraticModelBaseinabc.h.
- Move
dimod::Vartype,dimod::vartype_info, anddimod::vartype_limits` tovartypes.h``.
- Remove the
dimod::Neighborhoodclass.
- Remove
iterators.h.
- Move
dimod::BinaryQuadraticModeltobinary_quadratic_model.h.
- Remove
dimod.binary.cybqm.cyBQMBaseclass.
- Remove
dimod.quadratic.cyqm.cyQMBaseclass.
- Build
manylinux2014wheels. Previously we builtmanylinux2010.
- Build
arm64andx86_64wheels for macos. Previously we builtx86_64anduniversal2.
Deprecation Notes
- Deprecate the
cascadekeyword argument inConstrainedQuadraticModel.fix_variable().
- Deprecate the
cascadekeyword argument inConstrainedQuadraticModel.fix_variables().
dwave-cloud-client 0.10.2 -> 0.10.3
New Features
- Add support for NumPy scalars used as problem parameter values. See #512.
dwave-preprocessing 0.4.0 -> 0.5.0
New Features
- Add CQM presolving.
dwave-system 1.15.0 -> 1.16.0
What's Changed
- Fix QPU failover by signaling solver failover condition (on resolve). See dwavesystems/dwave-system#465
- Exact-solve for ground state in
MockDWaveSampleron small problems. See dwavesystems/dwave-system#476 - Add
dwave.systems.temperaturesubmodule witheffective_field,maximum_pseudolikelihood_temperature,freezeout_effective_temperature,fast_effective_temperaturefunctions. See dwavesystems/dwave-system#436