About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
XXDecomposer
class qiskit.synthesis.XXDecomposer(basis_fidelity=1.0, euler_basis='U', embodiments=None, backup_optimizer=None)
Bases: object
A class for optimal decomposition of 2-qubit unitaries into 2-qubit basis gates of XX type (i.e., each locally equivalent to CAN(alpha, 0, 0) for a possibly varying alpha).
Parameters
- basis_fidelity (dict |float) – available strengths and fidelity of each. Can be either (1) a dictionary mapping XX angle values to fidelity at that angle; or (2) a single float f, interpreted as {pi: f, pi/2: f/2, pi/3: f/3}.
- euler_basis (str) – Basis string provided to OneQubitEulerDecomposer for 1Q synthesis. Defaults to “U”.
- embodiments (dict[float, QuantumCircuit] | None) – A dictionary mapping interaction strengths alpha to native circuits which embody the gate CAN(alpha, 0, 0). Strengths are taken so that pi/2 represents the class of a full CX.
- backup_optimizer (Callable[..., QuantumCircuit] | None) – If supplied, defers synthesis to this callable when XXDecomposer has no efficient decomposition of its own. Useful for special cases involving 2 or 3 applications of XX(pi/2), in which case standard synthesis methods provide lower 1Q gate count.
Note
If embodiments
is not passed, or if an entry is missing, it will be populated as needed using the method _default_embodiment
.
Methods
num_basis_gates
num_basis_gates(unitary)
Counts the number of gates that would be emitted during re-synthesis.
NOTE: Used by ConsolidateBlocks.
Was this page helpful?
Report a bug or request content on GitHub.