Changelog

0.59.0 (November 2024)

  • Updated pytket version requirement to 1.34.0.

  • Fix handling of non-default registers when selecting bits in results.

  • Update default compilation to use Qiskit SabreLayoutPassManager as a CustomPass.

  • Fix handling of non-default registers when selecting bits in results.

  • The tk_to_qiskit() converter gives a warning if the input Circuit contains implicit qubit permutations.

0.58.0 (October 2024)

  • Updated pytket version requirement to 1.33.1.

  • Require qiskit >= 1.2.4.

  • Require qiskit-ibm-runtime >= 0.30.0.

  • Require qiskit-aer >= 0.15.1.

0.57.0 (October 2024)

  • Updated pytket version requirement to 1.33.

  • Added handling of generalised controlled gates to qiskit_to_tk() and tk_to_qiskit(). The control_state is handled directly instead of using additional X gates.

  • A controlled UnitaryGate will now be converted to a pytket controlled unitary box by qiskit_to_tk() instead of a controlled CircBox with a unitary box inside.

0.56.0 (September 2024)

  • Added AerDensityMatrixBackend simulator. This simulator has the option to support a NoiseModel.

  • Fix conversion of symbols into qiskit.

  • Require qiskit >= 1.2.0.

  • Add conversion of controlled unitary gates from qiskit to tket.

  • Initialize TketAutoPass with a BackendV2.

  • Update TketBackend to derive from BackendV2.

  • Fix to allow AerBackend to work with multi-controlled Z gates.

0.55.0 (July 2024)

  • Updated pytket version requirement to 1.30.

0.54.1 (June 2024)

  • Relax version requirements on dependencies by removing upper bounds.

  • Fix status reporting when running on hardware.

0.54.0 (June 2024)

  • User can pass a SamplerOptions instance (from qiskit-ibm-runtime) via a keyword argument to both an IBMQBackend constructor and an instance method IBMQBackend.process_circuits.

  • Remove dependency on deprecated qiskit-ibm-provider.

  • Remove support for deprecated “ibmq_qasm_simulator” backend.

  • Forbid circuits with incomplete classical registers in tk_to_qiskit().

  • Updated pytket version requirement to 1.29.

  • Update qiskit-ibm-runtime version requirement to 0.24.1.

  • Update qiskit version requirement to 1.1.

  • Update qiskit-aer version requirement to 0.14.2.

  • When constructing an Aer backend with a name for which more than one is available, emit a warning and pick the first in the list.

0.53.0 (April 2024)

  • Updated pytket version requirement to 1.27.

  • Update qiskit-ibm-runtime version requirement to 0.23.

0.52.0 (April 2024)

  • Update pytket version requirement to 1.26.

  • Update qiskit-aer version requirement to 0.14.

  • Update conversion to qiskit to use symengine for symbolic circuits

  • Add IBMQBackend.default_compilation_pass_offline for offline compilation given config and props objects.

  • Add DirectednessPredicate to IBMQBackend

  • Default compilation pass of IBMQBackend will keep ECR gates in the direction required by the backend.

0.51.0 (March 2024)

  • Update qiskit-ibm-runtime version requirement to 0.22.

  • remove all remote simulators

  • rename IBMQLocalEmulatorBackend to IBMQEmulatorBackend

  • IBMQEmulatorBackend will now run locally

  • add support for contextual optimisation on local emulator

0.50.0 (March 2024)

  • Update qiskit-algorithms version requirement to 0.3.

0.49.0 (March 2024)

  • Update pytket version requirement to 1.25.

  • Update qiskit version requirement to 1.0.

  • Update qiskit-ibm-provider version requirement to 0.10.

  • Update qiskit-ibm-runtime version requirement to 0.21.

  • Add IBMQLocalEmulatorBackend for running local emulation of IBMQBackend using AerBackend with a noise model.

0.48.1rc1

  • Fix: use correct instance with IBMQEmulatorBackend.

0.48.0 (January 2024)

  • Updated pytket version requirement to 1.24.

  • Python 3.12 support added, 3.9 dropped.

  • fix conditional bit in pytket to qiskit conversion

  • fix symbolic conversion of parameter in conversion

