Releases: dwavesystems/dwave-ocean-sdk
6.5.0
dwave-gate
0.2.1 ➞ 0.3.0
New Features
-
Adds support for compiling circuits into the Quantum Intermediate Representation (QIR) language using PyQIR API and qirlib LLVM wrapper.
circuit = Circuit(2) with circuit.context as reg: ops.X(reg.q[0]) ops.Y(reg.q[1]) qir_string = circuit.to_qir()
Circuits can also be compiled directly into bitcode.
qir_string = circuit.to_qir(bitcode=True)
-
Adds a Quantum Intermediate Representation (QIR) loader which consumes a QIR script and returns a corresponding circuit containing the same instruction.
; ModuleID = 'Citrus' source_filename = "Citrus" %Qubit = type opaque define void @main() { entry: call void @__quantum__rt__initialize(i8* null) call void @__quantum__qis__x__body(%Qubit* null) call void @__quantum__qis__y__body(%Qubit* inttoptr (i64 1 to %Qubit*)) ret void } declare void @__quantum__rt__initialize(i8*) declare void @__quantum__qis__x__body(%Qubit*) declare void @__quantum__qis__y__body(%Qubit*)
The above QIR script can be loaded into a dwave-gate circuit using the
dwave.gate.qir.loader.load_qir_string
function.from dwave.gate.qir.loader import load_qir_string circuit = load_qir_string(qir_string, circuit=circuit)
Upgrade Notes
-
Upgrade circuit call to accept classical bits in which to store measurement values. If no bits are passed to the circuit call, measurements will not be stored when circuit is simulated.
circuit = Circuit(2, 2) with circuit.context as (q, c): ops.Hadamard(q[0]) ops.Hadamard(q[1]) ops.Measurement(q) | c circuit_2 = Circuit(2, 2) with circuit_2.context as (q, c): circuit(q, c) # pass bits to 'circuit'
Deprecation Notes
- Support for Python 3.7 deprecated.
Bug Fixes
-
Fix return type from
Operation.__call__
and subclasses. -
Fixes loading QIR scripts with a return mid-function.
-
Fix circular import issue when importing the simulator prior operations.
dwave-preprocessing
0.5.4 ➞ 0.6.3
New Features
-
Make
SpinReversalTransformComposite
nonblocking. -
Add a
seed
parameter to the constructor ofSpinReversalTransformComposite
. -
Improve the performance of the
Presolver
constructor by avoiding an unnecessary copy. -
Raise an
InvalidModelError
fromPresolver
when given a model withfloat("nan")
bounds. -
Raise an
InvalidModelError
fromPresolver
when given a model that has a constraint withfloat("nan")
weight or rhs. -
Add C++
Presolver::restore()
method for restoring samples. -
Add domain propagation to
dwave::presolve::Presolver
. -
Add removing small biases to
dwave::presolve::Presolver
. -
Support
Numpy>=1.17.3
, previously requiredNumPy>=1.20.0
. -
Add a presolve normalization step to replace inf biases, bounds, offsets, right-hand-sides, etc with a large finite number.
-
A newly instantiated
Presolver
will now have presolve techniques loaded by default. -
Add
TechniqueFlags
enum to represent different presolve techniques. -
Add C++
dwave::presolve::Presolver::add_techniques()
,dwave::presolve::Presolver::set_techniques()
, anddwave::presolve::Presolver::techniques()
methods for manipulating the presolve techniques that will be used by the presolver. -
Update
Presolver.apply()
,Presolver.normalize()
, andPresolver.presolve()
to release Python's global interpreter lock (GIL). -
Reimplement the C++
Presolver
using the PImpl pattern. This will make it easier to maintain binary compatibility going forward. See #89. -
Add
dwave::presolve::Presolve::normalize()
C++ method. -
Add
dwave::presolve::Presolve::presolve()
C++ method. -
Raise an
InvalidModelError
fromPresolver
when given a model withfloat("nan")
biases. -
Add
Presolver.feasibility()
method to return aFeasibility
enum. This can be used to test the feasibility of presolved models. -
Add
time_limit_s
keyword argument toPresolver.presolve()
. -
Add
time_limit
argument to C++ methoddwave::presolve::Presolver::presolve()
. -
Add
Presolver.normalize()
method. See #78. -
Add
Presolver.presolve()
method. See #78.
Upgrade Notes
-
The wrapped C++
dwave::presolve::Presolver
held bycyPresolver.cpppresolver
is now stored as a pointer. -
Remove C++
PostSolver
class. See #90. -
A newly instantiated
Presolver
will now have presolve techniques loaded by default. Previously it would have no techniques loaded and the user would need to also callPresolver.load_default_presolvers()
. -
Remove the C++
dwave::presolve::Presolver::load_default_presolvers()
method. -
The C++
Presolver
no longer has a header-only implementation. -
Raise an
InvalidModelError
rather than aRuntimeError
when presolving a detached model. -
Change
Presolver
to no longer raise anInfeasibleModelError
error for infeasible models. -
Remove the
InfeasibleModelError
. -
Speed up
PresolverImpl::normalization_remove_invalid_markers()
C++ method. This gives faster presolve normalization times for models with many discrete constraints. -
Speed up
PresolverImpl::technique_remove_small_biases()
C++ method. This gives faster presolve times for models with many small biases.
Bug Fixes
-
Fix
ImportError
being raised on Windows when otherdwave
namespace packages are installed afterdwave-preprocessing
. See #130. -
Fix the handling of quadratic constraints in presolve. Previously fixing variables in quadratic constraints would result in memory errors. See dimod#1351.
Deprecation Notes
-
Drop support for Python 3.7.
-
Deprecate
Presolver.load_default_techniques()
. UsePresolver.set_techniques(TechniqueFlags.Default)
instead.
dwave-samplers
1.0.0 ➞ 1.1.0
New Features
-
Add timing information for
SteepestDescentSolver
. -
Add timing information for
SimulatedAnnealingSampler
. -
Add
randomize_order
keyword argument to theSimulatedAnnealingSampler.sample()
method. This controls whether the variables are updated in a random order or not. -
Add
proposal_acceptance_criteria
keyword argument to theSimulatedAnnealingSampler.sample()
method. This controls whether the sampler will use Gibbs or Metropolis updates.
Upgrade Notes
- Build extensions with C++17.
Bug Fixes
- Fix
ImportError
being raised on Windows when otherdwave
namespace packages are installed afterdwave-samplers
. See #57.
dwave-system
1.19.0 ➞ 1.20.0
New Features
- Support Python 3.11
Upgrade Notes
- Require
dimod>=0.12.7
dimod
0.12.6 ➞ 0.12.12
New Features
-
Implement
CaseLabelDQM.to_file()
when the keyword argumentignore_labels
is true. Also make the error message clearer in the case thatignore_labels
is false. -
Improve the performance of
ConstrainedQuadraticModel.from_discrete_quadratic_model()
. -
Add
dimod.generators.magic_square()
which allows for the generation of a constrained quadratic model whose feasible solutions are normal magic squares. The function also generates magic squares of squares when passedpower=2
as a keyword argument. -
Implement version 2.0 of constrained quadratic model serialization. See
ConstrainedQuadraticModel.to_file()
for details. -
Improve LP file reading by wrapping HiGHS LP file parser.
-
Add C++
ConstrainedQuadraticModel::remove_constraints_if()
method. -
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. -
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. -
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.
Upgrade Notes
-
Make the arguments of
DiscreteQuadraticModel.to_file()
keyword-only. -
Remove the
ObjectView.to_file()
method. -
Remove the
ConstraintView.to_file()
method. -
Remove
dimod::lp
C++ namespace. -
Drop support for Python 3.7.
Bug Fixes
- Fix
ConstrainedQuadraticModel.from_discrete_quadratic_model()
incorrectly formulating the ...
6.4.1
Changelog
dwave-cloud-client
0.10.5 ➞ 0.10.6
New Features
-
Add basic support for Leap API access with
dwave.cloud.api.client.LeapAPIClient
anddwave.cloud.api.resources.LeapAccount
. -
Filter out more formats of API token-like strings from logs. In addition to the Solver API tokens, we now filter generic 32-char+ hex tokens (Leap API access token format), and UUID tokens (all variants). See #551.
Bug Fixes
- Constrain
pydantic
version, as V2 introduces major backwards incompatible changes.
Package versions
dimod==0.12.6
dwave-cloud-client==0.10.6
dwave-greedy==0.3.0
dwave-hybrid==0.6.10
dwave-inspector==0.4.2
dwave-neal==0.6.0
dwave-networkx==0.8.14
dwave-preprocessing==0.5.4
dwave-samplers==1.0.0
dwave-system==1.19.0
dwave-tabu==0.5.0
dwavebinarycsp==0.2.0
minorminer==0.2.11
penaltymodel==1.0.2
pyqubo==1.4.0
# extras: all
dwave-gate==0.2.1
6.4.0
Changelog
dimod
0.12.3 ➞ 0.12.6
New Features
-
Improve the performance of the
ConstrainedQuadraticModel.add_variables()
method. -
Allow discrete constraints added by
ConstrainedQuadraticModel.add_discrete()
to have zero or one variables. -
Add
dimod::ConstrainedQuadraticModel::constraints()
method that returns a view of the constraints that is easily iterated over. -
Improve the performance of fixing and removing variables from constrained quadratic model expressions.
-
Implement the
Expression::fix_variable()
C++ method. Previously it would throwstd::logic_error("not implemented - fix_variable")
. -
Improve the performance of
ConstrainedQuadraticModel.fix_variable()
andConstrainedQuadraticModel.fix_variables()
. -
Add
inplace
keyword argument toConstrainedQuadraticModel.fix_variables()
. -
Add
dimod::Constraint::clear()
C++ method.
Upgrade Notes
-
Remove the undocumented
cyConstrainedQuadraticModel.add_variable()
method. -
Add an overload to the C++
QuadraticModel::remove_variable()
method. This is binary compatible, but it makes&remove_variable
ambiguous. -
The
ConstrainedQuadraticModel.fix_variables()
function now returns aConstrainedQuadraticModel
rather than an empty dictionary. -
Change
lp.load()
andlp.loads()
to raise aValueErrorr
rather than aRuntimeError
when given an invalid file format. -
Make
beta_range
,num_reads
, andnum_sweeps
keyword-only arguments forSimulatedAnnealingSampler.sample()
. -
Make
num_reads
andseed
keyword-only arguments forRandomSampler.sample()
. -
Make
initial_states
,initial_states_generator
,num_reads
andseed
keyword-only arguments forIdentitySampler.sample()
. -
Make
rtol
andatol
keyword-only arguments forExactCQMSolver.sample_cqm()
.
Bug Fixes
-
Fix
ConstrainedQuadraticModel.add_variable()
to raise aValueError
when given an inconsistent variable type. Previously it incorrectly raised aTypeError
. -
Fix
ConstrainedQuadraticModel.add_variable()
to raise aValueError
when given invalid variable bounds. -
Fix
lp.load()
andlp.loads()
functions to correctly handle maximization objectives. See #1321.
dwave-cloud-client
0.10.4 ➞ 0.10.5
New Features
-
Add
strict_mode
support toVersionedAPISession
. Strict mode is now the default, implying API requests will fail if type/version is expected and the response doesn't include it. -
Add
version_strict_mode
config option toDWaveAPIClient
. It corresponds to underlying session's (VersionedAPISession
)strict_mode
. -
Add
VersionedAPISession
, arequests.Session
subclass (more precisely, further specializedLoggingSession
) that enforces conformance of API response version with supported version range(s). -
Add
accepts
decorator for declaring accepted media type and response format version (range) ondwave.cloud.api.Resource
methods. -
Simplify
dwave.cloud.api.resource.accepts
interface (require onlymedia_type
andversion
), but retain flexibility (pass all keyword arguments toVersionedAPISession.set_accept
). -
Support
strict_mode
control of API response type validation via@accepts
interface.
Upgrade Notes
-
Response type version is now always required (regardless of
strict_mode
) if type is expected and received, and version is expected. -
Enforce D-Wave API response format version on all
cloud.api
resources.
Bug Fixes
- Fix
dwave.cloud.api.resources.accepts
to allow for partial decoration ofResource
methods. See #544.
dwave-inspector
0.4.1 ➞ 0.4.2
Bug Fixes
-
Use
vcrpy
-compatible version ofurllib3
(<2
) for testing in dwavesystems/dwave-inspector#157 -
Migrate to codecov's orb from the deprecated uploader in dwavesystems/dwave-inspector#158
-
Update examples to use newer QPU in dwavesystems/dwave-inspector#155
dwave-networkx
0.8.13 ➞ 0.8.14
New Features
-
Improved Documentation. See dwavesystems/dwave-networkx#226, dwavesystems/dwave-networkx#227, dwavesystems/dwave-networkx#229.
-
Fix misc deprecation warnings. See dwavesystems/dwave-networkx#228.
-
Support NetworkX 3.x. See dwavesystems/dwave-networkx#230.
Upgrade Notes
- Added NumPy as an explicit dependency. See dwavesystems/dwave-networkx#230.
dwave-system
1.18.0 ➞ 1.19.0
New Features
- Improved documentation. See dwavesystems/dwave-system#491.
Fixes
- Add missing
dwave.embedding.zephyr
namespace. See dwavesystems/dwave-system#490.
dwave-gate
0.2.0 ➞ 0.2.1
New Features
-
Measurement samples can be returned as bitstrings instead of integers in nested lists.
-
A density matrix representation of the state can be accessed via the
Circuit.density_matrix
property, for both pure and mixed states (with the former being lazily calculated from the state
vector).
Upgrade Notes
-
Adds support for multi-qubit sampling in measurements.
Measurement.sample()
and
Measurement.expval()
are updated to accept a sequence of qubit indices to sample, sampling
all measured qubits if none are given.circuit = Circuit(2, 2) with circuit.context as (q, c): ops.X(q[0]) m = ops.Measurement(q) | c simulate(circuit) m.sample(num_samples=3, as_bitstring=True) # ['10', '10', '10']
-
The state is now stored in the
Circuit
object (same as the bits/measurement results) instead
of being returned by thesimulate()
function. It can now be accessed via the
Circuit.state
property.
Package versions
dimod==0.12.6
dwave-cloud-client==0.10.5
dwave-greedy==0.3.0
dwave-hybrid==0.6.10
dwave-inspector==0.4.2
dwave-neal==0.6.0
dwave-networkx==0.8.14
dwave-preprocessing==0.5.4
dwave-samplers==1.0.0
dwave-system==1.19.0
dwave-tabu==0.5.0
dwavebinarycsp==0.2.0
minorminer==0.2.11
penaltymodel==1.0.2
pyqubo==1.4.0
# extras: all
dwave-gate==0.2.1
6.3.0
Changelog
dwave-inspector
0.4.0 ➞ 0.4.1
Upgrade Notes
-
The
.show()
call does not return aRichDisplayURL
anymore. Instead, we reverted to returning URL in a plainstr
. Jupyter viewer will display the inspector inline if possible, otherwise the URL is opened in a browser.To render the inspector URL inline in a Jupyter notebook cell, independently of the
.show()
call, you can do:url = dwave.inspector.show(...) ... from dwave.inspector.utils import RichDisplayURL RichDisplayURL(url)
Bug Fixes
- Fix duplicated inline render of the Inspector in GUI Jupyter in case when the returned (rich URL) object is displayed in the same cell the
dwave.inspector.show()
was called. See #152
minorminer
0.2.10 ➞ 0.2.11
New Features
- Adds a wrapper to the Glasgow Subgraph Solver. This is a really cool external library that very quickly solves subgraph isomorphism problems. In our language, that problem corresponds to finding a chainlength-1 embedding from a problem graph into a hardware graph, which optimizes performance on the hardware. Many thanks to Ciaran McCreesh (and team) for providing this library and supporting our efforts to wrap it.
Package versions
dimod==0.12.3
dwave-cloud-client==0.10.4
dwave-greedy==0.3.0
dwave-hybrid==0.6.10
dwave-inspector==0.4.1
dwave-neal==0.6.0
dwave-networkx==0.8.13
dwave-preprocessing==0.5.4
dwave-samplers==1.0.0
dwave-system==1.18.0
dwave-tabu==0.5.0
dwavebinarycsp==0.2.0
minorminer==0.2.11
penaltymodel==1.0.2
pyqubo==1.4.0
# extras: all
dwave-gate==0.1.0
6.2.0
Changelog
dwave-cloud-client
0.10.3 ➞ 0.10.4
New Features
- Add Python 3.11 support
- Add dimod 0.12.x support
- Add numpy 1.24.x support
dwave-hybrid
0.6.9 ➞ 0.6.10
New Features
- Add Python 3.11 support. See #285.
Bug Fixes
-
Adapt SA concurrency test to new Neal default schedule. See #278.
-
Add lattice ref solver to docs. See #282.
-
Stop using deprecated numpy type aliases. See #283.
-
Fix async multiprocess queue logging test. See #286.
dwave-inspector
0.3.0 ➞ 0.4.0
New Features
-
Add support for
jupyter-server-proxy
. Inspector URL gets rewritten prior to opening/viewing according to external URL as defined by the new config environment variable:DWAVE_INSPECTOR_JUPYTER_SERVER_PROXY_EXTERNAL_URL
. See #144 -
Add support for Python 3.11
-
Add support for
dimod~=0.11.0
anddimod~=0.12.0
-
Add support for running the inspector behind a network proxy. Now users can register a URL rewriter specific to their environment using the
inspectorapp_proxies
entry point. See #141 -
Use relative API paths to enable app hosting on externally-configured paths (app#110). See #146.
-
Render inspector inline in Jupyter notebooks. See #109 and #133.
Upgrade Notes
-
Drop Python 3.6 support
-
Drop
dimod~=0.8.0
anddimod~=0.9.0
support -
Custom viewer can now return
False
to signal a non-blockingshow()
behavior is desired. Previously the value returned was ignored by the caller. -
Lower bound on Flask version is now 2.2.
Bug Fixes
-
Improve error handling and display in
dwave-inspectorapp
(app#100) -
Make
show()
non-blocking regardless of theblock
argument when no viewer manages to open the inspector page. See #139. -
Upgraded JSON serialization to use Flask's new
DefaultJSONProvider
(introduced in Flask 2.2). The "old" way is deprecated by Flask in 2.2, to be dropped in next minor release, 2.3.
dwave-networkx
0.8.12 ➞ 0.8.13
New Features
- Add support for torus QPU graph variations. See #225.
Bug Fixes
- Bug fix/documentation See #223.
dwave-preprocessing
0.5.3 ➞ 0.5.4
New Features
- Release wheels for Python 3.11
minorminer
0.2.9 ➞ 0.2.10
New Features
-
Release wheels for Python 3.11.
-
Add
busgraph_cache.topology_identifier
method.
Package versions
dimod==0.12.3
dwave-cloud-client==0.10.4
dwave-greedy==0.3.0
dwave-hybrid==0.6.10
dwave-inspector==0.4.0
dwave-neal==0.6.0
dwave-networkx==0.8.13
dwave-preprocessing==0.5.4
dwave-samplers==1.0.0
dwave-system==1.18.0
dwave-tabu==0.5.0
dwavebinarycsp==0.2.0
minorminer==0.2.10
penaltymodel==1.0.2
pyqubo==1.4.0
# extras: all
dwave-gate==0.1.0
6.1.1
dwave-system 1.17.0 -> 1.18.0
Fixes
- Fix the default
time_limit
calculation inLeapHybridCQMSampler
. See dwavesystems/dwave-system#482.
Upgrade Notes
- Use
SciPy>=1.7.3
- Use
dwave-samplers
rather thandwave-greedy
- Use
NumPy>=1.20.0
- Use
dwave-preprocessing>=0.5.0
- Use
dimod>=0.12.0
6.1.0
dimod 0.12.0 -> 0.12.3
dimod 0.12.3
New Features
- Add
compress
keyword argument toConstrainedQuadraticModel.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 returnsNone
. Previously it would return either'linear'
or'quadratic'
.
Bug Fixes
- Fix the
copy
keyword argument ofConstrainedQuadraticModel.add_constraint_from_model()
. Previously it would always make a copy.
- Add missing
#include
indimod/include/dimod/abc.h
.
- Fix
ConstrainedQuadraticModel.add_constraint_from_iterable()
to no longer raise aNotImplementedError
when given a weight.
- Fix
ConstrainedQuadraticModel.add_constraint()
to raise aValueError
rather than aNotImplementedError
when given an invalid penalty.
dimod 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
anddimod/libcpp/constraint.pxd
.
dimod 0.12.1
Bug Fixes
- Add the ability to set offsets on
ObjectiveView
andConstraintView
. This was previously removed in dimod 0.12.0. See #1287
- Add
ObjectiveView.add_linear_from()
andConstraintView.add_linear_from()
methods. These were previously removed in dimod 0.12.0.
- Add
ObjectiveView.add_variable()
andConstraintView.add_variable()
methods. These were previously removed in dimod 0.12.0.
dwave-gate 0.1.0
Initial release.
dwave-greedy 0.2.5 -> 0.3.0
Deprecate dwave-greedy in favor of dwave-samplers.
dwave-neal 0.5.9 -> 0.6.0
Deprecate dwave-neal in favor of dwave-samplers.
dwave-preprocessing 0.5.1 -> 0.5.3
dwave-preprocessing 0.5.3
Features
- Remove interactions and variables with 0 bias in
Presolver
Fixes
- Fix handling of empty soft constraint in
Presolver
.
dwave-preprocessing 0.5.2
Fixes
- Fix case where
Presolver
was incorrectly leaving variables fixed by bounds in the model
dwave-samplers 1.0.0
Initial release. D-Wave Samplers combines the samplers from dwave-greedy, dwave-neal, and dwave-tabu.
dwave-system 1.16.0 -> 1.17.0
New Features
- Respect low-level solver order on failover. See #479.
dwave-tabu 0.4.5 -> 0.5.0
Deprecate dwave-tabu in favor of dwave-samplers.
6.0.1
dwave-preprocessing 0.5.0 -> 0.5.1
Fixes
- Fix case where
Presolver
was incorrectly marking constraints with no variables as infeasible.
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::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 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::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 todimod::abc::QuadraticModelBase
inabc.h
.
- Move
dimod::Vartype
,dimod::vartype_info
, anddimod::vartype_limits` to
vartypes.h``.
- Remove the
dimod::Neighborhood
class.
- Remove
iterators.h
.
- Move
dimod::BinaryQuadraticModel
tobinary_quadratic_model.h
.
- Remove
dimod.binary.cybqm.cyBQMBase
class.
- Remove
dimod.quadratic.cyqm.cyQMBase
class.
- Build
manylinux2014
wheels. Previously we builtmanylinux2010
.
- Build
arm64
andx86_64
wheels for macos. Previously we builtx86_64
anduniversal2
.
Deprecation Notes
- Deprecate the
cascade
keyword argument inConstrainedQuadraticModel.fix_variable()
.
- Deprecate the
cascade
keyword 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
MockDWaveSampler
on small problems. See dwavesystems/dwave-system#476 - Add
dwave.systems.temperature
submodule witheffective_field
,maximum_pseudolikelihood_temperature
,freezeout_effective_temperature
,fast_effective_temperature
functions. See dwavesystems/dwave-system#436
5.5.0
Changelog
dimod 0.11.5 -> 0.11.6
New Features
- Add
Variables._remove()
method.
- Added
weight
and penalty parameters onConstrainedQuadraticModel.add_constraint
methods to encoded weighted constraints.
- Add constrained quadratic model serialization version 1.3 to support soft constraints.