o
    GZŽ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sLJ ‚t|| |	 ƒdksXJ ‚t|| | | |	 ƒdkshJ ‚t|| | ƒd| ksvJ ‚td| | ƒd| ks„J ‚td| | |	 ƒd| ks”J ‚td| d|  ƒdks¢J ‚td| d|  d|	  ƒ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|	  ƒ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s5J ‚t|| |	 ƒdt| dƒ ksGJ ‚t|| | | |	 ƒdt| dƒ ks]J ‚t|| | ƒdt| dƒ | ksqJ ‚td| | ƒdt| dƒ | ks…J ‚td| | |	 ƒ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| | ƒ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slJ ‚t|| | | |	 ƒtdƒtdƒ ksƒJ ‚t|| | ƒ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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s,J ‚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swJ ‚t|| |	 ƒtdƒt| dƒ ks‹J ‚t|| | | |	 ƒtdƒt| dƒ tdƒt| dƒ  ks¬J ‚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s$J ‚t| | ƒtdƒ t| dƒ ks8J ‚t| | |	 ƒtdƒ t| dƒ ksNJ ‚td| d|  ƒdtdƒ t| dƒ ksfJ ‚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sJ ‚td| d|  ƒdd|  ks#J ‚t| | ƒdks/J ‚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s²J ‚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sYJ ‚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sJ ‚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sJ ‚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sDJ ‚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&   úR/var/www/auris/lib/python3.10/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s0J ‚t| tt|||d||ƒ|| |fƒ tddddddƒ ƒ| d| d  t|dƒ tddddddƒ kseJ ‚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s¨J ‚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sJ ‚ttt||||||ƒt||||||ƒ || |f|| |fƒƒt||ƒksFJ ‚ttt||||||ƒd || |f|| |fƒƒdksdJ ‚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.ÿ
ÿÿÿÿ
ÿXPPÿÿÿ
ÿPr.   c                
   C   sv  t tjtddƒtjtjddƒ ¡ tdƒ d ksJ ‚t ddddddƒ ¡ dks)J ‚t ddddddƒ ¡ dks8J ‚tddddddƒ ¡ tdƒd	 ksKJ ‚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szJ ‚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s¥J ‚tddtjtjdtddƒƒ ¡ dks¹J ‚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&&ÿÿ2$,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     