ó
    Óz	i7  ã                   ó„  • S r SSKJrJrJrJrJrJr  SSKJ	r	J
r
JrJr  SSKJrJr  SSKJrJrJr  SSKJrJrJrJrJrJr  SSKJrJrJr  SSKJ r J!r!J"r"  SS	K#J$r$J%r%  SS
K&J'r'J(r(  SSK)J*r*  SSK+J,r,  SSK-J.r.  SSK/J0r0  SSK1J2r2J3r3J4r4J5r5  SSK6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrBJCrCJDrD  SSKEJFrFJGrGJHrHJIrIJJrJJKrKJLrLJMrMJNrNJOrO  g)aA  
===========================================
Circuit Synthesis (:mod:`qiskit.synthesis`)
===========================================

.. currentmodule:: qiskit.synthesis

.. _evolution_synthesis:

Evolution Synthesis
===================

.. autosummary::
   :toctree: ../stubs/

   EvolutionSynthesis
   ProductFormula
   LieTrotter
   SuzukiTrotter
   MatrixExponential
   QDrift

Linear Function Synthesis
=========================

.. autofunction:: synth_cnot_count_full_pmh
.. autofunction:: synth_cnot_depth_line_kms

Linear-Phase Synthesis
======================

.. autofunction:: synth_cz_depth_line_mr
.. autofunction:: synth_cx_cz_depth_line_my
.. autofunction:: synth_cnot_phase_aam

Permutation Synthesis
=====================

.. autofunction:: synth_permutation_depth_lnn_kms
.. autofunction:: synth_permutation_basic
.. autofunction:: synth_permutation_acg
.. autofunction:: synth_permutation_reverse_lnn_kms

Clifford Synthesis
==================

.. autofunction:: synth_clifford_full
.. autofunction:: synth_clifford_ag
.. autofunction:: synth_clifford_bm
.. autofunction:: synth_clifford_greedy
.. autofunction:: synth_clifford_layers
.. autofunction:: synth_clifford_depth_lnn

CNOTDihedral Synthesis
======================

.. autofunction:: synth_cnotdihedral_full
.. autofunction:: synth_cnotdihedral_two_qubits
.. autofunction:: synth_cnotdihedral_general

Stabilizer State Synthesis
==========================

.. autofunction:: synth_stabilizer_layers
.. autofunction:: synth_stabilizer_depth_lnn
.. autofunction:: synth_circuit_from_stabilizers

Discrete Basis Synthesis
========================

.. autosummary::
   :toctree: ../stubs/

   SolovayKitaevDecomposition

.. autofunction:: generate_basic_approximations

Basis Change Synthesis
======================

.. autofunction:: synth_qft_line
.. autofunction:: synth_qft_full

Unitary Synthesis
=================

Decomposition of general :math:`2^n \times 2^n` unitary matrices for any number of qubits.

.. autofunction:: qs_decomposition

The Approximate Quantum Compiler is available as the module :mod:`qiskit.synthesis.unitary.aqc`.

One-Qubit Synthesis
===================

.. autosummary::
   :toctree: ../stubs/

   OneQubitEulerDecomposer

Two-Qubit Synthesis
===================

.. autosummary::
   :toctree: ../stubs/

   TwoQubitBasisDecomposer
   XXDecomposer
   TwoQubitWeylDecomposition
   TwoQubitControlledUDecomposer

.. autofunction:: two_qubit_cnot_decompose

Multi Controlled Synthesis
==========================

.. autofunction:: synth_mcmt_vchain
.. autofunction:: synth_mcmt_xgate
.. autofunction:: synth_mcx_1_clean_kg24
.. autofunction:: synth_mcx_1_dirty_kg24
.. autofunction:: synth_mcx_2_clean_kg24
.. autofunction:: synth_mcx_2_dirty_kg24
.. autofunction:: synth_mcx_n_dirty_i15
.. autofunction:: synth_mcx_n_clean_m15
.. autofunction:: synth_mcx_1_clean_b95
.. autofunction:: synth_mcx_noaux_v24
.. autofunction:: synth_mcx_noaux_hp24
.. autofunction:: synth_mcx_gray_code
.. autofunction:: synth_c3x
.. autofunction:: synth_c4x

