Release Notes#
0.12.17#
New Features#
Allow
BinaryQuadraticModel.contract_variables()
to contract variables without an interaction. Previously it raised aValueError
.
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 toConstrainedQuadraticModel.iter_constraint_data()
andConstrainedQuadraticModel.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 indimod.typing
instead.
Remove Cython fused types
dimod.discrete.cydiscrete_quadratic_model.Unsigned
,dimod.discrete.cydiscrete_quadratic_model.Integral32plus
,dimod.discrete.cydiscrete_quadratic_model.Numeric
, anddimod.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.