English
Languages
English
Bengali
French
German
Japanese
Korean
Portuguese
Spanish
Tamil

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)[source]

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]