Binary Arithmetic Synthesis
===========================

Adders
------

.. autofunction:: adder_qft_d00
.. autofunction:: adder_ripple_c04
.. autofunction:: adder_ripple_v95
.. autofunction:: adder_ripple_r25
.. autofunction:: adder_modular_v17

Multipliers
-----------

.. autofunction:: multiplier_cumulative_h18
.. autofunction:: multiplier_qft_r17

Sums
----

.. autofunction:: synth_weighted_sum_carry


Unary Arithmetic Synthesis
==========================

Integer comparators
-------------------

.. autofunction:: synth_integer_comparator_2s
.. autofunction:: synth_integer_comparator_greedy

é   )ÚEvolutionSynthesisÚProductFormulaÚ
LieTrotterÚSuzukiTrotterÚMatrixExponentialÚQDrift)Úsynth_permutation_depth_lnn_kmsÚsynth_permutation_basicÚsynth_permutation_acgÚ!synth_permutation_reverse_lnn_kms)Úsynth_cnot_count_full_pmhÚsynth_cnot_depth_line_kms)Úsynth_cz_depth_line_mrÚsynth_cx_cz_depth_line_myÚsynth_cnot_phase_aam)Úsynth_clifford_fullÚsynth_clifford_agÚsynth_clifford_bmÚsynth_clifford_greedyÚsynth_clifford_layersÚsynth_clifford_depth_lnn)Úsynth_cnotdihedral_fullÚsynth_cnotdihedral_two_qubitsÚsynth_cnotdihedral_general)Úsynth_stabilizer_layersÚsynth_stabilizer_depth_lnnÚsynth_circuit_from_stabilizers)ÚSolovayKitaevDecompositionÚgenerate_basic_approximations)Úsynth_qft_lineÚsynth_qft_full)Úqs_decomposition)Úaqc)ÚOneQubitEulerDecomposer)ÚXXDecomposer)ÚTwoQubitBasisDecomposerÚtwo_qubit_cnot_decomposeÚTwoQubitWeylDecompositionÚTwoQubitControlledUDecomposer)Úsynth_mcmt_vchainÚsynth_mcmt_xgateÚsynth_mcx_1_clean_kg24Úsynth_mcx_1_dirty_kg24Úsynth_mcx_2_clean_kg24Úsynth_mcx_2_dirty_kg24Úsynth_mcx_n_dirty_i15Úsynth_mcx_n_clean_m15Úsynth_mcx_1_clean_b95Úsynth_mcx_noaux_v24Úsynth_mcx_noaux_hp24Úsynth_mcx_gray_codeÚ	synth_c3xÚ	synth_c4x)
Úadder_qft_d00Úadder_ripple_c04Úadder_ripple_v95Úadder_ripple_r25Úadder_modular_v17Úmultiplier_cumulative_h18Úmultiplier_qft_r17Úsynth_integer_comparator_greedyÚsynth_integer_comparator_2sÚsynth_weighted_sum_carryN)PÚ__doc__Ú	evolutionr   r   r   r   r   r   Úpermutationr	   r
   r   r   Úlinearr   r   Úlinear_phaser   r   r   Úcliffordr   r   r   r   r   r   Úcnotdihedralr   r   r   Ú
stabilizerr   r   r   Údiscrete_basisr   r   Úqftr    r!   Úunitary.qsdr"   Úunitaryr#   Ú	one_qubitr$   Útwo_qubit.xx_decomposer%   Útwo_qubit.two_qubit_decomposer&   r'   r(   r)   Úmulti_controlledr*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   Ú
arithmeticr8   r9   r:   r;   r<   r=   r>   r?   r@   rA   © ó    ÚS/home/james-whalen/.local/lib/python3.13/site-packages/qiskit/synthesis/__init__.pyÚ<module>rV      s“   ðñd÷L÷ ÷ó ÷÷ bÑ a÷÷ ÷ñ ÷
ñ ÷
 Vß /Ý )Ý Ý .Ý 0÷ó ÷÷ ÷ ÷ ÷ ÷ ÷ ð rT   