Skip to content

Releases: dwavesystems/dimod

0.12.0

31 Oct 19:54
408846a
Compare
Choose a tag to compare

Prelude

The entire C++ library has been rewritten for performance and consistency.

New Features

  • New dimod::abc::QuadraticModelBase abstract base class.
  • Better performance for linear models.
  • Add dimod.cyqmbase.cyQMBase_template Cython class to serve as an abstract base class for Cython quadratic models.
  • Break dimod/libcpp.pxd into a full Cython subpackage to mirror the structure under dimod/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 the from dimod.libcpp cimport ... syntax.
  • Build wheels for Python 3.11.

  • Add C++ dimod::ConstrainedQuadraticModel class.

  • 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.vartype callable. This allows for more uniform syntax between binary quadratic models, quadratic models and constrained quadratic models.
  • Replace current ConstrainedQuadraticModel implementation 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::QuadraticModelBase and move it to dimod::abc::QuadraticModelBase in abc.h.
  • Move dimod::Vartype, dimod::vartype_info, and dimod::vartype_limits` tovartypes.h``.
  • Remove the dimod::Neighborhood class.
  • Remove iterators.h.
  • Move dimod::BinaryQuadraticModel to binary_quadratic_model.h.
  • Remove dimod.binary.cybqm.cyBQMBase class.
  • Remove dimod.quadratic.cyqm.cyQMBase class.
  • Build manylinux2014 wheels. Previously we built manylinux2010.
  • Build arm64 and x86_64 wheels for macos. Previously we built x86_64 and universal2.

Deprecation Notes

  • Deprecate the cascade keyword argument in ConstrainedQuadraticModel.fix_variable().
  • Deprecate the cascade keyword argument in ConstrainedQuadraticModel.fix_variables().

0.12.0rc1

30 Oct 17:25
64285e4
Compare
Choose a tag to compare
0.12.0rc1 Pre-release
Pre-release
Update version 0.12.0.dev3 -> 0.12.0rc1

0.12.0.dev3

25 Oct 05:23
92c5439
Compare
Choose a tag to compare
0.12.0.dev3 Pre-release
Pre-release

Fixes

  • Fix C++ ConstrainedQuadraticModel.remove_variable() method. Previously it would segmentation fault.

0.12.0.dev2

20 Oct 22:12
96af401
Compare
Choose a tag to compare
0.12.0.dev2 Pre-release
Pre-release
Update version 0.12.0.dev1 -> 0.12.0.dev2

0.12.0.dev1

20 Oct 16:44
Compare
Choose a tag to compare
0.12.0.dev1 Pre-release
Pre-release

New Features

  • Add C++ dimod::ConstrainedQuadraticModel class.
  • Make BinaryQuadraticModel.vartype callable. This allows for more uniform syntax between binary quadratic models, quadratic models and constrained quadratic models.
  • Replace current ConstrainedQuadraticModel implementation with one implemented in Cython.

0.11.6

05 Oct 22:21
273fb86
Compare
Choose a tag to compare

New Features

  • Add Variables._remove() method.
  • Added weight and penalty parameters on ConstrainedQuadraticModel.add_constraint methods to encoded weighted constraints.
  • Add constrained quadratic model serialization version 1.3 to support soft constraints.

0.12.0.dev0

03 Oct 19:01
233c177
Compare
Choose a tag to compare
0.12.0.dev0 Pre-release
Pre-release

Prelude

The entire C++ library has been rewritten for performance and consistency.

New Features

  • New dimod::abc::QuadraticModelBase abstract base class.
  • Better performance for linear models.
  • Add dimod.cyqmbase.cyQMBase_template Cython class to serve as an abstract base class for Cython quadratic models.
  • Break dimod/libcpp.pxd into a full Cython subpackage to mirror the structure under dimod/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 the from dimod.libcpp cimport ... syntax.
  • Build wheels for Python 3.11.

Upgrade Notes

  • Rewrite dimod::QuadraticModelBase and move it to dimod::abc::QuadraticModelBase in abc.h.
  • Move dimod::Vartype, dimod::vartype_info, and dimod::vartype_limits` tovartypes.h``.
  • Remove the dimod::Neighborhood class.
  • Remove iterators.h.
  • Move dimod::BinaryQuadraticModel to binary_quadratic_model.h.
  • Remove dimod.binary.cybqm.cyBQMBase class.
  • Remove dimod.quadratic.cyqm.cyQMBase class.
  • Build manylinux2014 wheels. Previously we built manylinux2010.
  • Build arm64 and x86_64 wheels for macos. Previously we built x86_64 and universal2.

0.11.6rc1

03 Oct 14:53
7a21f16
Compare
Choose a tag to compare
0.11.6rc1 Pre-release
Pre-release
Update version 0.11.6.dev2 -> 0.11.6rc1

0.11.6.dev2

30 Sep 01:10
188793b
Compare
Choose a tag to compare
0.11.6.dev2 Pre-release
Pre-release

Bug Fixes

  • Fix the type of soft constraint weights when loaded from files. The issue was introduced in 0.11.6.dev1.

0.11.6.dev1

30 Sep 00:34
91a3c94
Compare
Choose a tag to compare
0.11.6.dev1 Pre-release
Pre-release

Bug Fixes

  • Fix the performance of ConstrainedQuadraticModel.from_file() for constrained quadratic models with a large number of constraints. The poor performanc was accidentally introduced in 0.11.6.dev0.