Skip to content

Releases: Qiskit/qiskit

Qiskit Terra 0.20.1

21 Apr 19:59
0.20.1
625b202
Compare
Choose a tag to compare

Changelog

Fixed

  • Fix potential infinite loop in SabreSwap (#7970) (#7971)
  • Make SabreSwap account for clbits in predecessors (#7952) (#7957)
  • Fix QPY deserialization of UCRX, UCRY, and UCRZ gates (#7933) (#7941)
  • Fix dag visualization for DAGCircuits without registers (#7923) (#7938)
  • Allow shots to be a numpy.int64 (#7824) (#7934)
  • Bug fix for DRAG pulse beta validation (#7925) (#7928)
  • Fix small typos and improve consistency in primitive docs (#7897) (#7905)
  • Fix init_observable for Pauli (#7898) (#7899)
  • Fix return type from schedule() with a list of one entry (#7885) (#7889)
  • Fix plot_error_map with BackendProperties set or BackendV2 (#7880) (#7887)
  • Fix of eval_observables() when quantum_circuit is a StateFn. (#7863) (#7881)
  • Fix hard-coded sleep in run_circuits (#7793) (#7860)
  • Fixes Clifford, Pauli, CNOTDihedral to handle Delay (#7850) (#7854)

Qiskit Terra 0.20.0

31 Mar 20:32
0.20.0
a2d13f5
Compare
Choose a tag to compare

Release Notes: https://qiskit.org/documentation/release_notes.html#terra-0-20-0

Changelog

Deprecated

  • Need to remove max_credits (#7409)
  • Deprecate SuzukiTrotter odd order (#7426)
  • Reinstate and deprecate loose measure and reset functions (#7376)

Added

  • Add qubit_properties to Target class (#7736)
  • Make plot_gate_map generic for any backend (#7814)
  • Make VF2Layout pass Target aware (#7735)
  • Add BackendV2 mocked backend (#7643)
  • Make GatesInBasis transpiler pass Target aware (#7548)
  • Gradient Framework Update - Lin. Comb. for Imag Parts (#7632)
  • Allow ParameterExpression values in TemplateOptimization pass (#6899)
  • Separate State Preparation from Initialize (#7666)
  • Reference implementation of Estimator and Sampler Primitives (#7780)
  • DAGCircuit._copy_circuit_metadata is widely used and it should be public (#7803)
  • Add XXMinusYYGate (#7799)
  • Rework BasisTranslator for faster basis search. (#7211)
  • Replace AlignMeasures with ConstrainedReschedule for pulse alignment (#7762)
  • Add an option to choose a framework to pauli.evolve(clifford) (#7683)
  • Dynamical Decoupling pass with pulse alignment (#7760)
  • Make marginal_counts act on Result memory (#7711)
  • Make UnitarySynthesis transpiler pass Target aware (#7775)
  • Add check for the size during transpiler optimization (#7542)
  • Make DenseLayout transpiler pass target aware (#7776)
  • Moved and refactored vqe._eval_aux_ops method. (#7758)
  • Make ConsolidateBlocks transpiler pass target aware (#7778)
  • dict-based SparsePauliOp.simplify (#7656)
  • Allow initializing SparsePauliOps from index lists (#7401)
  • Allow callables as optimizers in VQE and QAOA (#7191)
  • Add support for custom metadata serializers to QPY load() and dump() (#7550)
  • Reimplement DenseLayout as a Parallel Algorithm in Rust (#7740)
  • Replace pauli expectation value cython with multithreaded rust implementation (#7702)
  • Implement multithreaded stochastic swap in rust (#7658)
  • Parameters in InstructionDurations. (#7321)
  • Define LinearFunction class and collect blocks of gates that make a LinearFunction (#7361)
  • Use pulse configuration in fake Bogota, Rome, Manila and Santiago (#7688)
  • Move QPY serializer to own module (#7582)
  • Add fake backends for new IBM Quantum systems (#7392)
  • Expose cutoff tolerances in Z2Symmetries (#7598)
  • Add Operator.from_circuit constructor method (#7616)
  • Optimise import qiskit with lazy imports (#7525)
  • Expose parameter_prefix in Z(Z)FeatureMap (#7590)
  • Merge paramterized u1, u2 and p gate in Optimize1qGates (#7579)
  • Add __repr__ to DAG nodes (#7559)
  • Add cross-build wheel jobs for ppc64le and s390x (#7549)
  • Add support for Python 3.10 (#7102)
  • Nesting FlowControllers to allow nested conditionals in pass manager (#6962)
  • Add XYGate (#7164) (#7229)
  • Add the dark version of the IQX color scheme (#7186)

Changed

  • Add dummy extra for CSPLayout (#7842)
  • Make marginal_counts act on Result memory (#7711)
  • Give PauliEvolutionGates the same name-attribute for all instances (#7638)
  • Improve sum op equals (#7681)
  • Split scheduling pass into scheduling and padding (#7709)
  • Relocate mock backends from qiskit.test.mock to qiskit.mock (#7437)
  • Implement multithreaded stochastic swap in rust (#7658)
  • Add __slots__ for Bit subclasses (#7708)
  • Use VF2Layout in all preset passmanagers (#7213)
  • Rework QuantumCircuit._append and bit resolver (#7618)
  • Fix ASAP/ALAP scheduling pass (#7655)
  • Bump minimum supported symengine version for built-in pickle support (#7682)
  • Use contract_nodes from retworkx in DAGCircuit. (#7665)
  • Use manylinux2014 on all Linux builds (#7566)
  • Drop support for 32bit py310 wheel builds (#7553)

Removed

  • Clean up old deprecation warnings in circuits module (#7011)
  • Replace pauli expectation value cython with multithreaded rust implementation (#7702)
  • Remove deprecated methods in qiskit.algorithms (#7257)
  • Remove deprecated pass_manager arg to transpile() (#7679)
  • Remove probability_distributions module (#7562)
  • Remove ParametrizedSchedule (#6949)
  • Drop support for Python 3.6 (#7295)

Fixed

  • Add equivalences from CX to CPhase+U and CRZ+U (#7013)
  • Add simple symbol table to QASM 3 exporter (#7744)
  • dict-based SparsePauliOp.simplify (#7656)
  • Add transpile() support for extracting instruction schedule map from BackendV2 (#7765)
  • Fix HHL().construct_circuit() properly encoding the eigenvalues of certain matrixes (#7402)
  • AmplitudeEstimator/Amplifier minor refactoring and docs. (#7752)
  • Fix display of sidetext gates with conditions (#7673)
  • Fix endianness in result.mitigator (#7689)
  • Fix partial_trace when not removing subsystems (#7613)
  • Changes to readout mitigator tests (#7482)
  • Fix phase management in StabilizerState.expectation_value (#7460)
  • Fix reverse_bits with registerless bits in all 3 circuit drawers (#7319)
  • Fix gates with conditions alignment when folding in mpl drawer (#7545)
  • Do not emit IGate from PauliGate and opflow.I (#7569)
  • Fix QPY support for control flow instructions (#7584)
  • Fix QuantumInstance compatibility with BackendV2 (#7563)
  • Efficiently check PauliSumOps for diagonality in CVaRMeasurement (#7574)
  • Fix PauliSumOp.permute to not change the original object (#7339)
  • Fix qubit order for 2-qubit LieTrotter evolution synthesis (#7551)
  • Fix the inverse method of PauliEvolutionGate (#7524)
  • Warn not error on overflow in QFT (#7541)
  • Fix error in Target non-global operation method with ideal gates (#7554)
  • Add durations of pulse gates from DAG calibrations (#7463)
  • Check the existence of AncillaQubits before adding (#7450)
  • Fix QI modifying input transpiled circuit on execute (#7484)
  • Reject other QASM versions in QASM 2 parser (#7456)
  • Improve error message in DAGCircuit.draw for invalid filenames (#7447)
  • Prevent duplicate bits in registers (#7510)
  • Fix display of negative fractions in arrays (#7518)
  • Fix display of register names with multiple underscores in mpl and latex drawers (#7459)
  • Fix parameter order in VQE, if the ansatz is resized (#7479)
  • Fix Bloch sphere with Matplotlib 3.3 and 3.4 (#7517)
  • Give FakeOpenPulse2Q qubit T2 times and readout errors (#7425)
  • Fix QPY serialization of no-op instructions (#7431)
  • Fix registerless bit conditions in circuit_to_instruction (#7395)
  • Fix register conditions in control-flow builders (#7389)
  • Fix ParameterVector handling in QPY serialization (#7381)
  • Fix InverseCancellation pass to handle gates of different names. (#7383)
  • Add QPY serialization for PauliEvolutionGate (#7374)
  • Reinstate and deprecate loose measure and reset functions (#7376)
  • Fix copying control-flow bodies in builder interface (#7368)
  • Fix circuit instruction conversion with loose bits (#7365)

Qiskit Terra 0.19.2

02 Feb 13:31
0.19.2
6069e5c
Compare
Choose a tag to compare

Changelog

Added

  • Add support for Python 3.10 (backport #7102) (#7546)

Changed

  • Add support for Python 3.10 (backport #7102) (#7546)

Fixed

  • Fix QPY support for control flow instructions (#7584) (#7606)
  • Fix QuantumInstance compatibility with BackendV2 (#7563) (#7605)
  • Efficiently check PauliSumOps for diagonality in CVaRMeasurement (#7574) (#7602)
  • Fix PauliSumOp.permute to not change the original object (#7339) (#7599)
  • Fix qubit order for 2-qubit LieTrotter evolution synthesis (#7551) (#7591)
  • Fix the inverse method of PauliEvolutionGate (#7524) (#7587)
  • Warn not error on overflow in QFT (#7541) (#7575)
  • Fix error in Target non-global operation method with ideal gates (#7554) (#7561)
  • Check the existence of AncillaQubits before adding (#7450) (#7555)
  • Fix QI modifying input transpiled circuit on execute (#7484) (#7547)
  • Reject other QASM versions in QASM 2 parser (#7456) (#7536)
  • Improve error message in DAGCircuit.draw for invalid filenames (#7447) (#7531)
  • Prevent duplicate bits in registers (#7510) (#7530)
  • Fix display of register names with multiple underscores in mpl and latex drawers (#7459) (#7527)
  • Fix parameter order in VQE, if the ansatz is resized (#7479) (#7526)
  • Fix Bloch sphere with Matplotlib 3.3 and 3.4 (#7517) (#7520)
  • Give FakeOpenPulse2Q qubit T2 times and readout errors (#7425) (#7474)
  • Fix QPY serialization of no-op instructions (#7431) (#7432)
  • Fix registerless bit conditions in circuit_to_instruction (#7395) (#7406)

Qiskit Terra 0.19.1

10 Dec 14:08
0.19.1
ee0d760
Compare
Choose a tag to compare

Changelog

Fixed

  • Fix register conditions in control-flow builders (#7389) (#7393)
  • Fix ParameterVector handling in QPY serialization (#7381) (#7390)
  • Fix InverseCancellation pass to handle gates of different names. (#7383) (#7384)
  • Add QPY serialization for PauliEvolutionGate (#7374) (#7382)
  • Reinstate and deprecate loose measure and reset functions (#7376) (#7380)
  • Fix copying control-flow bodies in builder interface (#7368) (#7371)
  • Fix circuit instruction conversion with loose bits (#7365) (#7369)

Qiskit Terra 0.19.0

06 Dec 19:43
0.19.0
d5094ee
Compare
Choose a tag to compare

Changelog

Full release notes: https://qiskit.org/documentation/release_notes.html#terra-0-19-0

Deprecated

  • Fix arguments for RZXCalibrationBuilder and EchoRZXWeylDecomposition (#7331)
  • Add full deprecation warning to util.py (#7212)
  • Fix resource resolution in InstructionSet.c_if (#7255)
  • Deprecate MCMT label (#7161)
  • Migrate measure mitigation from ignis for QuantumInstance (#6867)
  • Switch PauliTable to PauliList in SparsePauliOp (#6826)
  • Deprecate the CouplingMap.subgraph() method (#6823)
  • Replace DAGNode class with OpNode, InNode, and OutNode classes (#6567)

Added

  • Readout mitigator classes (#6485)
  • Add control-flow builder interface (#7282)
  • Add BackendV2 abstract class (#5885)
  • Two-step transpilation for variational algorithms (#7217)
  • Implement Qdrift as ProductFormula (#7281)
  • Add add_bits parameter to QuantumCircuit.measure_all (#7305)
  • Rework RemoveFinalMeasurements pass (bug fixes) (#7196)
  • Adapted grover.amplify to omit is_good_state check in certain cases (#7302)
  • Approximate Quantum Compiler (#6727)
  • Make numeric casts of ParameterExpression flexible (#6802)
  • Add Instruction subclasses for control flow. (#7123)
  • Optimal Synthesis into RXX(theta) (#6551)
  • Add SparsePauliOp.sum (#7202)
  • VF2 Layout : The layout allocation as a subgraph isomorphism problem (#6620)
  • Improve performance of ConsolidateBlocks pass (#7185)
  • PauliEvolution gate (#6975)
  • Speed-up SparsePauliOp._add (#7138)
  • Implement a from_backend method for PassManagerConfig (#7163)
  • Reformatted the getter and setters of the VQE class (#7099)
  • Add indexing and inner product to Statevector (#7095)
  • Add CollectMultiQBlocks pass to find multiqubit blocks in a circuit (#4747)
  • Only execute TimeUnitConversion as needed in preset passmanagers (#6803)
  • QASM3 exporter (#6565)
  • Support Dict[str, OperatorBase] for aux_operators (fix #6772) (#6870)
  • Add GatesInBasis analysis pass (#6832)
  • Use eigh, eigsh in NumPyEigensolver (#6987)
  • EchoRZXWeylDecomposition Transpiler Pass (#6784)
  • Migrate measure mitigation from ignis for QuantumInstance (#6867)
  • Add min_qubits kwarg to UnitarySynthesis pass (#6349)
  • Add unitary synthesis plugin interface (#6124)
  • Fixes issue #6872, #6821 by adding finite control loops with flags (#6909)
  • Add QuantumCircuit.find_bit to find index and Registers for a Bit. (#6621)
  • Add hexagonal lattice CouplingMap (#7062)
  • Add from_heavy_hex() and from_heavy_square() generator methods to CouplingMap (#6959)
  • Fixed issue 5920 (#6294)
  • Feature: optimize 1Q gates by commutation and resynthesis (#6992)
  • filter_function for circuit.depth() and circuit.size() (#6998)
  • Use retworkx for substitute_node_with_dag (#6302)
  • add termination callback to SPSA (#6839)
  • allow negative eigenvalues in hhl (#6971)
  • Add the __repr__ method for Instructions (#6932)
  • fixed issue 6544 by propagating limit_amplitude to ParametricPulse classes (#6618)
  • Add pulse gate pass (#6759)
  • Generalize CXCancellation optimization pass to generic gate-inverse pairs (#6855)
  • Add drawing of Statevector using ket notation (#6154)
  • Detach prefix util function (#6885)
  • New plot_coupling_map(), like plot_gate_map() but without a backend (#6751)
  • Grouping commuting Pauli strings in quantum_info (#6690)
  • Added support for multiple image formats in QuantumCircuit.draw() (#6487)
  • Support non-float global phase in QPY (#6824)
  • Add fake backends for new IBM Quantum systems (#6808)
  • Replace DAGNode class with OpNode, InNode, and OutNode classes (#6567)
  • Add gate error and balanced objective to BIP mapper (#6778)
  • Ensure QNSPSA allows for batching (#6776)
  • Add qubit_subset option to BIPMapping pass (#6756)
  • Text drawer extended for drawing circuits with single classical bit conditioning (#6261)
  • implement coeffs method for SummedOp (Issue #5931), matching coeffs m… (#6610)

Changed

  • Define all for qiskit (#7274)
  • Switch default routing/layout method to sabre for opt level 3 (#7205)
  • Remove overrides of standard warning behaviour (#7204)
  • Bump minimum matplotlib version to 3.3.0 (#7175)
  • Only execute TimeUnitConversion as needed in preset passmanagers (#6803)
  • Improve number of qubit scaling for random_circuit() (#7030)
  • Stop casting numpy floats on ParameterExpression bind (#7014)
  • Replace Optimizer.optimize by Optimizer.minimize (#6866)
  • Improving default BIP pass (#6948)
  • More performance improvements for Collect2qBlocks (#6680)
  • Allow QuantumCircuit construction with zero qubit or clbit count (#6800)
  • Add type hints to gates and QuantumCircuit (#6831)
  • Respect backend defaults for BackendV1 path in execute() (#6693)
  • Exclude bip-mapper extra from all (#6843)
  • QuantumCircuit.decompose() does not take a single gate, but a set of gates to decompose. (#6587)

Removed

  • Remove deprecated operators of BaseOperator (#7291)
  • Remove deprecated code from pulse module (#7267)
  • Remove deprecated functionality from extensions, qasm, and dagcircuit modules (#7208)
  • Reformatted the getter and setters of the VQE class (#7099)
  • Remove deprecated schemas and validation modules (#6558)
  • Fix QuantumCircuit.assign_parameters docstring (#6723)

Fixed

  • Unroll3qOrMore before layout allocation stage in the levels 0, 1, and 2 (#7251)
  • Fix single clbit display in condition for all 3 circuit drawers (#7285)
  • Rework RemoveFinalMeasurements pass (bug fixes) (#7196)
  • Fix Hoare optimizer failure for successive gates of three (#7278)
  • Fix compatibility with Matplotlib 3.5 (#7301)
  • Return fast from transpile with empty input (#7288)
  • Fix pulse parameter formatter bug with symengine (#7265)
  • Fix resource resolution in InstructionSet.c_if (#7255)
  • Fix tapering of zero/empty operators (#7262)
  • Fix ZeroDivisionError in qiskit_backend_overview (#7260)
  • Fix decomposition of C3SXGate (#7230)
  • Fix permute issue in PauliSumOp (#7240)
  • Fix NLocal.add_layer (#7226)
  • Fix QAOA bugs (#7225)
  • Fix TypeError in PauliExpectation.compute_variance (#7169)
  • Speed-up SparsePauliOp._add (#7138)
  • Use default drawer style from config if unset (#7188)
  • Reformatted the getter and setters of the VQE class (#7099)
  • Make qasm output valid gate names to fix #7052 (#7157)
  • HHL QuantumInstance getter/setter fix. (#7168)
  • Remove calibration circuits results in QuantumInstance execute (#7140)
  • Fix #7006 by tracking availability of clbits in scheduling (#7085)
  • Fix usage of deprecated sympy method expr_free_symbols() (#7117)
  • Fixing gates unrolling for gradients. (#6918)
  • Fix QAOA parameter handling (#6828)
  • Small improvement QFT code (#6887)
  • Fix 1Q gate errors in plot_error_map (#7037)
  • Handle ScheduleBlock in execute (#7019)
  • Allow binding complex values to parameters in Opflow coefficients (#6977)
  • Avoid configuring pulse defaults in circuit assembly unless needed (#7047)
  • Fix ConfigurableFakeBackend.name (#7022)
  • MPL drawer extended for drawing circuits with single classical bit conditioning (#6259)
  • Fix display of registerless bits in all drawers and change display of one-bit registers (#6942)
  • Fix decomposing empty gates (#6997)
  • Fix measure with condition display in mpl and latex drawers (#6822)
  • Fix PiecewiseChebyshev for constant functions (#6707)
  • Modify copy of instruction in .qasm() method (fix #6687) (#6952)
  • Fix instmap pickle bug in Python3.6 (#6950)
  • Correctly handle parametric pulse assemble() kwarg if empty list (#6922)
  • Fix registerless bit naming collisions in QASM (#6856)
  • Fix mpl circuit drawing duplication in ipykernel 6 (#6890)
  • Change float to complex for return from ParameterExpression gradient (#6847)
  • Fix 'ax' and 'figwidth' options to mpl drawer (#6675)
  • Build aarch64 wheels in github actions with QEMU emulation (#6844)
  • Fix QNSPSA settings (#6818)
  • Handle single bit conditions in QPY (#6775)
  • Fix JupyterLab compatibility with job watcher widget (#6598)
  • Fix subgraph handling of non-contiguous nodelist argument (#6738)
  • Ensure a non-parameterized global phase in EvolvedOperatorAnsatz is a float (#6792)
  • Fix CompleteMeasFitter not imported in QuantumInstance (#6782)
  • Add circuit calibrations to disassembler (#5661)
  • Fixes circuit_to_instruction() method for circuits containing single bit conditions (#6537)
  • Fix fake backend kwargs (#6743)
  • Change operator comparison from np.array_equal to np.allclose (#6473) (#6644)
  • Fix QuantumCircuit.assign_parameters docstring (#6723)
  • Handle complex parameters and blueprint circuits in QPY (#6713)

Qiskit Terra 0.18.3

29 Sep 11:39
0.18.3
3f89c85
Compare
Choose a tag to compare

Changelog

Fixed

  • Allow binding complex values to parameters in Opflow coefficients (#6977) (#7054)
  • improve warning when 1q synthesis emits long strings (#7048) (#7050)
  • Avoid configuring pulse defaults in circuit assembly unless needed (#7047) (#7049)

Qiskit Terra 0.18.2

09 Sep 20:59
0.18.2
47fbfd0
Compare
Choose a tag to compare

Changelog

Fixed

  • Correctly handle parametric pulse assemble() kwarg if empty list (#6922) (#6925)
  • Fix mpl circuit drawing duplication in ipykernel 6 (backport #6890) (#6900)

Qiskit Terra 0.18.1

02 Aug 19:15
0.18.1
31a6228
Compare
Choose a tag to compare

Changelog

Changed

  • Exclude bip-mapper extra from all (#6843) (#6846)

Fixed

  • Build aarch64 wheels in github actions with QEMU emulation (#6844) (#6854)
  • Fix QNSPSA settings (#6818) (#6837)
  • Handle single bit conditions in QPY (#6775) (#6835)
  • Fix JupyterLab compatibility with job watcher widget (#6598) (#6834)
  • Fix subgraph handling of non-contiguous nodelist argument (#6738) (#6820)
  • Ensure a non-parameterized global phase in EvolvedOperatorAnsatz is a float (#6792) (#6805)
  • Fix CompleteMeasFitter not imported in QuantumInstance (#6782) (#6790)
  • sx and sxdg colored as cliffords in mpl (#6765) (#6773)
  • Fix fake backend kwargs (#6743) (#6747)
  • Change operator comparison from np.array_equal to np.allclose (#6473) (#6644) (#6739)
  • update docstrings in UnitarySynthesis pass (#6737) (#6745)
  • Handle complex parameters and blueprint circuits in QPY (#6713) (#6730)

Qiskit Terra 0.18.0

12 Jul 19:26
0.18.0
5ca9675
Compare
Choose a tag to compare

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)

Qiskit Terra 0.17.4

18 May 20:59
0.17.4
fa05da3
Compare
Choose a tag to compare

Changelog

Fixed

  • Respect max_experiments in QuantumInstance BackendV1 path (backport #6391) (#6414)