Qiskit Terra 0.18.0
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
tophase
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 parentInstruction
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)