Skip to content

Qiskit Terra 0.22.0

Compare
Choose a tag to compare
@qiskit-bot qiskit-bot released this 13 Oct 18:42
· 2550 commits to main since this release
0.22.0
6187703

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)