U
    ˜9%e®"  ã                   @   s€   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	 d dl
mZmZmZmZmZ d dlmZ dd	„ Zd
d„ Zdd„ ZdS )é    )ÚSum)ÚRational)ÚS)Úsymbols)Úsqrt)ÚWigner3jÚWigner6jÚWigner9jÚCGÚcg_simp)ÚKroneckerDeltac               	   C   sœ  t dƒ\} }}}}ttjtjddtjtjƒ}ttjtddƒddtjtddƒƒ}tddddddƒ}tddddddƒ}tddddddƒ}	t|| ƒdks˜t‚t|| |	 ƒdks°t‚t|| | | |	 ƒdksÐt‚t|| | ƒd| ksìt‚td| | ƒd| ks
t‚td| | |	 ƒd| ks,t‚td| d|  ƒdksJt‚td| d|  d|	  ƒd	kspt‚t| | ƒd
ksˆt‚t| | |	 ƒdks¤t‚td| d|  ƒdksÂt‚td| d|  d|	  ƒdksèt‚ttjtj| dtjtjƒ}ttjtddƒ| dtjtddƒƒ}tdd| dddƒ}tdd| dddƒ}tdd| dddƒ}	t|| ƒdt| dƒ kszt‚t|| |	 ƒdt| dƒ ksžt‚t|| | | |	 ƒdt| dƒ ksÊt‚t|| | ƒdt| dƒ | ksòt‚td| | ƒdt| dƒ | kst‚td| | |	 ƒdt| dƒ | ksFt‚td| d|  ƒdt| dƒ ksnt‚td| d|  d|	  ƒd	t| dƒ ksžt‚t| | ƒd
t| dƒ ksÀt‚t| | |	 ƒdt| dƒ ksæt‚td| d|  ƒdt| dƒ kst‚td| d|  d|	  ƒdt| dƒ ks>t‚ttjtjtjtddƒddƒ}ttjtddƒtjtjddƒ}tddddddƒ}tddddddƒ}tddddddƒ}	t|| ƒtdƒksÊt‚t|| |	 ƒtdƒksèt‚t|| | | |	 ƒtdƒtdƒ kst‚t|| | ƒtdƒ| ks8t‚td| | ƒtdƒ| ksZt‚td| | |	 ƒtdƒ| ks€t‚td| d|  ƒdtdƒ ks¦t‚td| d|  d|	  ƒdtdƒ ksÔt‚t| | ƒtdƒ ksòt‚t| | |	 ƒtdƒ kst‚td| d|  ƒdtdƒ ks:t‚td| d|  d|	  ƒdtdƒ ksht‚ttjtjtjtddƒ| dƒ}ttjtddƒtjtj| dƒ}tdddd| dƒ}tdddd| dƒ}tdddd| dƒ}	t|| ƒtdƒt| dƒ ksþt‚t|| |	 ƒtdƒt| dƒ ks&t‚t|| | | |	 ƒtdƒt| dƒ tdƒt| dƒ  ksht‚t|| | ƒtdƒt| dƒ | ks”t‚td| | ƒtdƒt| dƒ | ksÀt‚td| | |	 ƒtdƒt| dƒ | ksðt‚td| d|  ƒdtdƒ t| dƒ ks t‚td| d|  d|	  ƒdtdƒ t| dƒ ksXt‚t| | ƒtdƒ t| dƒ ks€t‚t| | |	 ƒtdƒ t| dƒ ks¬t‚td| d|  ƒdtdƒ t| dƒ ksÜt‚td| d|  d|	  ƒdtdƒ t| dƒ k	st‚ttjtjtjtddƒddƒd }ttjtjtjtddƒddƒd }tddddddƒd }tddddddƒd }t|| ƒdk	sšt‚t|| ƒdk	s°t‚t|| | | ƒdk	sÎt‚td| d|  ƒdk	sìt‚td| d|  ƒdk
s
t‚td| d|  ƒdd|  k
s0t‚td| d|  ƒdd|  k
sVt‚t| | ƒdk
snt‚t| | ƒdk
s†t‚ttj|tj|ddƒd }ttj|tj|ddƒd }ttj|tj|ddƒd }ttj|tj|ddƒd }t|| | | ƒdkst‚td| d|  d|  d|  ƒdks:t‚td| d|  d|  d|  ƒdd|  | kstt‚t| | | | ƒdks”t‚td|d|ddƒd }td|d|ddƒd }td|d|ddƒd }td|d|ddƒd }td|d|dd
ƒd }	td|d|ddƒd }
td|d|ddƒd }td|d|ddƒd }td|d|ddƒd }t|| | | |	 |
 | | | ƒdksŒt‚td|| | | |	 |
 | | |  ƒdksÂt‚t|| d|  | d|	  |
 | | | ƒd| d|	  kst‚t| | | | |	 |
 | | | ƒdks<t‚ttjtdƒd tjtddƒddƒttjtddƒtjtjddƒ }ttjtdƒd tjtddƒddƒttjtddƒtjtjddƒ }tddddddƒtddddddƒ }tddddddƒtddddddƒ }t|| ƒdkst‚t|| ƒdks4t‚ttj|tj|ddƒttj|tj|ddƒ }ttj|tj|ddƒttj|tj|ddƒ }ttj|tj|ddƒttj|tj|ddƒ }ttj|tj|ddƒttj|tj|ddƒ }t|| | | ƒt||ƒt||ƒ kst‚td|d|ddƒtd|d|ddƒ }td|d|ddƒtd|d|ddƒ }td|d|ddƒtd|d|ddƒ }td|d|ddƒtd|d|ddƒ }td|d|dd
