U
    ZÊ¹jd  ã                   @   sl   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d„ Zd	d
„ Zdd„ ZdS )é    )ÚraisesN)ÚDaggerÚAntiCommutatorÚqapply)Ú	FermionOp)ÚFermionFockKetÚFermionFockBra)ÚSymbolc                  C   sÖ   t dƒ} t dƒ}t| t ƒst‚tt| ƒt ƒs0t‚| js:t‚t| ƒjrHt‚t dƒt ddƒks^t‚t dƒt dƒksrt‚t ddƒt ddƒksŠt‚t| t| ƒƒ ¡ dks¤t‚t| t|ƒƒ ¡ | t|ƒ t|ƒ|   ksÒt‚d S )NÚcÚdTFé   )r   Ú
isinstanceÚAssertionErrorr   Zis_annihilationr   Údoit)r
   r   © r   úg/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/physics/quantum/tests/test_fermion.pyÚtest_fermionoperator
   s    
r   c                  C   s´   t dƒ} tdƒtdƒ  ¡ dks$t‚tdƒtdƒ  ¡ dks@t‚t| tdƒ ƒtdƒks\t‚t| tdƒ ƒdkstt‚tt| ƒtdƒ ƒtdƒks”t‚tt| ƒtdƒ ƒdks°t‚d S )Nr
   r   r   )r   r   r   r   r   r   r   ©r
   r   r   r   Útest_fermion_states   s     r   c               	   C   s  t dƒ} | d dkst‚| d | ks(t‚| d dks8t‚| d dksHt‚t| ƒd t| ƒks`t‚t| ƒd dkstt‚| tdƒ jtjjjks�t‚| tdƒ j	| tdƒfks®t‚t
tƒ� | d  W 5 Q R X t
tƒ� | d  W 5 Q R X t
tƒ� | d	  W 5 Q R X d S )
Nr
   r   r   é   é   Úaéÿÿÿÿgš™™™™™	@y              ð?)r   r   r   r	   ÚfuncÚsympyÚcoreÚpowerÚPowÚargsr   Ú
ValueErrorÚ	TypeErrorr   r   r   r   Ú
test_power+   s    


r!   )Zpytestr   r   Zsympy.physics.quantumr   r   r   Zsympy.physics.quantum.fermionr   r   r   r	   r   r   r!   r   r   r   r   Ú<module>   s   