Portuguese
Idiomas
English
Bengali
French
German
Japanese
Korean
Portuguese
Spanish
Tamil

# Circuit Synthesis (`qiskit.synthesis`)¶

## Evolution Synthesis¶

 Interface for evolution synthesis algorithms. `ProductFormula`(order[, reps, ...]) Product formula base class for the decomposition of non-commuting operator exponentials. `LieTrotter`([reps, insert_barriers, ...]) The Lie-Trotter product formula. `SuzukiTrotter`([order, reps, ...]) The (higher order) Suzuki-Trotter product formula. Exact operator evolution via matrix exponentiation and unitary synthesis. `QDrift`([reps, insert_barriers, ...]) The QDrift Trotterization method, which selects each each term in the Trotterization randomly, with a probability proportional to its weight.

## Linear Function Synthesis¶

 `synth_cnot_count_full_pmh`(state[, section_size]) Synthesize linear reversible circuits for all-to-all architecture using Patel, Markov and Hayes method. Synthesize linear reversible circuit for linear nearest-neighbor architectures using Kutin, Moulton, Smithline method.

## Linear-Phase Synthesis¶

 Synthesis of a CZ circuit for linear nearest neighbour (LNN) connectivity, based on Maslov and Roetteler.

## Permutation Synthesis¶

 Synthesize a permutation circuit for a linear nearest-neighbor architecture using the Kutin, Moulton, Smithline method. `synth_permutation_basic`(pattern) Synthesize a permutation circuit for a fully-connected architecture using sorting. `synth_permutation_acg`(pattern) Synthesize a permutation circuit for a fully-connected architecture using the Alon, Chung, Graham method.

## Clifford Synthesis¶

 `synth_clifford_full`(clifford[, method]) Decompose a Clifford operator into a QuantumCircuit. `synth_clifford_ag`(clifford) Decompose a Clifford operator into a QuantumCircuit based on Aaronson-Gottesman method. `synth_clifford_bm`(clifford) Optimal CX-cost decomposition of a Clifford operator on 2-qubits or 3-qubits into a QuantumCircuit based on Bravyi-Maslov method. `synth_clifford_greedy`(clifford) Decompose a Clifford operator into a QuantumCircuit based on the greedy Clifford compiler that is described in Appendix A of Bravyi, Hu, Maslov and Shaydulin. `synth_clifford_layers`(cliff[, ...]) Synthesis of a Clifford into layers, it provides a similar decomposition to the synthesis described in Lemma 8 of Bravyi and Maslov. Synthesis of a Clifford into layers for linear-nearest neighbour connectivity.

## CNOTDihedral Synthesis¶

 Decompose a CNOTDihedral element into a QuantumCircuit. Decompose a CNOTDihedral element on a single qubit and two qubits into a QuantumCircuit. Decompose a CNOTDihedral element into a QuantumCircuit.

## Stabilizer State Synthesis¶

 `synth_stabilizer_layers`(stab[, ...]) Synthesis of a stabilizer state into layers. Synthesis of an n-qubit stabilizer state for linear-nearest neighbour connectivity, in 2-qubit depth 2*n+2 and two distinct CX layers, using CX and phase gates (S, Sdg or Z).

## Discrete Basis Synthesis¶

 The Solovay Kitaev discrete decomposition algorithm. `generate_basic_approximations`(basis_gates, depth) Generates a list of `GateSequence``s with the gates in ``basic_gates`.