Releases: Qiskit/qiskit
Releases · Qiskit/qiskit
Qiskit Terra 0.24.1
Changelog
Changed
Fixed
- Assign values directly to fully bound parameters in quantum circuits (#10183) (#10192)
- Fix unitary synthesis for parameterized basis gates in Target (#10090) (#10190)
- Fix PassManagerConfig.from_backend with BackendV1 and no CouplingMap (#10172) (#10181)
- Fix top-level
switch
statements inQuantumCircuit.compose
(#10164) (#10180) - Fixing BlockCollapser with Clbits (#9823) (#10173)
- Remove undefined variable (#10117) (#10152)
- Fix tweedledum runtime detection in BooleanExpression.from_dimacs_file (#10132) (#10137)
- Improve performance of
ConstrainedReschedule
pass (#10077) (#10093) - Add the
qubit_coordinates_map
foribm_seattle
(#10089) (#10094) - define getstate and setstate for OneQubitGateErrorMap (#10092) (#10095)
- Fix interaction graph vf2 scoring to include 1q component (#10084) (#10086)
Qiskit Terra 0.24.0
Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-24-0
Changelog
Deprecated
- Deprecate QuantumInstance and Opflow (#9176)
- Deprecate PauliTable and StabilizerTable (#9547)
- Deprecate the BIPMapping transpiler pass in favor of external plugin (#9924)
Added
- Operator apply permutation (#9403)
- Add support to
switch
intranspile
(#9928) - plugin convenience function for getting the entry point object (#9275)
- Improve error messages on failed control-flow transpilation (#9049)
- add function to swap connected nodes in DAGCircuit (#9160)
- Adding global_phase gate in qiskit-terra (#9251)
- Add experimental OpenQASM 3 support for switch (#9916)
- Add partial transpose function in quantum_info (#9566)
- Add full path transpile() support for disjoint backends (#9840)
- providers/options: implement Mapping (#9704)
- Allow list of optimizers+initial points in
VQD
(#9151) AdaptVQE
threshold improvements (#9921)- Add
max_trials
parameter toVF2PostLayout
. (#9963) - new unroll for-loops transpilation pass (#9670)
- Add support for disjoint coupling maps to SabreLayout (#9802)
- Add constructor to build target from legacy transpiler model (#9255)
- Add Rust-based OpenQASM 2 converter (#9784)
- Add Clifford.from_matrix (#9475)
- Add support for pulse reference to QPY (#9890)
- Ensure we run VF2PostLayout when needed in optimization level 1 (#9941)
- Make all Layout and Routing passes target aware (#9263)
- Fix
AmplitudeEstimation
is silently ignoringis_good_state
in the estimation problem (#9906) - Add flag to filter faulty qubits and gates to BackendV2Converter (#9911)
- Add equivlences of ECR, SX and SXdg gates to the equivalence library (#9913)
- Adding HLS plugins for linear functions and cliffords (#9399)
- Add representation of "switch" (#9833)
- Synthesis of a stabilizer state for LNN connectivity (#9734)
- Add commutator functions to quantum_info (#9546)
- Add option to skip deepcopy on circuit_to_dag (#9848)
- Add MinimumPoint transpiler pass (#9612)
- Add public layout attribute to QuantumCircuit (#9486)
- Update pulse gate transpiler pass to use target. (#9587)
- Rearrange the gradient result based on the order of the input parameters (#9503)
- Add
@deprecate_func
and@deprecate_arg
decorators (#9676) - Add support to CouplingMap for disjoint qubits (#9710)
- Add option to skip deepcopy on dag_to_circuit (#9825)
- Improve
Parameter
handling inSparsePauliOp
(#9796) - new parameters in
plot_bloch_multivector
:figsize
,font_size
, andtitle_font_size
(#7264) - Alternative construction mechanism for HLS config (#9413)
- Add
add_deprecation_to_docstring
for docsite deprecation support (#9685) - Oxidize the internals of Optimize1qGatesDecomposition (#9578)
- Synthesis of CZ and Clifford circuits for linear nearest neighbor connectivity (#9450)
- Added pulses to the
SymbolicPulse
library (#9625) - Remove Sabre's manual insertion-order iteration and unnecessary sorts (#9560)
- Support for time-dependent Hamiltonians and observable evaluation in
TrotterQRTE
(#9565) - Add flipping of
swap
toGateDirection
pass (#9561) - Add an equiv method to the StabilizerState class (#9543)
- two-qubit unitary synthesis adapted to errors and over-complete gatesets (#9175)
- Local fidelity (#9504)
- ensure equivalences work to RZX (#9507)
- Adds support to PassManager drawer to display stages (#9128)
- Add target support to basis, optimization, scheduling, and util passes (#9343)
Changed
- fixed issue 9453 by removing "_v2" from name in BackendV2 class (#9465)
- Update pulse gate transpiler pass to use target. (#9587)
- Implementing CouplingMap.eq (#9766)
- Remove Sabre's manual insertion-order iteration and unnecessary sorts (#9560)
- two-qubit unitary synthesis adapted to errors and over-complete gatesets (#9175)
- PhaseOracle and BooleanExpression allow setting the expression variable order (#6658)
- Bump MSRV to 1.61 and all rust dependencies to latest releases (#9393)
Removed
- Remove argument max_credits from execute and assemble (#9322)
- Remove faulty qubits and gates sections from transpile() (#9900)
- Remove deprecated methods and args in Primitives (#9480)
- Remove factorizers and linear solvers from
algorithms
(#9832) - Remove TextDrawing arguments layout, global_phase, qregs, and cregs (#9323)
- Remove DagDepNode.condition (deprecated in #6110) (#9406)
Fixed
- Set
max_trials
forVF2Layout
in preset pass managers. (#10054) (#10061) - Remove recursion from ConstrainedReschedule pass (#10051) (#10057)
- Fix for unintended rounding in 'state_to_latex' latex output (#9300) (#10048)
- Fix delay padding to respect target's constraints (#10007) (#10038)
- FIx 0q operation handling in
Statevector
(#10031) (#10039) - Bug fix macros.measure with backendv2 (#9987)
- Fix circuit drawer for instructions with circuit parameters (#9942)
- Refactor OpenQASM 2 exporter (#9953)
- Prepare qiskit/transpiler/graysynth.py for deprecation in next release (#9795)
- Fix handling of numpy integers in marginal_distribution() (#9976)
- Correctly error on incorrect clbits in
QuantumCircuit.append
(#9386) - Bug fix in template optimization, and minor cleanup (#9541)
- Ensure we run VF2PostLayout when needed in optimization level 1 (#9941)
- Fix
AmplitudeEstimation
is silently ignoringis_good_state
in the estimation problem (#9906) - Fixed IQAE bug mentioned in issue 9280 (#9887)
- Fix
QuantumCircuitData
handling ofOperation
(#9881) - Fixed handling of a list of coupling_maps passed to transpile() (#9886)
- Fix
UnrollCustomDefinitions
handling of empty definitions (#9899) - Fix a bug in QuantumCircuit.draw related to vertical_compression (#9855)
- Fix string formatting (#9540)
- Fix mypy errors (circuit) (#8267)
- Fix non-complex dtypes in OneQubitEulerDecomposer methods (#9828)
- transpile: narrow the return type depending on the circuits argument (#9799)
- fix qasm with reset (#9819)
- Clip probabilities in
QuantumState
(#9762) - Remove implicit broadcasting from
Pauli
/label construction ofPauliList
(#9779) - Fix basis_gates and coupling_map backend override in transpile() (#9789)
- Fix explicitly calibrated gates in
GateDirection
(#9786) - Fix
Parameter.is_real()
(#9664) - Qiskit gates not
qelib1.inc
are now defined when dumped (#9777) - Fix zero-qubit
Pauli
label strings (#9726) - Fix bitstring padding in the
BackendSampler
(#9744) - Add inverse method to ECRGate (#9733)
- Fix handling of BackendV1 simulators in PassManagerConfig.from_backend (#9719)
- Fix qpy import of circuit with StatePreparation (#9665)
- Fix wrong argument supplied to _identity_op() (#9201)
- Stop raising AttributeError when accessing missing calibration (#9681)
- Fix escaping of identifiers in OQ3 output (#9660)
- Fix typing error in
random_circuit
conditionals (#9651) - Fix bug in backend primitives with
bound_pass_manager
(#9629) - Fix inverse of
SdgGate
in Solovay Kitaev (#9635) - Add the gates ECR, iSwap, CY, SX, SXdg, DCX to the Clifford class (#9623)
- Fix handling of simulator backends in BackendV2Converter (#9630)
- Add TranspileErrors to routing passes for coupling_map=None (#7141)
- Fix
VQD
withSPSA
optimizer (#9538) - Update Target to use CalibrationEntry to create inst map (#9597)
- Retain all deprecated
Bit
properties in QPY roundtrip (#9525) - Fix sparse matrix conversion for
SciPy<Real/Imaginary>Evolver
(#9598) - Fix
NumPy(Minimum)Eigensolver
for sparse matrices (#9575) - Make
BarrierBeforeFinalMeasurements
deterministic (#9568) - Fix C3SXGate roundtrip in OpenQASM 2 (#9183)
- Remove deprecated arguments (#9542)
- Fix typo in Target (#9473)
- Bug fix on QNSPSA (#9483)
- Bug fix property and methods of BackendV2Converter (#9502)
- Fix bad deprecation of Register.name_format (#9494)
- Manage edge case of pickling instmap. (#9487)
- Fix performance of
ReverseEstimatorGradient
for partial gradients (#9491) - Fix add_calibration bug (#9223) (#9451)
- Fix add_calibration bug (#9223)
- Fix
PauliOp.adjoint()
(#9434) (#9443) - Fix
PauliOp.adjoint()
(#9434) - Fix qpy for
MCX
gates (#9391) (#9412) - Fix qpy for
MCX
gates (#9391) - Fix
TensoredOp.to_matrix
with global coefficients (#9404) (#9408) - Fix the
AmplitudeEstimator
algorithms for primitive usage (#9394) (#9407) - Fix
TensoredOp.to_matrix
with global coefficients (#9404) - Fix the
AmplitudeEstimator
algorithms for primitive usage (#9394)
Qiskit Terra 0.24.0rc1
Changelog
Deprecated
- Deprecate QuantumInstance and Opflow (#9176)
- Deprecate PauliTable and StabilizerTable (#9547)
- Deprecate the BIPMapping transpiler pass in favor of external plugin (#9924)
Added
- Operator apply permutation (#9403)
- Add support to
switch
intranspile
(#9928) - plugin convenience function for getting the entry point object (#9275)
- Improve error messages on failed control-flow transpilation (#9049)
- add function to swap connected nodes in DAGCircuit (#9160)
- Adding global_phase gate in qiskit-terra (#9251)
- Add experimental OpenQASM 3 support for switch (#9916)
- Add partial transpose function in quantum_info (#9566)
- Add full path transpile() support for disjoint backends (#9840)
- providers/options: implement Mapping (#9704)
- Allow list of optimizers+initial points in
VQD
(#9151) AdaptVQE
threshold improvements (#9921)- Add
max_trials
parameter toVF2PostLayout
. (#9963) - new unroll for-loops transpilation pass (#9670)
- Add support for disjoint coupling maps to SabreLayout (#9802)
- Add constructor to build target from legacy transpiler model (#9255)
- Add Rust-based OpenQASM 2 converter (#9784)
- Add Clifford.from_matrix (#9475)
- Add support for pulse reference to QPY (#9890)
- Ensure we run VF2PostLayout when needed in optimization level 1 (#9941)
- Make all Layout and Routing passes target aware (#9263)
- Fix
AmplitudeEstimation
is silently ignoringis_good_state
in the estimation problem (#9906) - Add flag to filter faulty qubits and gates to BackendV2Converter (#9911)
- Add equivlences of ECR, SX and SXdg gates to the equivalence library (#9913)
- Adding HLS plugins for linear functions and cliffords (#9399)
- Add representation of "switch" (#9833)
- Synthesis of a stabilizer state for LNN connectivity (#9734)
- Add commutator functions to quantum_info (#9546)
- Add option to skip deepcopy on circuit_to_dag (#9848)
- Add MinimumPoint transpiler pass (#9612)
- Add public layout attribute to QuantumCircuit (#9486)
- Update pulse gate transpiler pass to use target. (#9587)
- Rearrange the gradient result based on the order of the input parameters (#9503)
- Add
@deprecate_func
and@deprecate_arg
decorators (#9676) - Add support to CouplingMap for disjoint qubits (#9710)
- Add option to skip deepcopy on dag_to_circuit (#9825)
- Improve
Parameter
handling inSparsePauliOp
(#9796) - new parameters in
plot_bloch_multivector
:figsize
,font_size
, andtitle_font_size
(#7264) - Alternative construction mechanism for HLS config (#9413)
- Add
add_deprecation_to_docstring
for docsite deprecation support (#9685) - Oxidize the internals of Optimize1qGatesDecomposition (#9578)
- Synthesis of CZ and Clifford circuits for linear nearest neighbor connectivity (#9450)
- Added pulses to the
SymbolicPulse
library (#9625) - Remove Sabre's manual insertion-order iteration and unnecessary sorts (#9560)
- Support for time-dependent Hamiltonians and observable evaluation in
TrotterQRTE
(#9565) - Add flipping of
swap
toGateDirection
pass (#9561) - Add an equiv method to the StabilizerState class (#9543)
- two-qubit unitary synthesis adapted to errors and over-complete gatesets (#9175)
- Local fidelity (#9504)
- ensure equivalences work to RZX (#9507)
- Adds support to PassManager drawer to display stages (#9128)
- Add target support to basis, optimization, scheduling, and util passes (#9343)
Changed
- fixed issue 9453 by removing "_v2" from name in BackendV2 class (#9465)
- Update pulse gate transpiler pass to use target. (#9587)
- Implementing CouplingMap.eq (#9766)
- Remove Sabre's manual insertion-order iteration and unnecessary sorts (#9560)
- two-qubit unitary synthesis adapted to errors and over-complete gatesets (#9175)
- PhaseOracle and BooleanExpression allow setting the expression variable order (#6658)
- Bump MSRV to 1.61 and all rust dependencies to latest releases (#9393)
Removed
- Remove argument max_credits from execute and assemble (#9322)
- Remove faulty qubits and gates sections from transpile() (#9900)
- Remove deprecated methods and args in Primitives (#9480)
- Remove factorizers and linear solvers from
algorithms
(#9832) - Remove TextDrawing arguments layout, global_phase, qregs, and cregs (#9323)
- Remove DagDepNode.condition (deprecated in #6110) (#9406)
Fixed
- Bug fix macros.measure with backendv2 (#9987)
- Fix circuit drawer for instructions with circuit parameters (#9942)
- Refactor OpenQASM 2 exporter (#9953)
- Prepare qiskit/transpiler/graysynth.py for deprecation in next release (#9795)
- Fix handling of numpy integers in marginal_distribution() (#9976)
- Correctly error on incorrect clbits in
QuantumCircuit.append
(#9386) - Bug fix in template optimization, and minor cleanup (#9541)
- Ensure we run VF2PostLayout when needed in optimization level 1 (#9941)
- Fix
AmplitudeEstimation
is silently ignoringis_good_state
in the estimation problem (#9906) - Fixed IQAE bug mentioned in issue 9280 (#9887)
- Fix
QuantumCircuitData
handling ofOperation
(#9881) - Fixed handling of a list of coupling_maps passed to transpile() (#9886)
- Fix
UnrollCustomDefinitions
handling of empty definitions (#9899) - Fix a bug in QuantumCircuit.draw related to vertical_compression (#9855)
- Fix string formatting (#9540)
- Fix mypy errors (circuit) (#8267)
- Fix non-complex dtypes in OneQubitEulerDecomposer methods (#9828)
- transpile: narrow the return type depending on the circuits argument (#9799)
- fix qasm with reset (#9819)
- Clip probabilities in
QuantumState
(#9762) - Remove implicit broadcasting from
Pauli
/label construction ofPauliList
(#9779) - Fix basis_gates and coupling_map backend override in transpile() (#9789)
- Fix explicitly calibrated gates in
GateDirection
(#9786) - Fix
Parameter.is_real()
(#9664) - Qiskit gates not
qelib1.inc
are now defined when dumped (#9777) - Fix zero-qubit
Pauli
label strings (#9726) - Fix bitstring padding in the
BackendSampler
(#9744) - Add inverse method to ECRGate (#9733)
- Fix handling of BackendV1 simulators in PassManagerConfig.from_backend (#9719)
- Fix qpy import of circuit with StatePreparation (#9665)
- Fix wrong argument supplied to _identity_op() (#9201)
- Stop raising AttributeError when accessing missing calibration (#9681)
- Fix escaping of identifiers in OQ3 output (#9660)
- Fix typing error in
random_circuit
conditionals (#9651) - Fix bug in backend primitives with
bound_pass_manager
(#9629) - Fix inverse of
SdgGate
in Solovay Kitaev (#9635) - Add the gates ECR, iSwap, CY, SX, SXdg, DCX to the Clifford class (#9623)
- Fix handling of simulator backends in BackendV2Converter (#9630)
- Add TranspileErrors to routing passes for coupling_map=None (#7141)
- Fix
VQD
withSPSA
optimizer (#9538) - Update Target to use CalibrationEntry to create inst map (#9597)
- Retain all deprecated
Bit
properties in QPY roundtrip (#9525) - Fix sparse matrix conversion for
SciPy<Real/Imaginary>Evolver
(#9598) - Fix
NumPy(Minimum)Eigensolver
for sparse matrices (#9575) - Make
BarrierBeforeFinalMeasurements
deterministic (#9568) - Fix C3SXGate roundtrip in OpenQASM 2 (#9183)
- Remove deprecated arguments (#9542)
- Fix typo in Target (#9473)
- Bug fix on QNSPSA (#9483)
- Bug fix property and methods of BackendV2Converter (#9502)
- Fix bad deprecation of Register.name_format (#9494)
- Manage edge case of pickling instmap. (#9487)
- Fix performance of
ReverseEstimatorGradient
for partial gradients (#9491) - Fix add_calibration bug (#9223) (#9451)
- Fix add_calibration bug (#9223)
- Fix
PauliOp.adjoint()
(#9434) (#9443) - Fix
PauliOp.adjoint()
(#9434) - Fix qpy for
MCX
gates (#9391) (#9412) - Fix qpy for
MCX
gates (#9391) - Fix
TensoredOp.to_matrix
with global coefficients (#9404) (#9408) - Fix the
AmplitudeEstimator
algorithms for primitive usage (#9394) (#9407) - Fix
TensoredOp.to_matrix
with global coefficients (#9404) - Fix the
AmplitudeEstimator
algorithms for primitive usage (#9394)
Qiskit Terra 0.23.3
Changelog
Fixed
- Fix non-complex dtypes in OneQubitEulerDecomposer methods (#9828) (#9829)
- fix qasm with reset (#9819) (#9826)
- Clip probabilities in
QuantumState
(#9762) (#9812) - Improve error messages in
Target
-basedGateDirection
pass (#9787) (#9791) - Fix basis_gates and coupling_map backend override in transpile() (#9789) (#9792)
- Fix explicitly calibrated gates in
GateDirection
(#9786) (#9788) - Qiskit gates not
qelib1.inc
are now defined when dumped (backport #9777) (#9778) - Fix bitstring padding in the
BackendSampler
(#9744) (#9745) - transpiler/1q_decomposition: fix circuit score for zero gate errors (#9701)
- Add inverse method to ECRGate (#9733) (#9738)
- Fix handling of BackendV1 simulators in PassManagerConfig.from_backend (#9719) (#9725)
- Fix qpy import of circuit with StatePreparation (#9665) (#9711)
- Fix wrong argument supplied to _identity_op() (#9201) (#9703)
- Stop raising AttributeError when accessing missing calibration (#9681) (#9683)
- Fix escaping of identifiers in OQ3 output (#9660) (#9673)
- Fix typing error in
random_circuit
conditionals (#9651) (#9656) - Fix bug in backend primitives with
bound_pass_manager
(#9629) (#9652)
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)