Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK Go to the latest version
Important

IBM Quantum Platform is moving and this version will be sunset on July 1. To get started on the new platform, read the migration guide.

TwoQubitWeylDecomposition

class qiskit.synthesis.TwoQubitWeylDecomposition(unitary_matrix, fidelity=0.999999999, *, _specialization=None)

GitHub

Bases: object

Two-qubit Weyl decomposition.

Decompose two-qubit unitary

U=(K1lK1r)e(iaXX+ibYY+icZZ)(K2lK2r)U = ({K_1}^l \otimes {K_1}^r) e^{(i a XX + i b YY + i c ZZ)} ({K_2}^l \otimes {K_2}^r)

where

UU(4), K1l,K1r,K2l,K2rSU(2)U \in U(4),~ {K_1}^l, {K_1}^r, {K_2}^l, {K_2}^r \in SU(2)

and we stay in the “Weyl Chamber”

π/4abc\pi /4 \geq a \geq b \geq |c|

This class avoids some problems of numerical instability near high-symmetry loci within the Weyl chamber. If there is a high-symmetry gate “nearby” (in terms of the requested average gate fidelity), then it return a canonicalized decomposition of that high-symmetry gate.

References

  1. Cross, A. W., Bishop, L. S., Sheldon, S., Nation, P. D. & Gambetta, J. M., Validating quantum computers using randomized model circuits, arXiv:1811.12926 [quant-ph]
  2. B. Kraus, J. I. Cirac, Optimal Creation of Entanglement Using a Two-Qubit Gate, arXiv:0011050 [quant-ph]
  3. B. Drury, P. J. Love, Constructive Quantum Shannon Decomposition from Cartan Involutions, arXiv:0806.4015 [quant-ph]

Attributes

a

Type: float

b

Type: float

c

Type: float

global_phase

Type: float

K1l

Type: ndarray

K2l

Type: ndarray

K1r

Type: ndarray

K2r

Type: ndarray

unitary_matrix

Type: ndarray

requested_fidelity

Type: float | None

calculated_fidelity

Type: float


Methods

actual_fidelity

actual_fidelity(**kwargs)

GitHub

Calculates the actual fidelity of the decomposed circuit to the input unitary.

Return type

float

circuit

circuit(*, euler_basis=None, simplify=False, atol=1e-12)

GitHub

Returns Weyl decomposition in circuit form.

Return type

QuantumCircuit

from_bytes

classmethod from_bytes(bytes_in, *, requested_fidelity, _specialization=None, **kwargs)

GitHub

Decode bytes into TwoQubitWeylDecomposition.

Return type

TwoQubitWeylDecomposition

specialize

specialize()

GitHub

Make changes to the decomposition to comply with any specializations.

This method will always raise a NotImplementedError because there are no specializations to comply with in the current implementation.

Deprecated since version 1.1.0

The method qiskit.synthesis.two_qubit.two_qubit_decompose.TwoQubitWeylDecomposition.specialize() is deprecated as of qiskit 1.1.0. It will be removed in the 2.0.0 release.

Was this page helpful?
Report a bug or request content on GitHub.