Qiskit Terra 0.25.0
Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-25-0
Changelog
Deprecated
- Add deprecation warning to algs module (#10406)
- qiskit_version deprecation (#10242)
- Remove method
qasm
fromInstruction
and all of its subclasses (#10399) - Deprecate namespace packaging hooks (#10322)
- Deprecate pulse Call instruction (#10247)
- Deprecate get_vf2_call_limit in preset_passmanagers (#10065)
- Deprecate circuit-library Jupyter magic (#9940)
Added
- Add full
Expr
support toStochasticSwap
(#10506) (#10510) - Allow circuits w/ control flow in O2 and O3 (#10372)
- Optimize
ConsolidateBlocks
pass (#10365) - Add
Expr
support to OpenQASM 3 exporter (#10408) - Support control flow in ConsolidateBlocks (#10355)
- Add display of internal circuits for ControlFlowOps to mpl circuit drawer (#10207)
- Add flatten option to the NLocal family (#10269)
- Improve parameter-binding performance of large instructions (#10284)
- Add block collection options
split_layers
andcollect_from_back
(#10254) - Add in qpy the support for Discriminator and Kernel (#10327)
- Add
Expr
support toDAGCircuit.substitute_node_with_dag
(#10381) - Add
Expr
support inDAGCircuit.substitute_node
(#10382) - Add a new argument concurrent_measurements to target class (#10258)
- Add
Expr
support toDAGCircuit.replace_block_with_node
(#10383) - Add find_bit method to DAGCircuit to get mapping of bits to positional index (#10128)
- Add
Expr
support to QPY for conditions and targets (#10392) - Add
Expr
support to the control-flow builders (#10400) - Add
Expr
support toDAGCircuit.compose
(#10377) - Add
Expr
support toQuantumCircuit.compose
(#10375) - Add separable_circuits method to DAGCircuit class (#9471)
- Add support for semantic equality checking of
Expr
s inDAGCircuit
(#10367) - Refactor output of OpenQASM 3 exporter to use fewer aliases (#10249)
- DAGCircuit: Add get_causal_cone method (#10325)
- Add get_dt_from_backend func to the builder command (#10253)
- Add
Expr
supprt toDAGCircuit
simple constructors (#10362) - Linear function usability improvements (#10053)
- Add
Expr
support toControlFlowOp
representation (#10358) - Add initial representation of classical expressions (#10332)
- Relax wire_order restrictions in circuit visualization (#9893)
- Adding depth-5n synthesis algorithm for -CZ-CX- circuits (#9932)
- Add
schmidt_decomposition
function toquantum_info
(#10104) - Adding the feature of calculating entanglement measures negativity (#10134)
- Add
HAS_PYGMENTS
lazy tester (#9944) - Allow multiplication of SparsePauliOp and ParameterExpression (#10264)
- Pass manager refactoring: add passmanager module (#10124)
- Added classical_predecessors method (#9980)
- Allow to normalize inputs on
StatePreparation
andInitialize
(#7189) - Add more 1q and 2q Pauli rotation equivalences (#7407)
- Add standard 1q Pauli equivalences to standard library (#10300)
- add abs method to ParameterExpression (#9309)
Changed
- Enable Sabre for control flow circuits at O1 (#10371)
- Refactor output of OpenQASM 3 exporter to use fewer aliases (#10249)
- Remove cyclic-definition handling from
Clifford.from_circuit
(#10441) - Use rustworkx version of token_swapper (#10001)
- Use stable Python C API for building Rust extension (#10120)
- Assign values directly to fully bound parameters in quantum circuits (#10183)
- Switch
QuantumCircuit.from_qasm_str
andfrom_qasm_file
to new parser (#9955) - Drop support for Python 3.7 (#10009)
- Set
max_trials
forVF2Layout
in preset pass managers. (#10054)
Removed
- Remove list argument broadcasting and simplify transpile() (#10291)
- Remove deprecated InstructionSet circuit_cregs argument (#10302)
- Remove deprecations from mpl circuit drawer (#10020)
Fixed
- Fix final_layout when VF2PostLayout finds a better layout (#10466) (#10493)
- Fix empty-barrier handling in OpenQASM 2 (#10469) (#10491)
- raise an exception with a custom gate with clbits or no qubits (#10438) (#10485)
- Fix Pulse channel index validation (#10476) (#10486)
- Fix UnassignedDurationError of update_from_instruction_schedule_map (#10447)
- Add
Expr
support to OpenQASM 3 exporter (#10408) - Improve parameter-binding performance of large instructions (#10284)
- Add
Expr
support inDAGCircuit.substitute_node
(#10382) - Add
Expr
support to the control-flow builders (#10400) - fix 1q matrix bug in Quantum Shannon Decomposer (#10126)
- Add mid-circuit measurement before conditional operation in random_circuit (#10401)
- Fix inner qubit mapping in UnitarySynthesis pass. (#10405)
- Fix plot legend don't show up when dataset start with zero (#10176)
- Fix
deepcopy
for new-styleBit
(#10411) - Fix
DiagonalGate
QPY serialisation (#10376) - Add support for QuantumCircuit.layout to qpy (#10148)
- Fix
CheckMap
with control-flow builder nested conditionals (#10395) - Fix VQD's
optimal_values
(#10279) - Fix qasm export for gates with same name (#10286)
- Fix deprecation warnings emitted by
import qiskit.primitives
(#10287) - Fix BasicSwap FakeRun Typo (#10274)
- Improve casting and error message for
ParameterExpression
(#10244) - FullAncillaAllocation for backends witout a coupling map (#10240)
- Fix the output macros.measure with backendV2 (#10135)
- Fix QuantumCircuit.draw() not outputting pdf in latex mode (#10212)
- Fix output of
DensityMatrix.partial_transpose
to match input dimensions (#10163) - Assign values directly to fully bound parameters in quantum circuits (#10183)
- Fix unitary synthesis for parameterized basis gates in Target (#10090)
- Fix PassManagerConfig.from_backend with BackendV1 and no CouplingMap (#10172)
- Fix top-level
switch
statements inQuantumCircuit.compose
(#10164) - Fixing BlockCollapser with Clbits (#9823)
- Fix
initial_layout
intranspile
with loose qubits (#10153) - Remove undefined variable (#10117)
- Fix wrong relative phase of MCRZ (#9836)
- Fix tweedledum runtime detection in BooleanExpression.from_dimacs_file (#10132)
- define getstate and setstate for OneQubitGateErrorMap (#10092)
- Add the
qubit_coordinates_map
foribm_seattle
(#10089) - Switch
QuantumCircuit.from_qasm_str
andfrom_qasm_file
to new parser (#9955) - Fix interaction graph vf2 scoring to include 1q component (#10084)
- Set
max_trials
forVF2Layout
in preset pass managers. (#10054) (#10061) - Set
max_trials
forVF2Layout
in preset pass managers. (#10054) - Remove recursion from ConstrainedReschedule pass (#10051) (#10057)
- Remove recursion from ConstrainedReschedule pass (#10051)
- Fix for unintended rounding in 'state_to_latex' latex output (#9300) (#10048)
- Fix for unintended rounding in 'state_to_latex' latex output (#9300)
- Fix delay padding to respect target's constraints (#10007) (#10038)
- FIx 0q operation handling in
Statevector
(#10031) (#10039) - circuit: narrow the return type of QuantumCircuit.assign_parameters (#10037)
- FIx 0q operation handling in
Statevector
(#10031) - Allow decomposing composite gates by name (#9170)
- Fix delay padding to respect target's constraints (#10007)
- Use backend_compat module's convert to target (#10016)