Dimod

Latest version: v0.12.18

Safety actively analyzes 682471 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 27

0.12.3

New Features

- Add `compress` keyword argument to `ConstrainedQuadraticModel.to_file()`.

<!-- -->

- Add `ConstraintView.set_weight()` method. This allows users to set the weight of existing constraints.

Upgrade Notes

- When the constraint is hard, `ConstraintView.penalty()` now returns `None`. Previously it would return either `'linear'` or `'quadratic'`.

Bug Fixes

- Fix the `copy` keyword argument of `ConstrainedQuadraticModel.add_constraint_from_model()`. Previously it would always make a copy.

<!-- -->

- Add missing `include` in `dimod/include/dimod/abc.h`.

<!-- -->

- Fix `ConstrainedQuadraticModel.add_constraint_from_iterable()` to no longer raise a `NotImplementedError` when given a weight.

<!-- -->

- Fix `ConstrainedQuadraticModel.add_constraint()` to raise a `ValueError` rather than a `NotImplementedError` when given an invalid penalty.

0.12.2

New Features

- Implement `Expression::remove_variable()` method in the C++ code.

<!-- -->

- Implement `Expression.remove_variable()` method in the Python code.

<!-- -->

- Add `dimod/libcpp/expression.pxd` and `dimod/libcpp/constraint.pxd`.

0.12.1

Bug Fixes

- Add the ability to set offsets on `ObjectiveView` and `ConstraintView`. This was previously removed in dimod 0.12.0. See [1287](https://github.com/dwavesystems/dimod/issues/1287)

<!-- -->

- Add `ObjectiveView.add_linear_from()` and `ConstraintView.add_linear_from()` methods. These were previously removed in dimod 0.12.0.

<!-- -->

- Add `ObjectiveView.add_variable()` and `ConstraintView.add_variable()` methods. These were previously removed in dimod 0.12.0.

0.12.0

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` to ``vartypes.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

0.12.0.dev3

Fixes

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

Page 5 of 27

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.