Qiskit-terra

Latest version: v0.46.1

Safety actively analyzes 638801 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 13 of 19

0.7.2

Changelog
========

Fixed
-------

- A potential issue where the backend configuration schema validation would
improperly reject valid responses from the API (2258)

0.7.1

Changelog
========

Fixed
-------

- Fixed a bug with measurement sampling optimization in BasicAer
qasm_simulator (1624).

0.7.0

Changelog
========
Added
-----

- Added DAG visualizer which requires `Graphivz <https://www.graphviz.org/>`_
(1059)
- Added an ASCII art circuit visualizer (909)
- The QuantumCircuit class now returns an ASCII art visualization when treated
as a string (911)
- The QuantumCircuit class now has a `draw()` method which behaves the same
as the `qiskit.tools.visualization.circuit_drawer()` function for visualizing
the quantum circuit (911)
- A new method `hinton` can be used on
`qiskit.tools.visualization.plot_state()` to draw a hinton diagram (1246)
- Two new constructor methods, `from_qasm_str()` and `from_qasm_file()`, to
create a QuantumCircuit object from OpenQASM were added to the
QuantumCircuit class. (1172)
- New methods in QuantumCircuit for common circuit metrics:
`size()`, `depth()`, `width()`, `count_ops()`, `num_tensor_factors()` (1285)
- Added `backend_monitor` and `backend_overview` Jupyter magics,
as well as `plot_coupling_map` (1231)
- Added a `Layout` object (1313)
- New `plot_bloch_multivector()` to plot Bloch vectors from a tensored state
vector or density matrix. (1359)
- Per-shot measurement results are available in simulators and select devices.
Request them by setting ``memory=True`` in ``compile()``/``execute()``,
and retrieve them from ``result.get_memory()`` (1385).
- Added a ``qiskit.converters`` module for translation between commonly used
representations of a circuit: ``dag_to_circuits``, ``circuits_to_dag``,
``qobj_to_circuits``, ``circuits_to_qobj``, ``ast_to_dag``.
- PassManager can schedule passes at __init__ time (1510).
- Added a ``.qobj()`` method for IBMQ and local simulator Jobs (1532).
- New Decompose pass for decomposing a gate according to a rule (1487).
- New Unroller pass in the transpiler for unrolling up to some basis (1455).
- New BarrierBeforeFinalMeasurements pass for preventing final
measure reorder (1538).
- New CommutationAnalysis and CommutationTransformation transpiler
passes for modifying a DAG based on gate commutativity relations (1500).
- New transpiler mapper pass: BasicSwap (1270).
- New transpiler mapper pass: LookaheadSwap (1140).
- New transpiler mapper pass: StochasticSwap (1520).
- New CXDirection pass for fixing the direction of cx gates (1410).
- New CheckMap pass for checking if circuit meets mapping requirements (1433).
- New Optimize1QGate pass for combining chains of 1q rotations (1442).


Changed
-------

- Evolved pass-based transpiler to support advanced functionality (1060)
- `.retrieve_job()` and `.jobs()` no longer returns results by default,
instead the result must be accessed by the `result()` method on the job
objects (1082).
- Make `backend.status()` dictionary conform with schema.
- The different output backends for the circuit_drawer() visualizations
have been moved into separate private modules in
`qiskit.tools.visualizations`. (1105, 1111)
- DAG nodes contain pointers to Register and Instruction objects, rather
than their string names (1189).
- Upgraded some external dependencies to:
- networkx>=2.2 (1267).
- The `qiskit.tools.visualization.circuit_drawer()` method now returns
a matplotlib.Figure object when the `mpl` output is used and a
`TextDrawer` object when `text` output is used. (1224, 1181)
- Speed up the Pauli class and extended its operators (1271 1166).
- `IBMQ.save_account()` now takes an `overwrite` option to replace an existing
account on disk. Default is False (1295).
- Backend and Provider methods defined in the specification use model objects
rather than dicts, along with validation against schemas (1249, 1277,
1350). The updated methods include:
- ``backend.status()`` (1301).
- ``backend.configuration()`` (and ``__init__``) (1323).
- ``backend.properties()``, returning ``None`` for sims (1331, 1401).
- ``qiskit.Result`` (1360).
- ``backend.provider()`` is now a method instead of a property (1312).
- Remove local backend (Aer) fallback (1303)
- The signatures for the plotting functions in
`qiskit.tools.visualization._counts_visualization.py`,
`qiskit.tools.visualization._state_visualization.py`, and
`qiskit.tools.visualization.interactive` have been modified to make them
in-line with standard Matplotlib calling conventions (1359).
- Remove local backend (Aer) fallback (1303).
- DAGCircuits store Instruction and Register objects, instead of name
references. The DAGCircuit class methods are updated accordingly (1210).
- ``transpile()`` now takes QuantumCircuit(s) to QuantumCircuit(s), and DAG
processing is only done internally (1397).
- The different unrollers are deprecated. The only unrolling happens
from DAG to DAG (1210).
- Moved all the circuit modules into a circuit module but for most users it
is still imported in the top level for QuantumCircuit, QuantumRegister,
ClassicalRegister
- ``qiskit.backends`` has been renamed to ``qiskit.providers`` (1531).
- ``qiskit.backends.aer`` has been removed in favor of
``qiskit.providers.builtinsimulators`` (Python simulators) and
``qiskit.providers.legacysimulators`` (C++ simulators) (1484)
- ``Aer`` in ``qiskit`` root module depends on having the
qiskit-aer package installed, by default it is not present. Instead there are
2 new provider instances in the root module ``BasicAer`` which provides the
Python simulators and ``LegacySimulators`` which provides the old C++
simulators in qiskit-terra. (1484)


