Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

qiskit.synthesis.synth_clifford_layers

synth_clifford_layers(cliff, cx_synth_func=<function _default_cx_synth_func>, cz_synth_func=<function _default_cz_synth_func>, cx_cz_synth_func=None, validate=False)

GitHub(opens in a new tab)

Synthesis of a Clifford into layers, it provides a similar decomposition to the synthesis described in Lemma 8 of [1].

For example, a 5-qubit Clifford circuit is decomposed into the following layers:

     ┌─────┐┌─────┐┌────────┐┌─────┐┌─────┐┌─────┐┌─────┐┌────────┐
q_0:0    ├┤0    ├┤0       ├┤0    ├┤0    ├┤0    ├┤0    ├┤0
     │     ││     ││        ││     ││     ││     ││     ││        │
q_1:1    ├┤1    ├┤1       ├┤1    ├┤1    ├┤1    ├┤1    ├┤1
     │     ││     ││        ││     ││     ││     ││     ││        │
q_2:2 S2 ├┤2 CZ ├┤2 CX_dg ├┤2 H2 ├┤2 S1 ├┤2 CZ ├┤2 H1 ├┤2 Pauli ├
     │     ││     ││        ││     ││     ││     ││     ││        │
q_3:3    ├┤3    ├┤3       ├┤3    ├┤3    ├┤3    ├┤3    ├┤3
     │     ││     ││        ││     ││     ││     ││     ││        │
q_4:4    ├┤4    ├┤4       ├┤4    ├┤4    ├┤4    ├┤4    ├┤4
     └─────┘└─────┘└────────┘└─────┘└─────┘└─────┘└─────┘└────────┘

Parameters

  • cliff (Clifford) – a clifford operator.
  • cx_synth_func (Callable) – a function to decompose the CX sub-circuit.
  • cz_synth_func (Callable) – a function to decompose the CZ sub-circuit.
  • cx_cz_synth_func (Callable) – optional, a function to decompose both sub-circuits CZ and CX.
  • validate (Boolean) – if True, validates the synthesis process.

Returns

a circuit implementation of the Clifford.

Return type

QuantumCircuit


Reference:

  1. S. Bravyi, D. Maslov, Hadamard-free circuits expose the structure of the Clifford group, arXiv:2003.09412 [quant-ph](opens in a new tab)
Was this page helpful?
Report a bug or request content on GitHub.