Skip to content

Releases: Qiskit/qiskit

Qiskit Terra 0.23.2

23 Feb 13:27
09f904a
Compare
Choose a tag to compare

Changelog

Fixed

  • Fix inverse of SdgGate in Solovay Kitaev (#9635) (#9641)
  • Add the gates ECR, iSwap, CY, SX, SXdg, DCX to the Clifford class (#9623) (#9640)
  • Fix handling of simulator backends in BackendV2Converter (#9630) (#9632)
  • Fix VQD with SPSA optimizer (#9538) (#9613)
  • Update Target to use CalibrationEntry to create inst map (#9597) (#9610)
  • Retain all deprecated Bit properties in QPY roundtrip (#9525) (#9603)
  • Fix sparse matrix conversion for SciPy<Real/Imaginary>Evolver (#9598) (#9600)
  • Fix NumPy(Minimum)Eigensolver for sparse matrices (#9575) (#9577)
  • Remove deprecated arguments (#9542) (#9544)
  • Bug fix on QNSPSA (#9483) (#9520)
  • Bug fix property and methods of BackendV2Converter (#9502) (#9506)

Qiskit Terra 0.23.1

31 Jan 19:55
0.23.1
d4e7144
Compare
Choose a tag to compare

Changelog

Fixed

  • Fix bad deprecation of Register.name_format (#9494) (#9497)
  • Manage edge case of pickling instmap. (#9487) (#9495)
  • Fix performance of ReverseEstimatorGradient for partial gradients (#9491) (#9492)

Qiskit Terra 0.23.0

26 Jan 21:24
0.23.0
5d6ba50
Compare
Choose a tag to compare

Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-23-0

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

  • Fix add_calibration bug (#9223) (#9451)
  • Fix PauliOp.adjoint() (#9434) (#9443)
  • Fix qpy for MCX gates (#9391) (#9412)
  • Fix TensoredOp.to_matrix with global coefficients (#9404) (#9408)
  • Fix the AmplitudeEstimator algorithms for primitive usage (#9394) (#9407)
  • 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)

Qiskit Terra 0.23.0rc1

19 Jan 22:17
0.23.0rc1
c0961b9
Compare
Choose a tag to compare
Pre-release

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)

Qiskit Terra 0.22.4

17 Jan 12:26
23ec902
Compare
Choose a tag to compare

Changelog

Fixed

  • Performance improvement of _DiagonalEstimator (#9229) (#9243)
  • Fix the aggregation argument of SamplingVQE (#9221) (#9241)
  • Fix ComposedOp.to_matrix (#9316) (#9356)
  • Fix a transpile issue of BackendSampler (#9236) (#9249)
  • Fix Sampler fails on gates with unhashable parameters #9102 (#9103) (#9149)
  • Fix ordering of dims in QuantumState.probabilities_dict (#9214) (#9226)

Qiskit Terra 0.22.3

23 Nov 19:27
0.22.3
92fc708
Compare
Choose a tag to compare

Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-22-3

Changelog

Fixed

  • Infer cregbundle for all drawers (#9133) (#9191)
  • fix: QNSPSA with max_evals_grouped exceeding 1 (#9182) (#9189)
  • fix: overwrite AdaptVQE.supports_aux_operators (#9142) (#9166)
  • Fix serialization of primitives (#9076) (#9152)
  • Reinstate pulse.Instruction.draw (#9144) (#9147)
  • Fix random seed initialization between runs in SabreSwap (backport #9127) (#9132)
  • 🐛 fix deprecated Loader.load_module() (#9078) (#9114)

Qiskit Terra 0.22.2

03 Nov 23:47
0.22.2
b2c75ac
Compare
Choose a tag to compare

Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-22-2

Changelog

Added

  • Add support for Python 3.11 (backport #9028) (#9071)

Fixed

  • Fix Backend primitive classes for BackendV1 with no max_experiments (#9069) (#9072)
  • Avoid deepcopy in pulse parser (#9063) (#9068)
  • Fix incorrect graph construction in VF2PostLayout (#9058) (#9060)

Qiskit Terra 0.22.1

01 Nov 22:42
0.22.1
6ef8691
Compare
Choose a tag to compare

Full release notes: https://qiskit.org/documentation/release_notes.html#terra-0-22-1

Changelog

Fixed

  • Fix default batching in variational algorithms (#9038) (#9050)
  • Fix handling of global ideal gates for target build_coupling_map() (#8977) (#9040)
  • Fix backend primitives on backends with job size limit (#8955) (#9039)
  • Fix zero-operand gates and instructions (#8272) (#9034)
  • Fix transpile() with a Target containing an ideal Measure (#8995) (#9020)
  • Fix VQD for k>2 (#8989) (#9009)
  • Fix manifest entry for mpl styles (#9004) (#9007)
  • fix #8992 (#8998) (#9000)
  • Fix VF2Layout and VF2PostLayout handling of instructions without error (#8978) (#8997)
  • Cast ParameterExpression to float in RZXBuilder and RZXCalibrationBuilderNoEcho (#8965) (#8994)
  • Fix parallel dispatch with target argument in transpile() (#8952) (#8972)
  • Fix Statevector.evolve and DensityMatrix.evolve for mixed dimension subsystems (#8900) (#8964)
  • Fix classical-bit handling in control-flow StochasticSwap (#8906) (#8956)
  • fix hinton visualization bug (#8447) (#8946)
  • Fix single-bit-condition equality in QuantumCircuit and DAGCircuit (#8930) (#8943)
  • Fix qpy custom ControlledGate with overloaded _define() (#8927) (#8937)
  • Fix BarrierBeforeFinalMeasurements with loose bits (#8924) (#8939)
  • Fix handling of globally defined operations in Target (#8925) (#8938)
  • Fix loose-bit handling in QPY (#8928) (#8931)
  • Fix pauli_basis deprecation (#8905) (#8909)

Qiskit Terra 0.22.0

13 Oct 18:42
0.22.0
6187703
Compare
Choose a tag to compare

Release notes: https://qiskit.org/documentation/release_notes.html#qiskit-0-39-0

Changelog

Deprecated

  • Switch to primitive support in QNSPSA (#8682)
  • Pending deprecate algo eigen_solvers (#8651)
  • Clifford does not use StabilizerTable as internal data and PendingDeprecation of PauliTable and StabilizerTable (#7269)
  • Pending deprecate algorithms (#8703)
  • Rewrite Amplitude Estimators with Primitives (#8656)
  • Quantum Phase Estimation algorithms with primitives. (#8666)
  • Support Sampler in Grover (#8647)
  • Prepare for removal of tweedledum as a requirement (#8738)
  • Adds observable evaluator with primitives. (#8683)
  • Time Evolution Framework with primitives. (#8681)
  • deprecate qiskit.pulse.utils.deprecated_functionality in favor of qiskit.utils.deprecation.deprecate_function (#8696)
  • Deprecate Algorithms Factorizers and Linear Solvers (#8617)
  • Add run method to primitives (#8382)

Added

  • Modify preset pass managers for control-flow support (#8830)
  • Add controlflow handling to stochastic swap pass (#8418)
  • Add support for custom backend transpiler stages (#8648)
  • Update GateDirection and checker for control flow (#8822)
  • Add control-flow support to GatesInBasis (#8823)
  • plot_histogram now a valid histogram, plot_distribution for non-discrete data (#8762)
  • Sampled expectation value for distributions (#8748)
  • Implementing pluggable HighLevelSynthesis (#8548)
  • Handle control-flow in DenseLayout (#8742)
  • Switch to primitive support in QNSPSA (#8682)
  • add controlflow handling to CheckMap transpiler pass. (#8793)
  • Add BackendSampler for Sampler from an arbitrary backend (#8668)
  • Add backend estimator for estimator from an arbitrary backend (#8736)
  • Sampler-based VQE for diagonal operators, plus QAOA (#8669)
  • Make VF2Layout and VF2PostLayout work with control flow (#8804)
  • Add control-flow support to "properties" transpiler passes (#8763)
  • Implement eigensolvers (VQD) with primitives (#8640)
  • Clifford does not use StabilizerTable as internal data and PendingDeprecation of PauliTable and StabilizerTable (#7269)
  • add control flow support to UnitarySynthesis pass (#8565)
  • Add conversion transpiler pass from c_if to IfElseOp (#8764)
  • Parameter handling in SparsePauliOp (#8620)
  • Migrating AdaptVQE to Qiskit Terra (#7930)
  • Add BackendV2Converter class for treating BackendV1 as BackendV2 (#8759)
  • Add optimization to quantum shannon decomposition (#8092)
  • VQE implementation with estimator primitive (#8702)
  • Remove symbolic pulse subclass implementation (#8278)
  • Improving memory consumption of DagDependency when lists of transitive predecessors and successors are not required (#8525)
  • Rewrite Amplitude Estimators with Primitives (#8656)
  • Quantum Phase Estimation algorithms with primitives. (#8666)
  • Implemented TrotterQRTE algorithm with primitives. (#8706)
  • Support Sampler in Grover (#8647)
  • Implemented PVQD algorithm with primitives. (#8705)
  • adding FakeGeneva (#8322)
  • Add FakeAuckland backend to fake provider (#8467)
  • Add FakeOslo backend to fake provider (#8358)
  • adding FakePerth (#8344)
  • Allow DAG-node substitution without overriding conditions (#8615)
  • Adds observable evaluator with primitives. (#8683)
  • Edge coloring for the Commuting2qGateRouter (#8341)
  • Pulse reference mechanism (#8005)
  • Add BaseResult functionality to primitives module (#8091)
  • Time Evolution Framework with primitives. (#8681)
  • Add CS, CSdg and CCZ gates to the CNOTDihedral class (#8673)
  • feat: support sum(LinearMixin) (#8722)
  • Default run_options for Primitives (#8513)
  • Gradients with the primitives (#8528)
  • Fidelity interface using primitives (#8303)
  • Add curve fill control option to pulse drawer (#8658)
  • Add ResetAfterMeasureSimplification transpiler pass (#8330)
  • Enable multiple parallel seed trials for SabreSwap (#8572)
  • Implements two-step tapering (#8590)
  • Add stage plugin interface for transpile (#8305)
  • Steppable Optimizer (#8170)
  • Add CS and CCZ gates (#8583)
  • Variational Quantum Time Evolution algorithm. (#8152)
  • Add barrier labels and display in 3 circuit drawers (#8440)
  • Adding Cliffords to QuantumCircuits as Operations (#7966)
  • Improve the performance of taper in opflow (#8410)
  • Refactoring commutativity analysis and a new commutative inverse cancellation transpiler pass (#8184)
  • Add run method to primitives (#8382)
  • Projected Variational Quantum Dynamics (#8304)
  • Add optimization for TwoLocal synthesis when entanglement='full' (#8335)
  • Reimplement SabreSwap heuristic scoring in Rust (#7977)
  • Tensored fitter (#8345)
  • Add wire_order option to all circuit drawers to allow defining the order of the wires (#8173)
  • Added argsort and sort method to SparsePauliOp (#8016)
  • add atol parameter to SparsePauliOp.equiv (#8281)
  • Combine circuits with clbits onto those with none (#7823)
  • Add shots option to primitives (#8137)

Changed

  • Fix transpile() for control flow operations with a Target/BackendV2 (#8852) (#8889)
  • Remove tweedledum from macOS arm64 immediately (#8849)
  • Fix reverse permutation for transpiled circuits in Operator.from_circuit (#8802)
  • Remove pulse defaults for old fake 20q backends (#8665)
  • Use Sabre by default for optimization levels 1 and 2 (#8552)
  • Remove symbolic pulse subclass implementation (#8278)
  • Quantum Phase Estimation algorithms with primitives. (#8666)
  • Support Sampler in Grover (#8647)
  • Update ProbDistribution and QuasiDistribution to store the number of bits if bitstrings w/o prefix are given (#8464)
  • Fix handling of holes in physical bits list in Layout (#8767)
  • Default set to turn off approximation_degree (#8595)
  • Prepare for removal of tweedledum as a requirement (#8738)
  • Pulse reference mechanism (#8005)
  • Move circuit drawer files to qiskit.visualization.circuit (#8306)
  • Reimplement SabreSwap heuristic scoring in Rust (#7977)

Removed

  • Remove deprecated pulse-builder contexts (#8697)
  • Remove deprecated methods and arguments in quantum_info (#8510)
  • Fix maxfun default in L_BFGS (#8285)
  • Argument epsilon and factr of optimizers L_BFGS_B and factr of P_BFGS has been removed (#8210)
  • Deprecated QiskitIndexError removed (#8209)

Fixed

  • Fix transpile() for control flow operations with a Target/BackendV2 (#8852) (#8889)
  • Fix pauli.evolve dtype casting error (#8877) (#8884)
  • Modify preset pass managers for control-flow support (#8830)
  • Fix handling of 1q gates in UnitarySynthesis with target (#8847)
  • Fix DenseLayout when loose bits are present in input circuit (#8843)
  • Fix reverse permutation for transpiled circuits in Operator.from_circuit (#8802)
  • Introduce observable key for Estimator (#8837)
  • Resolve classical conditions in QuantumCircuit.while_loop (#8833)
  • Update GateDirection and checker for control flow (#8822)
  • "cregbundle set to False" warning should not raised when no classical bits are involved (#8689)
  • Add control-flow support to "properties" transpiler passes (#8763)
  • Fix for None in state_to_latex latex output (#8273)
  • Fix flipping of gate direction in transpiler for CZ gate (#8625)
  • add state_to_latex prefix kwarg (#8461)
  • Fix handling of holes in physical bits list in Layout (#8767)
  • Fix printing an empty PauliList (#7712)
  • Add internal routine for canonicalisation of control-flow builders (#8627)
  • Composite key for Primitives (#8604)
  • Raise error for missing bounds in optimizer SNOBFIT (#8638)
  • Fix OpenQASM 3 built-ins with classical conditions (#8731)
  • Clean up text drawer compression issues (#8588)
  • Use np.array_split instead of np.split to support uneven splits in spsa._batch_evaluate (#8634)
  • Fix LaTeX drawer on split-filesystem systems (#8629)
  • Fix decomposition for a single qubit and clbit (#8614)
  • Fix VQD callback not being used (#8576)
  • Add logic to return channels to FakeBackendV2 (#8444)
  • Fix QuantumCircuit.compose within control-flow scopes (#8570)
  • Fix QPY serialisation of ControlledGate with open controls (#8571)
  • accept single qubit in initialize to fix #8408 (#8463)
  • Fix global phase in inverse of UCGate (#8508)
  • Changing aer_simulator_statevector checking method (#8411)
  • Fix ParameterExpression.is_real if symengine is installed (#8456)
  • Fix MPL and LaTeX circuit drawer when idle_wires=False and there are barriers (#8321)
  • Fix converting VectorStateFn to a CircuitStateFn (#8405)
  • Fix handling of numpy arrays for indices in marginal_distribution (#8288)
  • Fix EvolvedOp.to_instruction (#8384)
  • Fix Optimizer reconstruction from settings (#8381)
  • Fix Uc gate global phase (#8231)
  • Fix bug in circuit decompose (#8364)
  • Fix pairwise entanglement (#8346)
  • Switched to StandardScaler from deprecated normalize in NaturalGradient (#8299)
  • fix limit_amplitude bug (#8308)
  • Fix UnitaryGate.qasm() with unused qubits (#8234) (#8243)
  • Fix UnitaryGate.qasm() with unused qubits (#8234)

Qiskit Terra 0.22.0rc1

07 Oct 16:26
0.22.0rc1
ae72c09
Compare
Choose a tag to compare
Pre-release

Changelog

Deprecated

  • Switch to primitive support in QNSPSA (#8682)
  • Pending deprecate algo eigen_solvers (#8651)
  • Clifford does not use StabilizerTable as internal data and PendingDeprecation of PauliTable and StabilizerTable (#7269)
  • Pending deprecate algorithms (#8703)
  • Rewrite Amplitude Estimators with Primitives (#8656)
  • Quantum Phase Estimation algorithms with primitives. (#8666)
  • Support Sampler in Grover (#8647)
  • Prepare for removal of tweedledum as a requirement (#8738)
  • Adds observable evaluator with primitives. (#8683)
  • Time Evolution Framework with primitives. (#8681)
  • deprecate qiskit.pulse.utils.deprecated_functionality in favor of qiskit.utils.deprecation.deprecate_function (#8696)
  • Deprecate Algorithms Factorizers and Linear Solvers (#8617)
  • Add run method to primitives (#8382)

Added

  • Modify preset pass managers for control-flow support (#8830)
  • Add controlflow handling to stochastic swap pass (#8418)
  • Add support for custom backend transpiler stages (#8648)
  • Update GateDirection and checker for control flow (#8822)
  • Add control-flow support to GatesInBasis (#8823)
  • plot_histogram now a valid histogram, plot_distribution for non-discrete data (#8762)
  • Sampled expectation value for distributions (#8748)
  • Implementing pluggable HighLevelSynthesis (#8548)
  • Handle control-flow in DenseLayout (#8742)
  • Switch to primitive support in QNSPSA (#8682)
  • add controlflow handling to CheckMap transpiler pass. (#8793)
  • Add BackendSampler for Sampler from an arbitrary backend (#8668)
  • Add backend estimator for estimator from an arbitrary backend (#8736)
  • Sampler-based VQE for diagonal operators, plus QAOA (#8669)
  • Make VF2Layout and VF2PostLayout work with control flow (#8804)
  • Add control-flow support to "properties" transpiler passes (#8763)
  • Implement eigensolvers (VQD) with primitives (#8640)
  • Clifford does not use StabilizerTable as internal data and PendingDeprecation of PauliTable and StabilizerTable (#7269)
  • add control flow support to UnitarySynthesis pass (#8565)
  • Add conversion transpiler pass from c_if to IfElseOp (#8764)
  • Parameter handling in SparsePauliOp (#8620)
  • Migrating AdaptVQE to Qiskit Terra (#7930)
  • Add BackendV2Converter class for treating BackendV1 as BackendV2 (#8759)
  • Add optimization to quantum shannon decomposition (#8092)
  • VQE implementation with estimator primitive (#8702)
  • Remove symbolic pulse subclass implementation (#8278)
  • Improving memory consumption of DagDependency when lists of transitive predecessors and successors are not required (#8525)
  • Rewrite Amplitude Estimators with Primitives (#8656)
  • Quantum Phase Estimation algorithms with primitives. (#8666)
  • Implemented TrotterQRTE algorithm with primitives. (#8706)
  • Support Sampler in Grover (#8647)
  • Implemented PVQD algorithm with primitives. (#8705)
  • adding FakeGeneva (#8322)
  • Add FakeAuckland backend to fake provider (#8467)
  • Add FakeOslo backend to fake provider (#8358)
  • adding FakePerth (#8344)
  • Allow DAG-node substitution without overriding conditions (#8615)
  • Adds observable evaluator with primitives. (#8683)
  • Edge coloring for the Commuting2qGateRouter (#8341)
  • Pulse reference mechanism (#8005)
  • Add BaseResult functionality to primitives module (#8091)
  • Time Evolution Framework with primitives. (#8681)
  • Add CS, CSdg and CCZ gates to the CNOTDihedral class (#8673)
  • feat: support sum(LinearMixin) (#8722)
  • Default run_options for Primitives (#8513)
  • Gradients with the primitives (#8528)
  • Fidelity interface using primitives (#8303)
  • Add curve fill control option to pulse drawer (#8658)
  • Add ResetAfterMeasureSimplification transpiler pass (#8330)
  • Enable multiple parallel seed trials for SabreSwap (#8572)
  • Implements two-step tapering (#8590)
  • Add stage plugin interface for transpile (#8305)
  • Steppable Optimizer (#8170)
  • Add CS and CCZ gates (#8583)
  • Variational Quantum Time Evolution algorithm. (#8152)
  • Add barrier labels and display in 3 circuit drawers (#8440)
  • Adding Cliffords to QuantumCircuits as Operations (#7966)
  • Improve the performance of taper in opflow (#8410)
  • Refactoring commutativity analysis and a new commutative inverse cancellation transpiler pass (#8184)
  • Add run method to primitives (#8382)
  • Projected Variational Quantum Dynamics (#8304)
  • Add optimization for TwoLocal synthesis when entanglement='full' (#8335)
  • Reimplement SabreSwap heuristic scoring in Rust (#7977)
  • Tensored fitter (#8345)
  • Add wire_order option to all circuit drawers to allow defining the order of the wires (#8173)
  • Added argsort and sort method to SparsePauliOp (#8016)
  • add atol parameter to SparsePauliOp.equiv (#8281)
  • Combine circuits with clbits onto those with none (#7823)
  • Add shots option to primitives (#8137)

Changed

  • Remove tweedledum from macOS arm64 immediately (#8849)
  • Fix reverse permutation for transpiled circuits in Operator.from_circuit (#8802)
  • Remove pulse defaults for old fake 20q backends (#8665)
  • Use Sabre by default for optimization levels 1 and 2 (#8552)
  • Remove symbolic pulse subclass implementation (#8278)
  • Quantum Phase Estimation algorithms with primitives. (#8666)
  • Support Sampler in Grover (#8647)
  • Update ProbDistribution and QuasiDistribution to store the number of bits if bitstrings w/o prefix are given (#8464)
  • Fix handling of holes in physical bits list in Layout (#8767)
  • Default set to turn off approximation_degree (#8595)
  • Prepare for removal of tweedledum as a requirement (#8738)
  • Pulse reference mechanism (#8005)
  • Move circuit drawer files to qiskit.visualization.circuit (#8306)
  • Reimplement SabreSwap heuristic scoring in Rust (#7977)

Removed

  • Remove deprecated pulse-builder contexts (#8697)
  • Remove deprecated methods and arguments in quantum_info (#8510)
  • Fix maxfun default in L_BFGS (#8285)
  • Argument epsilon and factr of optimizers L_BFGS_B and factr of P_BFGS has been removed (#8210)
  • Deprecated QiskitIndexError removed (#8209)

Fixed

  • Modify preset pass managers for control-flow support (#8830)
  • Fix handling of 1q gates in UnitarySynthesis with target (#8847)
  • Fix DenseLayout when loose bits are present in input circuit (#8843)
  • Fix reverse permutation for transpiled circuits in Operator.from_circuit (#8802)
  • Introduce observable key for Estimator (#8837)
  • Resolve classical conditions in QuantumCircuit.while_loop (#8833)
  • Update GateDirection and checker for control flow (#8822)
  • "cregbundle set to False" warning should not raised when no classical bits are involved (#8689)
  • Add control-flow support to "properties" transpiler passes (#8763)
  • Fix for None in state_to_latex latex output (#8273)
  • Fix flipping of gate direction in transpiler for CZ gate (#8625)
  • add state_to_latex prefix kwarg (#8461)
  • Fix handling of holes in physical bits list in Layout (#8767)
  • Fix printing an empty PauliList (#7712)
  • Add internal routine for canonicalisation of control-flow builders (#8627)
  • Composite key for Primitives (#8604)
  • Raise error for missing bounds in optimizer SNOBFIT (#8638)
  • Fix OpenQASM 3 built-ins with classical conditions (#8731)
  • Clean up text drawer compression issues (#8588)
  • Use np.array_split instead of np.split to support uneven splits in spsa._batch_evaluate (#8634)
  • Fix LaTeX drawer on split-filesystem systems (#8629)
  • Fix decomposition for a single qubit and clbit (#8614)
  • Fix VQD callback not being used (#8576)
  • Add logic to return channels to FakeBackendV2 (#8444)
  • Fix QuantumCircuit.compose within control-flow scopes (#8570)
  • Fix QPY serialisation of ControlledGate with open controls (#8571)
  • accept single qubit in initialize to fix #8408 (#8463)
  • Fix global phase in inverse of UCGate (#8508)
  • Changing aer_simulator_statevector checking method (#8411)
  • Fix ParameterExpression.is_real if symengine is installed (#8456)
  • Fix MPL and LaTeX circuit drawer when idle_wires=False and there are barriers (#8321)
  • Fix converting VectorStateFn to a CircuitStateFn (#8405)
  • Fix handling of numpy arrays for indices in marginal_distribution (#8288)
  • Fix EvolvedOp.to_instruction (#8384)
  • Fix Optimizer reconstruction from settings (#8381)
  • Fix Uc gate global phase (#8231)
  • Fix bug in circuit decompose (#8364)
  • Fix pairwise entanglement (#8346)
  • Switched to StandardScaler from deprecated normalize in NaturalGradient (#8299)
  • fix limit_amplitude bug (#8308)
  • Fix UnitaryGate.qasm() with unused qubits (#8234) (#8243)
  • Fix UnitaryGate.qasm() with unused qubits (#8234)