Qiskit Terra 0.22.0
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
inGrover
(#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
toIfElseOp
(#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
inGrover
(#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
inGrover
(#8647) - Update
ProbDistribution
andQuasiDistribution
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 inL_BFGS
(#8285) - Argument
epsilon
andfactr
of optimizersL_BFGS_B
andfactr
ofP_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
instate_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
ifsymengine
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 fromsettings
(#8381) - Fix Uc gate global phase (#8231)
- Fix bug in circuit decompose (#8364)
- Fix pairwise entanglement (#8346)
- Switched to
StandardScaler
from deprecatednormalize
inNaturalGradient
(#8299) - fix limit_amplitude bug (#8308)
- Fix UnitaryGate.qasm() with unused qubits (#8234) (#8243)
- Fix UnitaryGate.qasm() with unused qubits (#8234)