a
    kº”hÇ#  ã                   @   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˜J ‚t|| |	 ƒdks°J ‚t|| | | |	 ƒdksÐJ ‚t|| | ƒd| ksìJ ‚td| | ƒd| ks
J ‚td| | |	 ƒd| ks,J ‚td| d|  ƒdksJJ ‚td| d|  d|	  ƒd	kspJ ‚t| | ƒd
ksˆJ ‚t| | |	 ƒdks¤J ‚td| d|  ƒdksÂJ ‚td| d|  d|	  ƒdksèJ ‚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szJ ‚t|| |	 ƒdt| dƒ ksžJ ‚t|| | | |	 ƒdt| dƒ ksÊJ ‚t|| | ƒdt| dƒ | ksòJ ‚td| | ƒdt| dƒ | ksJ ‚td| | |	 ƒdt| dƒ | ksFJ ‚td| d|  ƒdt| dƒ ksnJ ‚td| d|  d|	  ƒd	t| dƒ ksžJ ‚t| | ƒd
t| dƒ ksÀJ ‚t| | |	 ƒdt| dƒ ksæJ ‚td| d|  ƒdt| dƒ ksJ ‚td| d|  d|	  ƒdt| dƒ ks>J ‚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ÊJ ‚t|| |	 ƒtdƒksèJ ‚t|| | | |	 ƒtdƒtdƒ ksJ ‚t|| | ƒtdƒ| ks8J ‚td| | ƒtdƒ| ksZJ ‚td| | |	 ƒtdƒ| ks€J ‚td| d|  ƒdtdƒ ks¦J ‚td| d|  d|	  ƒdtdƒ ksÔJ ‚t| | ƒtdƒ ksòJ ‚t| | |	 ƒtdƒ ksJ ‚td| d|  ƒdtdƒ ks:J ‚td| d|  d|	  ƒdtdƒ kshJ ‚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þJ ‚t|| |	 ƒtdƒt| dƒ ks&J ‚t|| | | |	 ƒtdƒt| dƒ tdƒt| dƒ  kshJ ‚t|| | ƒtdƒt| dƒ | ks”J ‚td| | ƒtdƒt| dƒ | ksÀJ ‚td| | |	 ƒtdƒt| dƒ | ksðJ ‚td| d|  ƒdtdƒ t| dƒ ks J ‚td| d|  d|	  ƒdtdƒ t| dƒ ksXJ ‚t| | ƒtdƒ t| dƒ ks€J ‚t| | |	 ƒtdƒ t| dƒ ks¬J ‚td| d|  ƒdtdƒ t| dƒ ksÜJ ‚td| d|  d|	  ƒdtdƒ t| dƒ k	sJ ‚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šJ ‚t|| ƒdk	s°J ‚t|| | | ƒdk	sÎJ ‚td| d|  ƒdk	sìJ ‚td| d|  ƒdk
s
J ‚td| d|  ƒdd|  k
s0J ‚td| d|  ƒdd|  k
sVJ ‚t| | ƒdk
snJ ‚t| | ƒdk
s†J ‚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J ‚td| d|  d|  d|  ƒdks:J ‚td| d|  d|  d|  ƒdd|  | kstJ ‚t| | | | ƒdks”J ‚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ŒJ ‚td|| | | |	 |
 | | |  ƒdksÂJ ‚t|| d|  | d|	  |
 | | | ƒd| d|	  ksJ ‚t| | | | |	 |
 | | | ƒdks<J ‚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J ‚t|| ƒdks4J ‚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J ‚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˜J ‚d S )Nzj m1 m1p m2 m2pr   éÿÿÿÿé   é   é   é   é
   é   éþÿÿÿéýÿÿÿiúÿÿÿé   iôÿÿÿéüÿÿÿé   )r   r
   r   ÚHalfr   r   r   r   )ÚjÚm1Zm1pÚm2Zm2pÚaÚbÚcÚdÚeÚfÚgÚhÚi© r&   úQ/var/www/auris/lib/python3.9/site-packages/sympy/physics/quantum/tests/test_cg.pyÚtest_cg_simp_add
   s,   " "&&" $,((,(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`J ‚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ÊJ ‚tdttd|ddd|ƒ|ddfƒ ƒdksøJ ‚t| td||  t|||| |dƒ || |fƒ ƒ| td| d ƒ t|dƒ ksRJ ‚tdtdd|  td|d| ddƒ |ddfƒ ƒdtd	ƒ ks˜J ‚ttt||||||ƒt||||||ƒ || |f|| |fƒƒt||ƒt||ƒ ksòJ ‚ttt||||||ƒt||||||ƒ || |f|| |fƒƒt||ƒksBJ ‚ttt||||||ƒt||||||ƒ || |f|| |fƒƒt||ƒks’J ‚ttt||||||ƒd || |f|| |fƒƒdksÎJ ‚tttd|d|d|ƒtd|d|d|ƒ |ddf|ddfƒƒt||ƒksJ ‚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   )	Úxr   r   r   ÚcpÚalphaÚbetaÚgammaZgammapr&   r&   r'   Útest_cg_simp_sum–   sF    ÿ&ÿj.ÿ
ÿÿ
ÿÿ
ÿ
ZPPÿÿÿÿ
r.   c                
   C   s|  t tjtddƒtjtjddƒ ¡ tdƒ d ks4J ‚t ddddddƒ ¡ dksRJ ‚t ddddddƒ ¡ dkspJ ‚tddddddƒ ¡ tdƒd	 ks–J ‚tddddddƒ ¡ tdƒd	 ks¼J ‚tdddtddƒtjdtjtjdƒ	 ¡ tdƒd
 ksôJ ‚ttjtjtjtddƒddƒ ¡ tdƒd ks(J ‚t ddtjtjdtjƒ ¡ dksNJ ‚tddtjtjdtddƒƒ ¡ dksxJ ‚d S )Nr   r   r   g      à?g      @r   r   é   éi   é   r   )	r   r   r   r   Zdoitr   r   r	   r
   r&   r&   r&   r'   Ú	test_doit¬   s    4&&ÿ
ÿ4&r2   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.   r2   r&   r&   r&   r'   Ú<module>   s    