qiskit/releasenotes/notes/1.3/add-qv-function-a8990e248d5...

29 lines
1.6 KiB
YAML

---
features_circuits:
- |
Added a new function :func:`.quantum_volume` for generating a quantum volume
:class:`.QuantumCircuit` object as defined in A. Cross et al. Validating quantum computers
using randomized model circuits, Phys. Rev. A 100, 032328 (2019)
`https://link.aps.org/doi/10.1103/PhysRevA.100.032328 <https://link.aps.org/doi/10.1103/PhysRevA.100.032328>`__.
This new function differs from the existing :class:`.QuantumVolume` class in that it returns
a :class:`.QuantumCircuit` object instead of building a subclass object. The second is
that this new function is multithreaded and implemented in rust so it generates the output
circuit ~10x faster than the :class:`.QuantumVolume` class.
- |
Improved the runtime performance of constructing the
:class:`.QuantumVolume` class with the ``classical_permutation`` argument set
to ``True``. Internally it now calls the :func:`.quantum_volume`
function which is written in Rust which is ~10x faster to generate a
quantum volume circuit.
upgrade_circuits:
- |
The :class:`.QuantumVolume` class will generate circuits with
different unitary matrices and permutations for a given seed value from
the previous Qiskit release. This is due to using a new internal random
number generator for the circuit generation that will generate the circuit
more quickly. If you need an exact circuit with the same seed you can
use the previous release of Qiskit and generate the circuit with the
``flatten=True`` argument and export the circuit with :func:`.qpy.dump`
and then load it with this release.