Deprecated
----------

- ``plot_circuit()``, ``latex_circuit_drawer()``, ``generate_latex_source()``,
and ``matplotlib_circuit_drawer()`` from qiskit.tools.visualization are
deprecated. Instead the ``circuit_drawer()`` function from the same module
should be used. (1055)
- The current default output of ``circuit_drawer()`` (using latex and falling
back on python) is deprecated and will be changed in the future. (1055)
- The `qiskit.wrapper.load_qasm_string()` and `qiskit.wrapper.load_qasm_file()`
functions are deprecated and the `QuantumCircuit.from_qasm_str()` and
`QuantumCircuit.from_qasm_file()` contstructor methods should be used instead
(1172)
- The ``plot_barriers`` and ``reverse_bits`` keys in the ``style`` kwarg dict
are deprecated, instead the `qiskit.tools.visualization.circuit_drawer()`
kwargs ``plot_barriers`` and ``reverse_bits`` should be used instead. (1180)
- The ``transpile_dag()`` function ``format`` kwarg for emitting different
output formats is deprecated (1319).
- Several methods of ``qiskit.Result`` have been deprecated (1360).
- The functions `plot_state()` and `iplot_state()` have been depreciated.
Instead the functions `plot_state_*()` and `iplot_state_*()` should be
called. (1359)
- The ``skip_transpiler`` arg has been deprecated from ``compile()`` and
``execute()`` in favor of using the PassManager directly.

Fixed
-----

- Fixed a variety of typos throughout sources (1139)
- Fixed horizontal spacing when drawing barriers before CCNOT gates in latex
circuit plots (1051)
- Use case insensitive matching when comparing premium account URLs. (1102)
- Fixed AerJob status when the submitted Job is in a PENDING state. (1215)
- Add fallback for when CPU count can't be determined (1214)
- Fix `random_state` from returning nan (1258)
- The Clifford simulator `run()` method now works correctly with the updated
AerJob usage (1125)
- Fixed an edge case when connection checks would raise an unhandled exception
(1226)
- Fixed a bug where the transpiler moved middle-of-circuit measurements to the
end (1334)
- The `number_to_keep` kwarg in ``plot_histgram()`` now functions correctly
(1359).
- parallel_map no longer creates a progress bar for a single circuit (1394).
- The `timeout` parameter is now passed into the inner ``_wait_for_submission``
function in ``IBMQJob`` from ``_wait_for_result`` (1542).

Removed
-------

