Changelog¶
0.41.0 (November 2024)¶
Add optimisation level 3 that uses
GreedyPauliSimp
.
0.40.0 (November 2024)¶
Update pytket-qir version requirement to 0.17.
Updated pytket version requirement to 1.34.
Updated pytket-pecos version requirement to 0.1.31.
Allow circuits containing
OpType.ClExpr
operations.
0.39.0 (November 2024)¶
Use QIR by default for program submission.
Update pytket-qir version requirement to 0.16.
Add new
kwarg
n_leakage_detection_qubits
toprocess_circuits()
Fix
allow_implicit_swaps
configuration not handled correctly in default passes.Add handling for negative results
0.38.1 (October 2024)¶
Query device information only when needed to avoid unnecessary API calls.
Update minimum versions of some dependencies (requests, websockets).
0.38.0 (October 2024)¶
Updated pytket version requirement to 1.33.
Fix handling of unused bits in local emulator.
Update machine specs in offline API.
Update pytket-qir version requirement to 0.13.
Add language option for profile compatible QIR
0.37.0 (August 2024)¶
Determine maximum classical register width from backend info.
Permit numpy 2.
Update pytket_pecos version requirement to 0.1.29.
Updated pytket version requirement to 1.31.
0.36.0 (July 2024)¶
Updated pytket version requirement to 1.30.
Update pytket-qir version requirement to 0.12.
0.35.0 (June 2024)¶
Update pytket version requirement to 1.29.
Update pytket_pecos version requirement to 0.1.28.
0.34.1 (June 2024)¶
Restrict classical registers to a maximum size of 32 (until pytket can support larger values).
0.34.0 (June 2024)¶
Update pytket_pecos version requirement to 0.1.27.
Update Leakage Detection to reuse circuit qubits.
Update pytket version requirement to 1.28.
Update pytket-qir version requirement to 0.11.
Update offline machine specs to match real devices as at 5 June 2024.
0.33.0 (April 2024)¶
Updated pytket version requirement to 1.27.
Update pytket_pecos version requirement to 0.1.24.
0.32.0 (March 2024)¶
Remove
no_opt
andallow_2q_gate_rebase
options toprocess_circuits()
andsubmit_program()
, and assume that the submitted circuit is exactly what is desired to be run.Update pytket_pecos version requirement to 0.1.22.
0.31.0 (March 2024)¶
Updated pytket version requirement to 1.26.
Update pytket_pecos version requirement to 0.1.19.
Add methods to enable visibility of Quantinuum H-Series
operations calendar with and without matplotlib. * Support TK2 as native gate. * Update pytket version requirement to 1.26. * Update pytket-qir version requirement to 0.9.
0.30.0 (February 2024)¶
Make pytket-qir an automatic dependency.
Update pytket version requirement to 1.25.
Update pytket-qir version requirement to 0.5.
Update pytket_pecos version requirement to 0.1.17.
0.29.0 (January 2024)¶
Updated pytket_pecos version requirement to 0.1.13.
Fix handling of results in local emulator with non-default classical registers.
Add WASM support to local emulators.
Add multithreading support to local emulators, via new
multithreading
keyword argument passed toprocess_circuits()
.
0.28.0 (January 2024)¶
Updated pytket version requirement to 1.24.
Python 3.12 support added, 3.9 dropped.
pytket_pecos dependency updated to 0.1.9.
0.27.0 (January 2024)¶
Updated pytket version requirement to 1.23.
QuantinuumBackend.cost()
now raises an error if thesyntax_checker
argument doesn’t correspond to the device’s reported syntax checker or if it specifies a device that isn’t a syntax checker; and the method returns 0 if called on syntax-checker backends.Add partial support for local emulator backends, if installed with the
pecos
option.
0.26.0 (November 2023)¶
Updated pytket version requirement to 1.22.
Add
QuantinuumConfigCredentialStorage
for caching API tokens in local pytket configuration file.Add an additonal
RemoveRedundancies
pass to the default passes for levels 1 and 2 to remove Rz gates before measurement.
0.25.0 (October 2023)¶
Updated pytket version requirement to 1.21.
0.24.0 (October 2023)¶
Don’t include
SimplifyInitial
in default passes; instead make it an option toprocess_circuits()
.Fix: set default two-qubit gate when compilation config is provided without specifying one.
0.23.0 (September 2023)¶
Update pytket-qir version requirement to 0.3.
Update pytket version requirement to 1.20.
0.22.0 (September 2023)¶
Update pytket version requirement to 1.19.
0.21.0 (September 2023)¶
Ensure results retrieval works even with an old-format
ResultHandle
(generated by a pre-0.17.0 version of pytket-quantinuum).Add properties
QuantinuumBackend.default_two_qubit_gate
andQuantinuumBackend.two_qubit_gate_set
providing the default and supported two-qubit gates for a device.Make
ZZPhase
the default two-qubit gate target on all devices.Add
QuantinuumBackendCompilationConfig
dataclass, which can be passed as an optional argument when constructing aQuantinuumBackend
. Configuration can be inspected usingQuantinuumBackend.get_compilation_config()
and modified using the methodsQuantinuumBackend.set_compilation_config_allow_implicit_swaps()
andQuantinuumBackend.set_compilation_config_target_2qb_gate()
.Add optional argument
allow_2q_gate_rebase
argument toprocess_circuit()
,process_circuits()
andsubmit_program()
to allow the backend to rebase to rebase the circuit to a different two-qubit gate judged to have better fidelity before being run. The default is to not allow this.Fix handling of multiple classical registers when submitting QIR.
Change
ResultHandle
format. (OldResultHandle
objects will continue to work after upgrading.)Fix: Ignore erased scratch bits when constructing
ResultHandle
.
0.20.0 (August 2023)¶
Update pytket version requirement to 1.18.
Add
implicit_swaps
option toQuantinuumBackend.rebase_pass
, which can use implicit wire swaps (represented in the circuit qubit permutation) to help implement some gates when chosen. Defaults toFalse
.Add
implicit_swaps
option toQuantinuumBackend.default_compilation_pass
, which is used in the rebase step. Defaults toTrue
.
0.19.0 (August 2023)¶
Update
FullyConnected
Architecture to label Node with “q”, matching compilation byFlattenRelabelRegistersPass
.
0.18.0 (July 2023)¶
Update pytket version requirement to 1.17.
Add
leakage_detection
option toQuantinuumBackend.process_circuits()
that automatically modifies Circuits with ancillas for detecting leakage errors. Also provides a new methodprune_shots_detected_as_leaky
for removing erroneous shots fromBackendResult
.
0.17.0 (June 2023)¶
Add
Language
enum to control language used for circuit submission, with valuesLanguage.QASM
andLanguage.QIR
.Renamed
QuantinuumBackend.submit_qasm()
toQuantinuumBackend.submit_program()
, with alanguage
argument.Add a
language
kwarg toQuantinuumBackend.process_circuits()
, defaulting toLanguage.QASM
. (Support forLanguage.QIR
is experimental and its use is not recommended; a warning will be emitted. You must install thepytket-qir
package separately in order to use this feature.)Use “q” instead of “node” as the name of the single qubit register in compiled circuits.
Updated pytket version requirement to 1.16.
0.16.0 (May 2023)¶
Updated pytket version requirement to 1.15.
cost function now takes the same kwargs as process_circuits
add check for the number of classical registers to the backend
add
get_partial_result
method toQuantinuumBackend
.add
Rxxyyzz
gate support.
0.15.0 (April 2023)¶
Darkmode added to the documentation
Updated pytket version requirement to 1.13.2
Default compilation passes updated to correctly track initial and final maps during compilation
0.14.0 (March 2023)¶
Use default
Node
register for flattening in default compilation pass.Prefer
ZZPhase
toZZMax
gates if available.Updated pytket version requirement to 1.13.
0.13.0 (January 2023)¶
Drop support for Python 3.8; add support for 3.11.
The backend now works in threads other than the main.
Updated pytket version requirement to 1.11.
0.12.0 (December 2022)¶
Updated pytket version requirement to 1.10.
Default compilation pass update to flatten registers
0.11.0 (November 2022)¶
Updated pytket version requirement to 1.9.
Add optional
no_opt
argument toprocess_circuits()
andsubmit_qasm()
, requesting no optimization.Change default optimization level in
QuantinuumBackend.default_compilation_pass()
to 2.default_compilation_pass
now flattens qubit registers when compiling Circuits.
0.10.0 (November 2022)¶
Break up
pytket
internal scratch registers if their widths exceed limit.Updated pytket version requirement to 1.8.
0.9.0 (October 2022)¶
Add
session
parameter toQuantinuumAPI
. Creates a new session ifNone
is provided.Add facility to specify default
options
paramater toprocess_circuits()
andsubmit_qasm()
when constructing backend, and include this information inbackend_info
.Updated pytket version requirement to 1.7.
0.8.0 (September 2022)¶
Add
options
parameter toprocess_circuits()
andsubmit_qasm()
.Updated pytket version requirement to 1.6.
0.7.0 (August 2022)¶
Add new
QuantinuumAPIOffline
for allowing usage of the backend without API calls.New
api_handler
parameter forQuantinuumBackend
, allowing to choose online or offline options. Default value is the standard online api.Updated pytket version requirement to 1.5.
0.6.0 (July 2022)¶
Changed batching interface:
process_circuits
no longer batches, usestart_batching
andadd_to_batch
methods to explicitly start and append to batches.New
submit_qasm
backend method to enable direct submission of a QASM program.
0.5.0 (July 2022)¶
Updated pytket version requirement to 1.4.
Add support for multi-factor authentication and microsoft federated login.
0.4.0 (June 2022)¶
Add wasm support
Add support for
OpType.CopyBits
andOpType.ClassicalExpBox
inQuantinuumBackend
Updated pytket version requirement to 1.3.
Add optional argument
group
toQuantinuumBackend
0.3.1 (May 2022)¶
Updated to pyjwt 2.4. This fixes a potential security vulnerability (CVE-2022-29217).
0.3.0 (May 2022)¶
QuantinuumBackend.cost_estimate
deprecated, newQuantinuumBackend.cost
method now uses the syntax checker devices to directly return the cost.Updated pytket version requirement to 1.2.
0.2.0 (April 2022)¶
Updated pytket version requirement to 1.1.
0.1.2 (April 2022)¶
Fix batch handling in
process_circuits()
.
0.1.1 (March 2022)¶
Update device names.
0.1.0 (March 2022)¶
Module renamed from “pytket.extensions.honeywell” to “pytket.extensions.quantinumm”, with corresponding name changes throughout.
Simplify authentication: use
QuantinuumBackend.login()
to log in once per session.Updated pytket version requirement to 1.0.
Old changelog for “pytket-honeywell”:
0.21.0 (February 2022)¶
Updated pytket version requirement to 0.19.
Drop support for Python 3.7; add support for 3.10.
0.20.0 (January 2022)¶
Added optional
group
field to circuit submission.
0.19.0 (January 2022)¶
Updated pytket version requirement to 0.18.
0.18.0 (November 2021)¶
Updated pytket version requirement to 0.17.
0.17.0 (October 2021)¶
Updated pytket version requirement to 0.16.
Renamed
HoneywellBackend.available_devices
to_available_devices
so as not to conflict with abstractBackend
method.
0.16.0 (September 2021)¶
Updated pytket version requirement to 0.15.
0.15.0 (September 2021)¶
Updated pytket version requirement to 0.14.
0.14.0 (August 2021)¶
Support new Honeywell simulator options in
HoneywellBackend
: “simulator” for simulator type, and “noisy_simulation” to toggle simulations with and without error models.Device name no longer optional on
HoneywellBackend
construction.
0.13.0 (July 2021)¶
Updated pytket version requirement to 0.13.
0.12.0 (June 2021)¶
Updated pytket version requirement to 0.12.
0.11.0 (May 2021)¶
Updated pytket version requirement to 0.11.
0.10.0 (May 2021)¶
Contextual optimisation added to default compilation passes (except at optimisation level 0).