Skip to content

Qiskit Terra 0.18.0

Compare
Choose a tag to compare
@qiskit-bot qiskit-bot released this 12 Jul 19:26
· 3393 commits to main since this release
0.18.0
5ca9675

Changelog

Deprecated

  • Deprecate the QiskitIndexError exception class (#6642)
  • Deprecate legacy provider interface (#6337)
  • use ParameterExpression.gradient directly (#6335)
  • Add @Property and setter for DAGNode.name (#6199)
  • Change attribute most_likely_phase to phase in PhaseEstimator (#6238)
  • Replace DAGNode.condition with DAGNode.op.condition (#6110)

Added

  • Pulse optimal decomposition of su4 for CNOT (#6581)
  • Add the option to wrap circuits in QuantumCircuit.compose (#6659)
  • Add dynamical decoupling transpiler pass (#6619)
  • Add align measure pass (#6673)
  • Add settings property to optimizer classes in qiskit.algorithms.optimizers (#6545)
  • BIP mapping pass (#6580)
  • Add PauliList class (#5993)
  • Add support for faulty directed gate (#6407)
  • Move gate, control, and param label selections from 3 circuit drawers to utils (#6078)
  • Add option to sort by values to plot_histogram (#6592)
  • latex-source (and latex) circuit drawer support for standalone (and cleaner output) (#6483)
  • QuantumCircuit.ccx(..., ctrl_state=...) parameter added for consistency with other controlled gates (#6508)
  • Add line_discipline kwarg to job_monitor function (#5691)
  • Allow users to optionally specify Isometry tolerance (#6482)
  • Add option to set encoding when saving Qasm to file (#5842)
  • Add a new transpiler pass to remove all barriers (#6329)
  • Add plain Gradient Descent optimizer (#6459)
  • Arithmetic circuit library: multipliers (#6470)
  • Create function to set user config (#5943)
  • Add StabilizerState class to qiskit.quantum_info.states (#5907)
  • Classical conditioning on individual classical bits now supported (#6018)
  • Added the class RZXCalibrationBuilderNoEcho (#6300)
  • Arithmetic circuit library: Adders (#6164)
  • 2-SPSA and QN-SPSA (#6405)
  • Add distributions results objects (#6377)
  • Add SciPyOptimizer (#6319)
  • Add qpy serialization format (#5578)
  • Issue 6326 (#6327)
  • Adding IBMQ_guadalupe as a mock backend (#6265)
  • Latex drawings now show numbering of active wires in custom instructions (#6153)
  • Adding Pauli and city to the draw option for statevector (#6146)

Changed

  • Wrap library circuits (#6634)
  • Classical condition boxes are now drawn as bullets in text drawer (#6370)
  • Move Gate.label to parent Instruction class (#6626)
  • Make tweedledum a hard requirement (#6588)
  • Don't enable multiprocessing by default on Python 3.9 (#6524)
  • Enable lo frequencies to be passed in circuits (#6167)
  • Using MissingOptionalLibraryError for consistency (#6098)
  • save a PDF file if circuit.draw(..., filename=.pdf) (#6446)
  • Use symengine for parameter and parameter expressions (#6270)
  • Update fake backend and fake provider to use versioned interface (#6286)
  • Support reps=0 in the n-local circuits (#6273)
  • Remove deprecation for pulse instruction parameter method (#6277)
  • Update circuit.delay to accept parameterized duration (Fix #6029) (#6225)
  • ScheduleBlock 4/4 - add ScheduleBlock (#6158)
  • Decompose controlled Pauli rotations in terms of Paulis (#4837)

Fixed

  • Fix qasm output for composite gates (#5887)
  • Fix Optimize1qGatesDecomposition length heuristic (#6553)
  • Add Expectation Converter to Gradient Wrapper (#6274)
  • fix bug in layout deletion (#6683)
  • Fixed qc.num_connected_components() for circuits with bit conditioned gates (#6564)
  • Fixed issue 6623 by raising errors for negative delay durations (#6625)
  • Fix calibration handling of transpiler passes on gates with >2 qubits (#6655)
  • fix 6547 (#6562)
  • Delay support when loading from QASM2 (#6594)
  • Improve error handling in creating Pauli with an invalid label (#5911)
  • Fix quantum part of Shor's algorithm (#6310)
  • Fix oracle_evaluation for PhaseOracle (#6365)
  • Fix #6497 (opflow.expectations ignore coefficients) (#6500)
  • TwoLocal entangling map works for numpy integers (#6556)
  • qc.num_connected_components() now returns the correct output (#6519)
  • Fix PiecewiseChebyshev does not work as expected when breakpoints = None (#6210)
  • TwoLocal raises proper exception for reps input that is not int and added unit tests (#6522)
  • Fix adding controls to an open controlled gate (#6309)
  • Fixed NFT optimizer by including argument for args as supplied (#6527)
  • Fix result aggregation when parameterized qobj is enabled with measurement mitigation (#5494)
  • Fixed typo in LinearAmplitudeFunction docstring (#6491)
  • Fix 2 problems with reverse_bits on all 3 circuit drawers (#5938)
  • improve error message for LookaheadSwap pass (#6452)
  • Matplotlib drawer fix for drawing custom instructions with classical register (#6339)
  • Fix addition of PauliSumOp with parameters (#6316)
  • Correctly require is_good_state on AmplificationProblem constructor (#6417)
  • Respect max_experiments in QuantumInstance BackendV1 path (#6391)
  • VQE with L_BFGS_B and P_BFGS supports Gradient (#6373)
  • The text drawings of custom instructions with clbits are now drawn as expected (#6242)
  • Drawing boxes of custom instructions extended to classical bits in latex (#6240)
  • Fix 6159 (Remove Unexpected Warning of PauliExpectation and AerPauliExpectation) (#6281)
  • Typo fix of controlled SWAP gate documentation (#6358)
  • fix optimal num iterations (#6298)
  • BasisTranslator skips translating gates already in target basis (#6350)
  • Support multiplication of TaperedPauliSumOp with ParameterExpression (#6315)
  • Fix behavior of instmap.add when partial function is specified (#6292)
  • Fix schedule inline transform (#6322)
  • plot_histogram does not raise for neg values (#6340)
  • Add support on QuantumInstance/run_circuits for Backends that don't handle QasmQobj (#6299)
  • Fix #6307 (PauliExpectation takes unnecessary adjoint when it converts operators) (#6318)
  • fix empty check of block subroutine (#6325)
  • Fix QuantumState._subsystem_probabilities (#6324)
  • Fix expval pauli qargs bug (#6304)
  • Fixes disassembler error for mcx gate (#6291)
  • fix error when dag_drawer removes a temporary file that is still open (#6266)
  • Fix bug in Pauli.evolve for CZ, CY, Swap (#6287)
  • object generation fix (#6282)
  • Bug fixes for callback function in SPSA (#6253)
  • fix global phase in initializer (#6236)
  • Small fixes in the SparseVectorStateFn (#6272)
  • BooleanExpression expression breaks label in the latex circuit drawer (#6260)
  • Bugfix in clifford instruction name (#6251)
  • Unroller error more descriptive when reaching a node without definition (#6235)
  • Don't remove swaps with conditions in OptimizeSwapBeforeMeasure (#6239)
  • mpl circuit drawer does not change the style dict in-place (#6190)
  • Pulse Builder: fix seconds_to_samples() for numpy arrays (#6213)
  • Better tolerances for gate decompositions (#5827)
  • global phase reverse_bits (#6206)
  • Fix error on construct_circuit 'a' parameter handling (#6216)
  • Allow custom gate color in the MPL circuit drawer (#6184)
  • Fix params for a controlled - UnitaryGate (#5780)
  • better unrolling in preset passmanagers (#6133)
  • Fix SPSA recalibration (#6173)
  • Preserve global phase in Unroller (#6155)
  • Ensure we include all cython files in sdist (#6163)
  • MCZ is now drawn correctly in matplotlib (#5981) (#6008)