ƒtd|d|dd
ƒ }	td|d|ddƒtd|d|ddƒ }
td|d|ddƒtd|d|ddƒ }td|d|ddƒtd|d|ddƒ }td|d|ddƒtd|d|ddƒ }t|| | | |	 |
 | | | ƒt||ƒt||ƒ ks˜t‚d S )Nzj m1 m1p m2 m2pr   éÿÿÿÿé   é   é   é   é
   é   éþÿÿÿéýÿÿÿiúÿÿÿé   iôÿÿÿéüÿÿÿé   )	r   r
   r   ÚHalfr   r   ÚAssertionErrorr   r   )ÚjÚm1Zm1pÚm2Zm2pÚaÚbÚcÚdÚeÚfÚgÚhÚi© r'   úb/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/physics/quantum/tests/test_cg.pyÚtest_cg_simp_add
   s8   " "&&" $,((,(0"&(0.""&&."&.$(ÿÿÿ,,008(,08""&&.: 26F4ÿÿ   ÿÿÿÿ   ÿÿ$$,,,,.$$$$$$$$$"ÿÿr)   c            	      C   s  t dƒ\	} }}}}}}}}t| tt|||d||ƒ|| |fƒ ƒ| d| d  t|dƒ ks`t‚t| tt|||d||ƒ|| |fƒ tddddddƒ ƒ| d| d  t|dƒ tddddddƒ ksÊt‚tdttd|ddd|ƒ|ddfƒ ƒdksøt‚t| td||  t|||| |dƒ || |fƒ ƒ| td| d ƒ t|dƒ ksRt‚tdtdd|  td|d| ddƒ |ddfƒ ƒdtd	ƒ ks˜t‚ttt||||||ƒt||||||ƒ || |f|| |fƒƒt||ƒt||ƒ ksòt‚ttt||||||ƒt||||||ƒ || |f|| |fƒƒt||ƒksBt‚ttt||||||ƒt||||||ƒ || |f|| |fƒƒt||ƒks’t‚ttt||||||ƒd || |f|| |fƒƒdksÎt‚tttd|d|d|ƒtd|d|d|ƒ |ddf|ddfƒƒt||ƒkst‚d S )
Nz"x a b c cp alpha beta gamma gammapr   r   r   r   r   r   r   r   )r   r   r   r
   r   r   r   )	Úxr   r   r    ÚcpÚalphaÚbetaÚgammaZgammapr'   r'   r(   Útest_cg_simp_sum–   s\    ÿ&ÿj.ÿ
ÿÿ
     ÿÿ
ÿ
ZPP     ÿÿ
 
ÿÿ
r/   c                
   C   sî   t tjtddƒtjtjddƒ ¡ tdƒ d ks4t‚tddddddƒ ¡ tdƒd ksZt‚tddddddƒ ¡ tdƒd ks€t‚tdddtddƒtjdtjtjdƒ	 ¡ tdƒd ks¸t‚t	tjtjtjtddƒddƒ ¡ tdƒd ksêt‚d S )	Nr   r   r   r   r   é   éi   é   )
r   r   r   r   Zdoitr   r   r   r	   r
   r'   r'   r'   r(   Ú	test_doit¬   s"    4&&        ÿ
ÿr3   N)Zsympy.concrete.summationsr   Zsympy.core.numbersr   Zsympy.core.singletonr   Zsympy.core.symbolr   Z(sympy.functions.elementary.miscellaneousr   Zsympy.physics.quantum.cgr   r   r	   r
   r   Z(sympy.functions.special.tensor_functionsr   r)   r/   r3   r'   r'   r'   r(   Ú<module>   s    