0.47.0 (January 2024)

  • Update qiskit-ibm-runtime version to 0.17.0.

  • Update qiskit-ibm-provider version to 0.8.0.

  • Updated pytket version requirement to 1.23.

0.46.0 (November 2023)

  • Updated pytket version requirement to 1.22.

  • Add support for circuits with barriers in the Aer simulators.

  • Update qiskit version to 0.45.0.

  • Update qiskit-ibm-runtime version to 0.15.1.

  • Update qiskit-aer version to 0.13.0.

  • Update qiskit-ibm-provider version to 0.7.2.

  • Introduce dependency on qiskit-algorithms.

  • Seed given to process_circuits() will be automatically incremented for the different circuit batches submitted.

  • Fix RuntimeError caused by the use of custom gates in qiskit_to_tk #200.

0.45.0 (October 2023)

  • Updated pytket version requirement to 1.21.

  • Implement crosstalk noise model for AerBackend.

  • Don’t include SimplifyInitial in default passes; instead make it an option to process_circuits().

0.44.0 (September 2023)

  • Fix to add include Measure, Reset and Conditional operations to the supported operations of AerStateBackend.

  • Update qiskit-ibm-runtime version to 0.12.0.

  • Update qiskit-ibm-provider version to 0.7.0.

  • Update pytket version requirement to 1.19.

0.43.0 (August 2023)

  • Update qiskit version to 0.44.

  • Update qiskit-aer version to 0.12.2.

  • Update qiskit-ibm-runtime version to 0.11.3.

  • Update qiskit-ibm-provider version to 0.6.3.

  • Add option to specify the maximum number of qubits supported by Aer backends (defaults to 40).

0.42.0 (August 2023)

  • Update pytket version requirement to 1.18.

0.41.0 (July 2023)

  • Update pytket version requirement to 1.17.

  • Fix conversion of qiskit UnitaryGate to and from pytket (up to 3 qubits).

  • Fix handling of qiskit controlled gates in the qiskit_to_tk() converter.

  • Handle CCZ and CSX gates in circuit converters.

0.40.0 (June 2023)

  • IBM devices are now accessed using the qiskit-ibm-provider instead of the deprecated IBMQ. This allows the newest IBM devices and simulators to be accessed through pytket-qiskit. See the updated documentation on credentials.

  • The parameters hub, group and project are no longer handled as separate arguments in IBMQBackend and IBMQBackend.available_devices(). Use "instance=f"{hub}/{group}/{project}" instead.

  • Added support for the {X, SX, Rz, ECR} in the default compilation pass for IBMQBackend and IBMQEmulatorBackend. This is the set of gates used by some of the new IBM devices.

  • Fix to the tk_to_qiskit() converter to prevent cancellation of redundant gates when converting to qiskit.

  • Handle qiskit circuits with Initialize and StatePreparation instructions in the qiskit_to_tk() converter. The tk_to_qiskit() converter now handles StatePreparationBox.

  • Fix handling of control state in qiskit_to_tk().

  • Update qiskit version to 0.43.1

  • Update qiskit-ibm-runtime version to 0.11.1

  • Update qiskit-ibm-provider version to 0.6.1

  • Update pytket version to 1.16

0.39.0 (May 2023)

  • Updated pytket version requirement to 1.15.

  • The IBMQBackend.get_compiled_circuit() method now allows for optional arguments to override the default settings in the NoiseAwarePlacement.

0.38.0 (April 2023)

  • Fix to ensure that the IBMBackend and IBMQEmulatorBackend both properly enforce MaxNQubitsPredicate.

  • Update qiskit version to 0.42.

  • Updated pytket version requirement to 1.14.

0.37.1 (March 2023)

  • Fix backend settings for AerStateBackend and AerUnitaryBackend

0.37.0 (March 2023)

  • Fix faulty information in AerBackend().backend_info

  • Updated pytket version requirement to 1.13.

0.36.0 (February 2023)

  • Update qiskit version to 0.41.

  • Fix order of Pauli terms when converting from QubitPauliOperator.

0.35.0 (February 2023)

0.34.0 (January 2023)

  • Handle more multi-controlled gates in tk_to_qiskit and qiskit_to_tk converters (including CnY and CnZ).

  • Drop support for Python 3.8; add support for 3.11.

  • Fix ordering of registers in statevector simulation results.

  • Remove reverse_index argument in tk_to_qiskit().

  • Updated pytket version requirement to 1.11.

