Published March 31, 2025
| Version 2.0.0
Software
Open
Qiskit/qiskit: Qiskit 2.0.0
Authors/Creators
- Matthew Treinish
- Luciano Bello1
- Jake Lishman2
- Jay Gambetta2
- Diego M. Rodríguez3
- Manoel Marques4
- Julien Gacon5
- Paul Nation6
- Christopher J. Wood7
- ewinston
- Juan Gomez
- Richard Chen
- Andrew Cross
- Kevin Krsulich
- Steve Wood4
- Ismael Faro Sertage4
- Naoki Kanazawa2
- Lauren Capelluto
- Thomas Alexander8
- Elena Peña Tapia9
- Ikko Hamamura10
- Eric Arellano11
- Takashi Imamichi2
- Edwin Navarro
- Alexander Ivrii
- Salvador de la Puente González12
- Soolu Thomas6
- Jesús Rubio13
- qiskit-bot
- 1. Qiskit - IBM Quantum
- 2. @IBM
- 3. @IBMResearch
- 4. IBM Research
- 5. IBM Quantum & EPFL
- 6. IBM
- 7. Google
- 8. IBM Q
- 9. @IBM @Qiskit
- 10. NVIDIA
- 11. IBM Quantum
- 12. @IBMQuantum
- 13. @trebellar
Description
Changelog
Deprecated
- Extend deprecation of QuantumCircuit.duration and DAGCircuit.duration (#13960)
- Address BackendV1 deprecation warning oversights (#13868)
- The unused parameter
daginDAGNodeconstructor is deprecated (#13862) - Deprecate convert_to_target (#12915)
- Deprecate
qiskit.circuit.classicalfunction(#13786) - Deprecate use of
BackendProperties(BackendV1) in transpilation pipeline (#13719) - Deprecate NormalizeRXAngle and rzx_templates (#13883)
- raise DeprecationWarning for a targetless timeline drawer (#13601)
- Deprecate
atomic_evolution(#13603) - Deprecation of MCMT in favor of MCMTGate (backport #13584) (#13810)
- Deprecate subclassing of
RegisterandBit(#13841) - Deprecate BackendV2Converter (#12840)
- Deprecation of MCMT in favor of MCMTGate (#13584)
- Ensure
translationstage always outputs ISA circuits (#13792) - Deprecate
BasicSimulator.run_experiment(#13750) - Deprecate DAGNode.sort_key attribute (#13744)
- Deprecate
show_idleandshow_barrierin favor ofidle_wiresandplot_barriers(#13602)
Added
- The parameter
idle_wiresdefault flipped to False in all circuit drawers (#13865) - [Stretch] Add
stretchvariable support toQuantumCircuit. (#13852) - Delegate
BasePass.__call__toPassManager.run(#13820) - Add representation of
box(#13869) - Use average gate fidelity in the commutation checker (#13874)
- [Stretch] Add
+,-,*,/operators for classical expressions. (#13850) SparseObservableevolution (#13836)- Port HighLevelSynthesis pass to rust (#13813)
- Light Cone Transpiler Pass (#12814)
- Add
SparseObservable.compose(#13766) - [Stretch] Support
Floattype in classical expressions. (#13832) - C API for
SparseObservable(#13694) - [Stretch] Support
constclassical expressions. (#13811) - Refactor parallelism utilities for public API (#12412)
- Single-register arithmetic gates (#13371)
- Add
ContractIdleWiresInControlFlowoptimisation pass (#13779) - Promote linux aarch64 to tier 1 support (#13737)
- Remove dependance of
BooleanExpressionontweedledum(#13769) - Add
defaultrouting stage plugin (#13802) - Add method to compute estimated duration of scheduled circuit (backport #13783) (#13881)
- Add method to compute estimated duration of scheduled circuit (#13783)
- Add dt to GenericBackendV2 (#13830)
- Better decomposition for multi-controlled 1-qubit gates (#13801)
- Add 2q fractional gates to the
UnitarySynthesistranspiler pass (#13568) - Add
defaulttranslation stage plugin (#13794) - Support
SparseObservabletoSparsePauliOpconversions (#13758) - Add
QuantumCircuit.noopfor instructionless qubit use (#13774) - Add new
get_control_flow_name_mappingfunction (#13472) - Add option
max_block_widthtoCollectLinearFunctionsandCollectCliffordpasses (#13661) - feat: add method to convert
BitArrayinto boolean array (#13653) - Add option
collect_from_backtoCollectMultiQBlocks(#13612) StabilizerState.expectation_valuecan also acceptSparsePauliOp(#13539)- Quantum Multiplexer Simplification (#13099)
Changed
- The parameter
idle_wiresdefault flipped to False in all circuit drawers (#13865) - Delegate
BasePass.__call__toPassManager.run(#13820) - Use average gate fidelity in the commutation checker (#13874)
- Handle an optional symengine and sympy in qpy (#13917)
- Port HighLevelSynthesis pass to rust (#13813)
- New
atomic_evolutionsignature inProductFormulasubclasses (#13918) - Simplify return type of
DAGCircuit::control_flow_op_nodes(#13892) - Remove condition/c_if, duration, and unit from instructions (#13506)
- Add
defaultrouting stage plugin (#13802) - Remove accidentally-public methods from
QuantumCircuit(#13893) - Ignoring unsupported gates for Solovay-Kitaev transpiler pass (#13690)
- Change the register name for
measure_activetomeas(#13866) - Warn on use of
property_setkwarg toBasePassManger.run(#13821) - Ensure
translationstage always outputs ISA circuits (#13792) - Add
defaulttranslation stage plugin (#13794) - Add unitary gate representation to rust (#13759)
- Have
BlueprintCircuit.copy_empty_likereturn an emptyQuantumCircuit(#13782) - Bump MSRV to 1.79 (#13709)
Removed
- Update transpiler pipeline to (only) use target internally (#12850)
- Remove pulse module files, pulse visualization and final cleanup (#13872)
- Remove deprecated
BackendV1elements, including base class,providers.modelsandqobjmodules (#13793) - Remove v1 primitive implementations (#13877)
- Remove calibrations APIs and related functionality (#13861)
- Remove fake backends based on
BackendV1and related tools (#13805) - Remove Provider ABC (deprecated in 1.1) (#13435)
- Remove the
classical_functionmodule and alltweedledum-related code (#13815) - Remove pulse support in QPY in 2.0 (#13814)
- Remove deprecated stochastic swap transpiler pass (#13791)
- The unused parameter dag in DAGNode constructor is removed (#13863)
- Remove condition/c_if, duration, and unit from instructions (#13506)
- Remove deprecated legacy scheduling passes (#13876)
- Remove use of
BackendProperties(BackendV1) in transpiler pipeline (#13722) - Remove pulse from GenericBackendV2 (#13829)
- Remove pulse-related passes (#13798)
- Remove
assembleandassemblermodule (#13748) - Remove use of deprecated objects in
BasicSimulator(#13743) - Remove sort_key attribute from DAGNode (#13736)
- Drop support for 32bit x86 linux and windows (#13650)
- Remove
CXCancellation(deprecated in 1.1) (#13426) - Remove
deprecate_functionanddeprecate_argumentsdecorators (deprecated in 0.24) (#13448)
Fixed
- Fix qpy for
MCMTGate(#14096) (#14118) - Consistent sparse list format in sparse operators (#14067) (#14110)
- Fix ignored errors/durations in
generate_preset_pass_managerifdtis set (#14065) (#14098) - Fix global phase update in
BasisTranslatorPass (backport #14078) (#14092) - Fixes to various graphs in the docs (#14055) (#14076)
- Fix deepcopy/pickle of
DAGCircuitvariable IO nodes (backport #14041) (#14044) - Introduce custom sympy srepr parser [stable/2.0] (#14023)
- Introduce custom sympy srepr parser [stable/1.4] (#14022)
- Preserve bit locations through pickle (backport #13980) (#14011)
- Fix string and standard gate mismatch in commutation checker (backport #13991) (#14004)
- Preserve bit locations through pickle (#13981)
- fix missing inverse definitions in
generate_basis_approximations(#13517) (#13964) - fix missing inverse definitions in
generate_basis_approximations(#13517) - Delegate
BasePass.__call__toPassManager.run(#13820) - Use average gate fidelity in the commutation checker (#13874)
- Add 2q fractional gates to the
ConsolidateBlockstranspiler pass (#13884) - Fix qpy serialization of substitution of type
ParameterExpression(backport #13890) (#13943) - Fix qpy serialization of substitution of type
ParameterExpression(#13890) - Circuits with control flow now raise a proper error when
circuit_to_instructionis called (#13921) - Propagate
DAGCircuit.nameinApplyLayout(#13910) (#13920) - Propagate
DAGCircuit.nameinApplyLayout(#13910) - Fixing definition method for
PyGateandPyInstruction(#13777) - Applying a slight perturbation for ill-conditioned matrices (#13882) (#13889)
- Applying a slight perturbation for ill-conditioned matrices (#13882)
- Fix incorrect stop time bug #8729 (#11097) (#13843)
- Fix incorrect stop time bug #8729 (#11097)
- Fix tracking of routing permutation in Sabre with disjoint backends (#13833) (#13835)
- Fix tracking of routing permutation in Sabre with disjoint backends (#13833)
- Consider
unitinDelaycomparisons (#13816) (#13827) - Consider
unitinDelaycomparisons (#13816) - Do not contract control-flow operations during
SabreSwap(#13790) - Correctly updating global phase when removing gates that are identity up to a global phase (backport #13785) (#13825)
- Correctly updating global phase when removing gates that are identity up to a global phase (#13785)
- Fix
CommutationCheckerfor 2q Pauli rotations (#13762) (#13804) - Fix
CommutationCheckerfor 2q Pauli rotations (#13762) - Fix barrier label position when bits are reversed (#13780) (#13789)
- Fix barrier label position when bits are reversed (#13780)
- Fix
random_clifford(#13606) (#13710) - Fix 4-pi periodicity of controlled rotations in the
CommutationChecker(#13670) (#13676) - More conservative caching in the
CommutationChecker(#13600) (#13677) - Fix 4-pi periodicity of controlled rotations in the
CommutationChecker(#13670) - Fix an error in qasm3 exporter when operating on unitary gates (#13633) (#13663)
- Fix an error in qasm3 exporter when operating on unitary gates (#13633)
- Fix
PauliEvolutionGate(using product formulas) for all-identity Pauli terms (#13634) (#13658) - Fix
PauliEvolutionGate(using product formulas) for all-identity Pauli terms (#13634) - Fix
UnitarySynthesispass bug when target contains global gates (#13651) (#13656) - Fix
Target.instruction_supportedwhentarget.num_qubits == None(#13655) (#13657) - Fix
Target.instruction_supportedwhentarget.num_qubits == None(#13655) - Fix
UnitarySynthesispass bug when target contains global gates (#13651) - fix the 0 complex part (#13643) (#13646)
- fix the 0 complex part (#13643)
- Fix phase of
pauli_list.insert(..., qubit=True)for length-1pauli_list(#13624) (#13637) - Fix phase of
pauli_list.insert(..., qubit=True)for length-1pauli_list(#13624) - Allow mcrx, mcry and mcrz gate methods to accept angles of ParameterValueType (#13507)
- More conservative caching in the
CommutationChecker(#13600) - Fix
UnitarySynthesisfor 3+ qubits when compiled for a backend (#13591) (#13619) - Only apply MCMT plugin on
MCMTGate(#13596) (#13618) - Fix
UnitarySynthesisfor 3+ qubits when compiled for a backend (#13591) - Only apply MCMT plugin on
MCMTGate(#13596) - Fix
random_clifford(#13606) - Fix
SparsePauliOpinitialization with denseYlabels (#13580) (#13611) - Fix
SparsePauliOpinitialization with denseYlabels (#13580) - Fix behavior of n_local calling circuits for num_qubits=1 (#13523) (#13575)
- Fix behavior of n_local calling circuits for num_qubits=1 (#13523)
- Check for gate parameter (#12439)
- Discard cache for standard gates in
assign_parameters(#13557) (#13559) - Discard cache for standard gates in
assign_parameters(#13557) - Fix
.decomposeon control flow (#13545) (#13549) - Fix
.decomposeon control flow (#13545) - Fix registering
global_phaseparameters when creatingCircuitData(#13538) (#13541) - Fix registering
global_phaseparameters when creatingCircuitData(#13538) - Do not unroll gates in basis in
add_control(#13475) (#13528) - Do not unroll gates in basis in
add_control(#13475) - Fix
InverseCancellationto run in classical blocks (#13454) (#13496) - Fix
InverseCancellationto run in classical blocks (#13454) - Fix parameter handling for
NLocal(..., flatten=True)and standard gates (#13482) (#13495) - Fix parameter handling for
NLocal(..., flatten=True)and standard gates (#13482) - HLS fix to not synthesize instructions already supported (#13417) (#13441)
- Fix process-based non-determinism in
SparsePauliOp.to_matrix(#13439) (#13440) - Fix the calculation for identity operator's expectation value (#13345) (#13436)
- HLS fix to not synthesize instructions already supported (#13417)
- Fix process-based non-determinism in
SparsePauliOp.to_matrix(#13439) - Fix the calculation for identity operator's expectation value (#13345)
Files
Qiskit/qiskit-2.0.0.zip
Files
(9.6 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:9a0f853ef1d8eaa779320ae5b95e9354
|
9.6 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/Qiskit/qiskit/tree/2.0.0 (URL)
Software
- Repository URL
- https://github.com/Qiskit/qiskit