U
    9%eE                     @   s   d dl mZmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZmZ d dlmZmZmZmZmZmZ d dlmZ d d	lmZ d d
lmZ dd Zdd Zdd ZdS )    )Ipi)Symbol)exp)sqrt)Matrix)QFTIQFTRkGate)ZGateSwapGateHadamardGateCGate	PhaseGateTGate)Qubit)qapply)	representc                  C   s   t d} td| j| ksttd| jdks0ttddtdksFttddtdks\ttddtdksrtttd| ddt	ddgdt
dt t d|   ggkstd S )Nx   r         r   Znqubits)r   r
   kAssertionErrortargetsr   r   r   r   r   r   r   r   )r    r   c/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/physics/quantum/tests/test_qft.pytest_RkGate   s     &r   c                   C   sZ  t dd tddtd tdtd td tdtd tdtd td ks^ttdd tdtdt	dd tdt	dd td tdt	dd td tdd kstt
t dddd	td
d tdD kstt dd sttt dd tddd  ttdtd td tddd  ksVtd S )Nr   r   r   )r   r   r   r   c                    s"   g | ]  fd dt dD qS )c                    s4   g | ],}t d t t d |  d  td qS )r      )r   r   r   r   ).0ijr   r   
<listcomp>&   s     z3test_quantum_fourier.<locals>.<listcomp>.<listcomp>r"   )range)r#   r   r%   r   r'   &   s     z(test_quantum_fourier.<locals>.<listcomp>r"      )r   	decomposer   r   r   r   r   r   r	   r
   r   r   r(   r   r   expandr   r   r   r   test_quantum_fourier   s:    &""r,   c                  C   sF   t dd} t| dd}t|  dd}|jdd|jddksBtd S )Nr   r   r   
   )n)r   r   r*   Zevalfr   )cabr   r   r   test_qft_represent.   s    
r2   N)Zsympy.core.numbersr   r   Zsympy.core.symbolr   Z&sympy.functions.elementary.exponentialr   Z(sympy.functions.elementary.miscellaneousr   Zsympy.matrices.denser   Zsympy.physics.quantum.qftr   r	   r
   Zsympy.physics.quantum.gater   r   r   r   r   r   Zsympy.physics.quantum.qubitr   Zsympy.physics.quantum.qapplyr   Zsympy.physics.quantum.representr   r   r,   r2   r   r   r   r   <module>   s    