
    gd                     h    d dl mZ d dlZd dlmZmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZ d Zd Zd	 ZdS )
    )raisesN)DaggerAntiCommutatorqapply)	FermionOp)FermionFockKetFermionFockBra)Symbolc                     t          d          } t          d          }t          | t                     sJ t          t          |           t                     sJ | j        sJ t          |           j        rJ t          d          t          dd          k    sJ t          d          t          d          k    sJ t          dd          t          dd          k    sJ t	          | t          |                                                     dk    sJ t	          | t          |                                                    | t          |          z  t          |          | z  z   k    sJ d S )NcdTF   )r   
isinstancer   is_annihilationr   doit)r   r   s     d/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/physics/quantum/tests/test_fermion.pytest_fermionoperatorr   
   sJ   #A#Aa#####fQii+++++ayy((((S>>YsD111111S>>Ys^^++++S$9S%#8#88888!VAYY'',,..!3333!VAYY'',,..!fQii-&))a-2OOOOOOO    c                     t          d          } t          d          t          d          z                                  dk    sJ t          d          t          d          z                                  dk    sJ t	          | t          d          z            t          d          k    sJ t	          | t          d          z            dk    sJ t	          t          |           t          d          z            t          d          k    sJ t	          t          |           t          d          z            dk    sJ d S )Nr   r   r   )r   r	   r   r   r   r   r   s    r   test_fermion_statesr      s-   #A 1q 1 117799Q>>>>1q 1 117799Q>>>>!nQ'''((N1,=,=====!nQ'''((A----&))nQ///00N14E4EEEEE&))nQ///00A555555r   c                     t          d          } | dz  dk    sJ | dz  | k    sJ | dz  dk    sJ | dz  dk    sJ t          |           dz  t          |           k    sJ t          |           dz  dk    sJ | t          d          z  j        t          j        j        j        k    sJ | t          d          z  j        | t          d          fk    sJ t          t                    5  | dz   d d d            n# 1 swxY w Y   t          t                    5  | dz   d d d            n# 1 swxY w Y   t          t                    5  | d	z   d d d            d S # 1 swxY w Y   d S )
Nr   r   r         ag	@y              ?)r   r   r
   funcsympycorepowerPowargsr   
ValueError	TypeErrorr   s    r   
test_powerr%   +   s3   #Aa419999a419999a419999a419999!99a<6!99$$$$!99a<1vc{{N EJ$4$88888vc{{N Qs$44444	
		  	2               

		  	3               
			  	2                 s6   *C<<D D D--D14D1EE#&E#)pytestr   r   sympy.physics.quantumr   r   r   sympy.physics.quantum.fermionr   r   r	   r
   r   r   r%    r   r   <module>r*      s           @ @ @ @ @ @ @ @ @ @ 3 3 3 3 3 3 H H H H H H H H      P P P&6 6 6    r   