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.

Circuit Synthesis

qiskit.synthesis


Evolution Synthesis

EvolutionSynthesis()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.
MatrixExponential()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.
synth_cnot_depth_line_kms(mat)Synthesize linear reversible circuit for linear nearest-neighbor architectures using Kutin, Moulton, Smithline method.

Linear-Phase Synthesis

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

Permutation Synthesis

synth_permutation_depth_lnn_kms(pattern)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.
synth_clifford_depth_lnn(cliff)Synthesis of a Clifford into layers for linear-nearest neighbour connectivity.

CNOTDihedral Synthesis

synth_cnotdihedral_full(elem)Decompose a CNOTDihedral element into a QuantumCircuit.
synth_cnotdihedral_two_qubits(elem)Decompose a CNOTDihedral element on a single qubit and two qubits into a QuantumCircuit.
synth_cnotdihedral_general(elem)Decompose a CNOTDihedral element into a QuantumCircuit.

Stabilizer State Synthesis

synth_stabilizer_layers(stab[, ...])Synthesis of a stabilizer state into layers.
synth_stabilizer_depth_lnn(stab)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

SolovayKitaevDecomposition([...])The Solovay Kitaev discrete decomposition algorithm.
generate_basic_approximations(basis_gates, depth)Generates a list of GateSequence``s with the gates in ``basic_gates.
Was this page helpful?
Report a bug or request content on GitHub.