Skip to content

Qiskit Terra 0.23.0rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@qiskit-bot qiskit-bot released this 19 Jan 22:17
· 2215 commits to main since this release
0.23.0rc1
c0961b9

Changelog

Deprecated

  • Add deprecation warning on use of qiskit.IBMQ (#8080)
  • Deprecate LinearFunctionsSynthesis transpiler pass (#9041)
  • Refactor state latex drawer (#8874)
  • Relax register-naming restrictions (#9100)
  • Deprecate old path to QPY (#9225)
  • Correct deprecation of old pulse visualization (#9146)
  • Transfer clifford and cnot-dihedral synthesis functions from quantum_info to synthesis (#9141)
  • Deprecate Python 3.7 support (#8942)
  • Deprecate lists for argument input on transpile() (#8835)
  • Fix pauli_basis deprecation (#8905)

Added

  • Constructing Cliffords from quantum circuits with other Cliffords (#9169)
  • Add importer for OpenQASM 3 (#9347)
  • High-level-synthesis for permutations (#9157)
  • Implements VarQTE algorithm with primitives. (#8746)
  • Add final layout to output quantum circuit from transpiler (#8597)
  • Primitives support the dynamic circuits with control flow (#9231)
  • Add option to user config to control reverse_bits in circuit drawer (#9211)
  • Efficient classical calculation of expectation gradients (#9287)
  • Split QFI into QFI and QGT (#9085)
  • Convert Equivalence Library to graph (#8790)
  • Add FakeSherbrooke backend (#9339)
  • Lazy pulse qobj loading for large backend (#8885)
  • Add FakePrague Egret R1 to fake backends (#9369)
  • Introducing ScalableSymbolicPulse to correctly compare pulses of amp,angle representation (#9314)
  • support gate powering with ** (#9030)
  • Add option to allow passing unknown parameters to ParameterExpression.bind (#9304)
  • Speed up Clifford.compose (#7483)
  • Synthesis of a Clifford circuit into layers (#9220)
  • add dtype parameter to PauliSumOp.from_list (#8896)
  • Add efficient gate power methods (#9318)
  • Translate parameterized gates only in gradient calculations (#9067)
  • Refactor z2symmetries (#9227)
  • Numerical Integration methods for real and imaginary time evolution. (#8399)
  • Refactor gradients for extensibility (#9084)
  • Add the Solovay-Kitaev algorithm to the transpiler passes (#5657)
  • Various improvements to AdaptVQE (#9215)
  • Oxidize SabreLayout pass (#9116)
  • Add DAGCircuit output option to OneQubitEulerDecomposer (#9188)
  • Adding linear synthesis algorithm for LNN (#9098)
  • Adding CollectAndCollapse transpiler pass (#8907)
  • Fully QPY compatible pulse builder for V2 and runtime backend (#8949)
  • Improve performance of VF2 scoring and add support for scoring passes (#9026)
  • Increase Accuracy of OpenQASM 2.0 Dump (#8250)
  • Update Optimize1qGatesDecomposition to be Target aware (#8917)
  • Adding permutation synthesis algorithm for LNN (#9082)
  • Add gradient methods to FinDiffGradients (#9104)
  • Calculate relative, not absolute, scores in SabreSwap (#9012)
  • Add support for Python 3.11 (#9028)
  • Improve LinearFunction synthesis (#8568)
  • Add implicit iteration to CouplingMap (#9051)
  • QFI with the primitives (#8688)
  • add QuantumCircuit.from_instructions (#9006)
  • Speed up random_circuit (#8983)
  • Add missing equivalences for XX{Plus,Minus}YYGate (#9017)
  • Make UnrollCustomDefinitions pass target aware (#8784)
  • Return DAGOpNode from dagcircuit.replace_block_with_op (#8799)

Changed

  • Refactor state latex drawer (#8874)
  • Convert Equivalence Library to graph (#8790)
  • Relax register-naming restrictions (#9100)
  • Introducing ScalableSymbolicPulse to correctly compare pulses of amp,angle representation (#9314)
  • Oxidize SabreLayout pass (#9116)
  • Converting the pulse library from complex amp to amp+angle (#9002)
  • Adding CollectAndCollapse transpiler pass (#8907)
  • Fully QPY compatible pulse builder for V2 and runtime backend (#8949)
  • Switch from retworkx to rustworkx package (#9162)
  • Improve LinearFunction synthesis (#8568)
  • Use TOQM routing staged pass manager. (#9042)
  • Speed up random_circuit (#8983)
  • Remove tweedledum as a core dependency (#8947)
  • Add singledispatchmethod to dependency (#8944)
  • Fix transpile() for control flow operations with a Target/BackendV2 (#8852) (#8889)

Removed

  • Remove label argument from MCMTVChain and MCMT (#9324)
  • Remove gate argument from qiskit.transpiler.passes.Decompose (#9325)
  • Remove deprecated MSBasisDecomposer transpiler pass (#9342)
  • Remove deprecated measure and reset circuit operations (#9278)
  • Remove deprecated functions from ParameterView (#9184)
  • Remove deprecated redirects from visualization (#9131)
  • Removed NLocal inital_state that is not a QuantumCircuit (#9081)
  • Remove deprecated networkx dag converter functions (#9035)
  • Remove deprecated methods from QuantumCircuit (#8980)

Fixed

  • Constructing Cliffords from quantum circuits with other Cliffords (#9169)
  • Make BackendSampler set shots and stddev_upper_bound of returned QuasiDistribution (#9312)
  • Barrier support for visualize_transition and refactor (#8834)
  • Fix PauliOp matmul with iI & add PauliOp test (#9321)
  • Relax register-naming restrictions (#9100)
  • Fix: AQC returns a wrong circuit when the unitary has a determinant −1 (#9331)
  • Fix PVQD loss function (#9371)
  • Fix QuantumCircuit.compose on unusual types and registers (#9206)
  • Update qiskit.utils.wrap_method for Python 3.11 (#9310)
  • Fix ComposedOp.to_matrix (#9316)
  • Fix NumPyEigensolver with SparsePauliOp (#9101)
  • Fix PulseQobj converter name collision (#8839)
  • Feature/trivial gate inversions (#9262)
  • Fix primitives metadata (#9285)
  • Refactor gradients for extensibility (#9084)
  • Fix LinCombSamplerGradient to leverage AerSampler (#9258)
  • Fix betas calculation on VQD and async. cost evaluation (#9245)
  • Fix a transpile issue of BackendSampler (#9236)
  • Performance improvement of _DiagonalEstimator (#9229)
  • Fix the aggregation argument of SamplingVQE (#9221)
  • Fix ordering of dims in QuantumState.probabilities_dict (#9214)
  • Enable simplifying 1q runs and 2q blocks in transpile() without target (#9222)
  • Fix shots argument of local_readout_mitigator (#9155)
  • Infer cregbundle for all drawers (#9133)
  • Fully QPY compatible pulse builder for V2 and runtime backend (#8949)
  • fix: overwrite AdaptVQE.supports_aux_operators (#9142)
  • Fix serialization of primitives (#9076)
  • fix #9102 (#9103)
  • Reinstate pulse.Instruction.draw (#9144)
  • Fix random seed initialization between runs in SabreSwap (#9127)
  • Use float-epsilon calculation in Sabre best scores (#9117)
  • Fixed sign bug in docs in LinCombEstimatorGradient. (#9113)
  • 🐛 fix deprecated Loader.load_module() (#9078)
  • Fix QPY handling of registers (#9095)
  • Fix Backend primitive classes for BackendV1 with no max_experiments (#9069)
  • Improve LinearFunction synthesis (#8568)
  • Avoid deepcopy in pulse parser (#9063)
  • Fix incorrect graph construction in VF2PostLayout (#9058)
  • Make TwoQubitWeylDecomposition pickle-able (#7333)
  • Fix default batching in variational algorithms (#9038)
  • Fix handling of global ideal gates for target build_coupling_map() (#8977)
  • Fix backend primitives on backends with job size limit (#8955)
  • Fix zero-operand gates and instructions (#8272)
  • Fix transpile() with a Target containing an ideal Measure (#8995)
  • Fix VQD for k>2 (#8989)
  • Fix manifest entry for mpl styles (#9004)
  • fix #8992 (#8998)
  • Fix VF2Layout and VF2PostLayout handling of instructions without error (#8978)
  • Cast ParameterExpression to float in RZXBuilder and RZXCalibrationBuilderNoEcho (#8965)
  • Avoid skipping channels in pulse visualizer (#8974)
  • Fix parallel dispatch with target argument in transpile() (#8952)
  • Fix Statevector.evolve and DensityMatrix.evolve for mixed dimension subsystems (#8900)
  • Fix classical-bit handling in control-flow StochasticSwap (#8906)
  • Fix single-bit-condition equality in QuantumCircuit and DAGCircuit (#8930)
  • Fix BarrierBeforeFinalMeasurements with loose bits (#8924)
  • Fix handling of globally defined operations in Target (#8925)
  • Fix qpy custom ControlledGate with overloaded _define() (#8927)
  • Fix loose-bit handling in QPY (#8928)
  • Fix pauli_basis deprecation (#8905)
  • Fix transpile() for control flow operations with a Target/BackendV2 (#8852) (#8889)
  • Fix pauli.evolve dtype casting error (#8877) (#8884)
  • Fix pauli.evolve dtype casting error (#8877)