0.33.0 (December 2022)

  • Fix handling of parameter when converting PauliEvolutionGate to QubitPauliOperator.

  • Updated pytket version requirement to 1.10.

0.32.0 (December 2022)

  • Use qiskit_ibm_runtime services for sampling on IBMQBackend and IBMQEmulatorBackend. Note that shots tables (ordered lists of results) are no longer available from these backends. (BackendResult.get_shots() will fail; use get_counts() instead.)

  • Fix incorrect circuit permutation handling for AerUnitaryBackend and AerStateBackend.

0.31.0 (November 2022)

  • Update TketBackend to support FullyConnected architecture.

  • Fix the issue that some qiskit methods can’t retrieve results from TketJob.

  • Updated pytket version requirement to 1.9.

  • Handle OpType.Phase when converting to qiskit.

  • Change default optimization level in default_compilation_pass() to 2.

0.30.0 (November 2022)

  • Update qiskit version to 0.39.

  • tk_to_qiskit now performs a rebase pass prior to conversion. Previously an error was returned if a Circuit contained gates such as OpType.ZZMax which have no exact replacement in qiskit. Now the unsupported gate will be implemented in terms of gates supported in qiskit rather than returning an error.

  • Updated pytket version requirement to 1.8.

0.29.0 (October 2022)

  • Add post-routing KAKDecomposition to default pass with optimisation_level = 2.

  • Add support for ECRGate in tk_to_qiskit conversion.

  • Update qiskit version to 0.38.

  • Updated pytket version requirement to 1.7.

0.28.0 (August 2022)

  • Improve result retrieval speed of AerUnitaryBackend and AerStateBackend.

  • Update qiskit version to 0.37.

  • Updated pytket version requirement to 1.5.

0.27.0 (July 2022)

  • Updated pytket version requirement to 1.4.

0.26.0 (June 2022)

  • Updated pytket version requirement to 1.3.

0.25.0 (May 2022)

  • Updated pytket version requirement to 1.2.

0.24.0 (April 2022)

  • Fix two-qubit unitary conversions.

  • Update qiskit version to 0.36.

  • Updated pytket version requirement to 1.1.

0.23.0 (March 2022)

  • Removed characterisation property of backends. (Use backend_info instead.)

  • Updated pytket version requirement to 1.0.

0.22.2 (February 2022)

0.22.1 (February 2022)

0.22.0 (February 2022)

  • Qiskit version updated to 0.34.

  • Updated pytket version requirement to 0.19.

  • Drop support for Python 3.7; add support for 3.10.

0.21.0 (January 2022)

  • Qiskit version updated to 0.33.

  • Updated pytket version requirement to 0.18.

0.20.0 (November 2021)

  • Qiskit version updated to 0.32.

  • Updated pytket version requirement to 0.17.

0.19.0 (October 2021)

0.18.0 (September 2021)

  • Qiskit version updated to 0.30.

  • Updated pytket version requirement to 0.15.

0.17.0 (September 2021)

  • Updated pytket version requirement to 0.14.

0.16.1 (July 2021)

0.16.0 (July 2021)

  • Qiskit version updated to 0.28.

  • Use provider API client to check job status without retrieving job in IBMQBackend.

  • Updated pytket version requirement to 0.13.

0.15.1 (July 2021)

  • Fixed bug in backends when n_shots argument was passed as list.

0.15.0 (June 2021)

  • Updated pytket version requirement to 0.12.

0.14.0 (unreleased)

  • Qiskit version updated to 0.27.

0.13.0 (May 2021)

  • Updated pytket version requirement to 0.11.

0.12.0 (unreleased)

  • Qiskit version updated to 0.26.

  • Code rewrites to avoid use of deprecated qiskit methods.

  • Restriction to hermitian operators for expectation values in AerBackend.

0.11.0 (May 2021)

  • Contextual optimisation added to default compilation passes (except at optimisation level 0).

  • Support for symbolic parameters in rebase pass.

  • Correct phase when rebasing.

  • Ability to preserve UUIDs of qiskit symbolic parameters when converting.

  • Correction to error message.

0.10.0 (April 2021)

  • Support for symbolic phase in converters.