Releases: Qiskit/qiskit
Releases · Qiskit/qiskit
Qiskit Terra 0.20.1
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 anumpy.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
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 inTemplateOptimization
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
SparsePauliOp
s 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
inZ(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
PauliEvolutionGate
s 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__
forBit
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 inDAGCircuit
. (#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
fromPauliGate
andopflow.I
(#7569) - Fix QPY support for control flow instructions (#7584)
- Fix QuantumInstance compatibility with BackendV2 (#7563)
- Efficiently check
PauliSumOp
s for diagonality inCVaRMeasurement
(#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
Changelog
Added
Changed
Fixed
- Fix QPY support for control flow instructions (#7584) (#7606)
- Fix QuantumInstance compatibility with BackendV2 (#7563) (#7605)
- Efficiently check
PauliSumOp
s for diagonality inCVaRMeasurement
(#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
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
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()
andfrom_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
byOptimizer.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
inexecute
(#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
tonp.allclose
(#6473) (#6644) - Fix
QuantumCircuit.assign_parameters
docstring (#6723) - Handle complex parameters and blueprint circuits in QPY (#6713)
Qiskit Terra 0.18.3
Qiskit Terra 0.18.2
Qiskit Terra 0.18.1
Changelog
Changed
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
tonp.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
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)