Releases: dwavesystems/dimod
0.12.18
New Features
- Add
SampleSet.wait_id()
as a proxy to the underlying QPU result
future, when sample set is constructed from such a future. See
#1392. - Add
multi_knapsack()
generator function todimod.generators
. - Add
quadratic_knapsack()
generator function todimod.generators
.
Upgrade Notes
- Drop support for Python 3.8.
Bug Fixes
- Fix warnings caused by using deprecated type aliases.
0.12.17
New Features
- Allow
BinaryQuadraticModel.contract_variables()
to contract
variables without an interaction. Previously it raised a
ValueError
. - Add
power_r()
generator function todimod.generators
. The
weights of the generated Ising problems follow a power-law
distribution with respect to their magnitude. - Add
bin_packing
generator function todimod.generators
. - Add
labels
keyword argument to
ConstrainedQuadraticModel.iter_constraint_data()
and
ConstrainedQuadraticModel.iter_violations()
methods. Thelabels
keyword argument allows a user to generate the data/violations for a
subset of the constraints. See #1381. - Add
knapsack
generator function todimod.generators
. - Support Python 3.13.
- Add
quadratic_assignment
generator function todimod.generators
.
0.12.16
New Features
- Add
dimod/typing.pdx
. This allows users tocimport
common C
types into other namespaces. - Support NumPy 2.0. Also, no longer require NumPy at build-time.
- Reduce the size of manylinux wheels.
Upgrade Notes
- Remove Cython fused types
dimod.cyutilities.SignedInteger
,
dimod.cyutilities.UnsignedInteger
,dimod.cyutilities.Integer
,
anddimod.cyutilities.ConstInteger
,dimod.cyutilities.Numeric
,
anddimod.cyutilities.ConstNumeric
. Use the types in
dimod.typing
instead. - Remove Cython fused types
dimod.discrete.cydiscrete_quadratic_model.Unsigned
,
dimod.discrete.cydiscrete_quadratic_model.Integral32plus
,
dimod.discrete.cydiscrete_quadratic_model.Numeric
, and
dimod.discrete.cydiscrete_quadratic_model.Numeric32plus
. Use the
types indimod.typing
instead. - Don't include debug info in built
.so
files.
0.12.15
New Features
- Add C++
QuadraticModelBase::remove_interactions()
method. - Add
dimod.generators.random_binary_paint_shop_problem()
binary paint shop problem generator. - Add an abstract method
QuadraticViewsMixin.add_quadratic()
. - Add a method
QuadraticViewsMixin.add_quadratic_from()
to add quadratic interactions. This method is intended to be used as follows:ConstrainedQuadraticModel.objective.add_quadratic_from()
, similarly toConstrainedQuadraticModel.objective.add_linear_from()
. - Add
check_overlaps
keyword argument toConstrainedQuadraticModel.add_discrete()
, see #1364.
Upgrade Notes
- All sublcasses of
QuadraticViewsMixin
, includingObjectiveView
,QuadraticModel
andBinaryQuadraticModel
, now require to have the methodadd_quadratic()
.
0.12.14
New Features
- Add C++
dimod::abc::QuadraticModelBase::remove_variables()
method
and accompanying overloads. - Speed up C++
dimod::Expression::remove_variables()
method.
0.12.13
New Features
- Build wheels for Python 3.12.
- Build C++ extensions with Cython 3.
0.12.12
New Features
- Add
mimo()
function for generating a multi-input multiple-output (MIMO) channel-decoding problem. - Add
coordinated_multipoint()
function for generating a coordinated multi-point (CoMP) decoding problem.
0.12.11
New Features
-
Make
SampleSet.relabel_variables()
non-blocking in all cases. Previously it would block wheninplace=False
. -
Implement
SampleSet
serialization schema version 3.2.0.Version 3.2.0 replaces
float
values that represent integers withint
in the"data"
field of any arrays returned bySampleSet.to_serializable()
. In some pathological cases this can result in a much smaller representation when the data dictionaries are json-serialized by avoiding the redundant.0
appended to every value.This is a backwards-compatible change.
-
Add
penalization_method
parameter toBinaryQuadraticModel.add_linear_inequality_constraint()
. It allows the use of unbalanced penalization https://arxiv.org/abs/2211.13914 instead of the slack variables method for the inequality constraints.
Bug Fixes
- Fix the behavior of
SampleSet.relabel_variables()
wheninplace=True
. Previously the method incorrectly returned a copy when the sample set was unresolved.
0.12.10
0.12.9
New Features
- Add
Constraint.is_onehot()
method. - Add
dimod::Expression::remove_variables()
C++ method. This method is useful for removing variables in bulk from the objective or constraints of a constrained quadratic model.