Releases: Qiskit/qiskit
Releases · Qiskit/qiskit
Qiskit Terra 0.23.2
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
withSPSA
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
Qiskit Terra 0.23.0
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
intoQFI
andQGT
(#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
fromdagcircuit.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
andreset
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
withSparsePauliOp
(#9101) - Fix PulseQobj converter name collision (#8839)
- Feature/trivial gate inversions (#9262)
- Fix primitives metadata (#9285)
- Refactor gradients for extensibility (#9084)
- Fix
LinCombSamplerGradient
to leverageAerSampler
(#9258) - Fix
betas
calculation onVQD
and async. cost evaluation (#9245) - Fix a transpile issue of BackendSampler (#9236)
- Performance improvement of
_DiagonalEstimator
(#9229) - Fix the
aggregation
argument ofSamplingVQE
(#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
fork>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
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
intoQFI
andQGT
(#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
fromdagcircuit.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
andreset
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
withSparsePauliOp
(#9101) - Fix PulseQobj converter name collision (#8839)
- Feature/trivial gate inversions (#9262)
- Fix primitives metadata (#9285)
- Refactor gradients for extensibility (#9084)
- Fix
LinCombSamplerGradient
to leverageAerSampler
(#9258) - Fix
betas
calculation onVQD
and async. cost evaluation (#9245) - Fix a transpile issue of BackendSampler (#9236)
- Performance improvement of
_DiagonalEstimator
(#9229) - Fix the
aggregation
argument ofSamplingVQE
(#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
fork>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
Changelog
Fixed
- Performance improvement of
_DiagonalEstimator
(#9229) (#9243) - Fix the
aggregation
argument ofSamplingVQE
(#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
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
Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-22-2
Changelog
Added
Fixed
Qiskit Terra 0.22.1
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
fork>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
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)
Qiskit Terra 0.22.0rc1
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
- 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
- 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)