- Remove register, available_backends (1131).
- Remove tools/apps (1184).
- Removed the dependency on ``IBMQuantumExperience``, as it is now included
in ``qiskit.backends.IBMQ`` (1198).
- ``matplotlib`` is no longer in the package requirements and is now an
optional dependency. In order to use any matplotlib based visualizations
(which includes the ``qiskit.tools.visualization.circuit_drawer()``
``mpl`` output,
``qiskit.tools.visualization.plot_state``,
``qiskit.tools.visualization.plot_histogram``, and
``qiskit.tools.visualization.plot_bloch_vector`` you will now need to ensure
you manually install and configure matplotlib independently.
- The ``basis`` kwarg for the ``circuit_drawer()`` function to provide an
alternative list of basis gates has been removed. Instead users should adjust
the basis gates prior to visualizing the circuit. (1151)
- ``backend.parameters()`` and ``backend.calibration()`` have been fully
deprecated, in favour of ``backend.properties()`` (1305).
- The ``qiskit.tools.file_io`` module has been removed. Conversion between
``qiskit.Result`` and json can be achieved using ``.to_dict()`` and
``.from_dict()`` directly (1360).
- The ``qiskit.Result`` class method for ``len()`` and indexing have been
removed, along with the functions that perform post-processing (1351).
- The ``get_snapshot()`` and ``get_snapshots()`` method from the ``Result``
class has been removed. Instead you can access the snapshots in a Result
using ``Result.data()['snapshots']``.
- Completed the deprecation of ``job.backend_name()``, ``job.id()``, and the
``backend_name`` parameter in its constructor.
- The ``qiskit.Result`` class now does post-processing of results returned
from backends if they are called via the ``Result.get_xxx()`` methods
(i.e. ``get_counts()``, ``get_memory()``, ``get_statevector()``,
``get_unitary()``). The raw data is accessible through ``Result.data()``
(1404).
- The ``transpile()`` function kwarg ``format`` has been removed and will
always return a circuit object. Instead you'll need to manually convert the
output with the functions provided in ``qiskit.converters``.

0.6.1

Changelog
========
* Re-package Linux wheel to fix a problem with the native simulator

0.6.0

Changelog
========

Added
-----
- Added `SchemaValidationError` to be thrown when schema validation fails (881)
- Generalized Qobj schema validation functions for all qiskit schemas (882).
- Added decorator to check for C++ simulator availability (662)
- It is possible to cancel jobs in non comercial backends (687)
- Introduced new `qiskit.IBMQ` provider, with centralized handling of IBMQ
credentials (qiskitrc file, environment variables). (547, 948, 1000)
- Add OpenMP parallelization for Apple builds of the cpp simulator (698).
- Add parallelization utilities (701)
- Parallelize transpilation (701)
- New interactive visualizations (765).
- Added option to reverse the qubit order when plotting a circuit. (762, 786)
- Jupyter notebook magic function qiskit_job_status, qiskit_progress_bar (701, 734)
- Add a new function ``qobj_to_circuits`` to convert a Qobj object to
a list of QuantumCircuit objects (877)
- Allow selective loading of accounts from disk via hub/group/project
filters to `IBMQ.load_accounts()`.

Changed
-------
- Schema tests in `tests/schemas/test_schemas.py` replaced with proper
unit test (834).
- Renamed ``QISKit`` to ``Qiskit`` in the documentation. (634)
- Use ``Qobj`` as the formally defined schema for sending information to the devices:
- introduce the ``qiskit.qobj`` module. (589, 655)
- update the ``Qobj`` JSON schema. (668, 677, 703, 709)
- update the local simulators for accepting ``Qobj`` as input. (667)
- update the ``Result`` class. (773)
- Use ``get_status_job()`` for checking IBMQJob status. (641)
- Q network hub/group/project credentials replaced by new url format. (740)
- Breaking change: ``Jobs`` API simplification. (686)
- Breaking change: altered tomography APIs to not use QuantumProgram. (818)
- Breaking change: ``BaseBackend`` API changed, properties are now methods (858)
- When ``plot_histogram()`` or ``plot_state()`` are called from a jupyter
notebook if there is network connectivity the interactive plots will be used
by default (862, 866)
- Breaking change: ``BaseJob`` API changed, any job constructor must be passed
the backend used to run them and a unique job id (936).
- Add support for drawing circuit barriers to the latex circuit drawer. This
requires having the LaTeX qcircuit package version >=2.6.0 installed (764)

Deprecated
----------
- The ``number_to_keep`` kwarg on the ``plot_histogram()`` function is now
deprecated. A field of the same name should be used in the ``option``
dictionary kwarg instead. (866)
- Breaking change: ``backend.properties()`` instead of ``backend.calibration()``
and ``backend.parameters()`` (870)

Removed
-------
- Removed the QuantumProgram class. (724)

Fixed
-----
- Fixed ``get_ran_qasm`` methods on ``Result`` instances (688).
- Fixed ``probabilities_ket`` computation in C++ simulator (580).
- Fixed bug in the definition of ``cswap`` gate and its test (685).
- Fixed the examples to be compatible with version 0.5+ (672).
- Fixed swap mapper using qubits after measurement (691).
- Fixed error in cpp simulator for 3+ qubit operations (698).
- Fixed issue with combining or extending circuits that contain CompositeGate (710).
- Fixed the random unitary generation from the Haar measure (760).
- Fixed the issue with control lines spanning through several classical registers (762).
- Fixed visualizations crashing when using simulator extensions (885).
- Fixed check for network connection when loading interactive visualizations (892).

0.5.7

Changed
=======
* Add new backend names support, with aliasing for the old ones.

Page 13 of 19

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.