
    g#                     |    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 Zd	 Zd
 ZdS )    )Sum)Rational)S)symbols)sqrt)Wigner3jWigner6jWigner9jCGcg_simp)KroneckerDeltac                  ^*   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          ||z             dk    sJ t          ||z   |	z             dk    sJ t          ||z   |z   |z   |	z             dk    sJ t          ||z   |z             d|z   k    sJ t          d|z  |z             d|z   k    sJ t          d|z  |z   |	z             d|z   k    sJ t          d|z  d|z  z             dk    sJ t          d|z  d|z  z   d|	z  z             d	k    sJ t          | |z
            d
k    sJ t          | |z
  |	z
            dk    sJ t          d|z  d|z  z
            dk    sJ t          d|z  d|z  z
  d|	z  z
            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          ||z             dt          | d          z  k    sJ t          ||z   |	z             dt          | d          z  k    sJ t          ||z   |z   |z   |	z             dt          | d          z  k    sJ t          ||z   |z             dt          | d          z  |z   k    sJ t          d|z  |z             dt          | d          z  |z   k    sJ t          d|z  |z   |	z             dt          | d          z  |z   k    sJ t          d|z  d|z  z             dt          | d          z  k    sJ t          d|z  d|z  z   d|	z  z             d	t          | d          z  k    sJ t          | |z
            d
t          | d          z  k    sJ t          | |z
  |	z
            dt          | d          z  k    sJ t          d|z  d|z  z
            dt          | d          z  k    sJ t          d|z  d|z  z
  d|	z  z
            dt          | d          z  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          ||z
            t          d          k    sJ t          ||z
  |	z             t          d          k    sJ t          ||z
  |z   |z
  |	z             t          d          t          d          z   k    sJ t          ||z
  |z             t          d          |z   k    sJ t          d|z  |z
            t          d          |z   k    sJ t          d|z  |z
  |	z             t          d          |z   k    sJ t          d|z  d|z  z
            dt          d          z  k    sJ t          d|z  d|z  z
  d|	z  z             dt          d          z  k    sJ t          | |z             t          d           k    sJ t          | |z   |	z
            t          d           k    sJ t          d|z  d|z  z             dt          d          z  k    sJ t          d|z  d|z  z   d|	z  z
            dt          d          z  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          ||z
            t          d          t          | d          z  k    sJ t          ||z
  |	z             t          d          t          | d          z  k    sJ t          ||z
  |z   |z
  |	z             t          d          t          | d          z  t          d          t          | d          z  z   k    sJ t          ||z
  |z             t          d          t          | d          z  |z   k    sJ t          d|z  |z
            t          d          t          | d          z  |z   k    sJ t          d|z  |z
  |	z             t          d          t          | d          z  |z   k    sJ t          d|z  d|z  z
            dt          d          z  t          | d          z  k    sJ t          d|z  d|z  z
  d|	z  z             dt          d          z  t          | d          z  k    sJ t          | |z             t          d           t          | d          z  k    sJ t          | |z   |	z
            t          d           t          | d          z  k    sJ t          d|z  d|z  z             dt          d          z  t          | d          z  k    sJ t          d|z  d|z  z   d|	z  z
            dt          d          z  t          | d          z  k    sJ t          t          j        t          j        t          j        t	          dd          dd          dz  }t          t          j        t          j        t          j        t	          dd          dd          dz  }t          dddddd          dz  }t          dddddd          dz  }t          ||z             dk    sJ t          ||z             dk    sJ t          ||z   |z   |z             dk    sJ t          d|z  d|z  z             dk    sJ t          d|z  d|z  z             dk    sJ t          d|z  d|z  z             dd|z  z   k    sJ t          d|z  d|z  z             dd|z  z   k    sJ t          | |z
            dk    sJ t          | |z
            dk    sJ t          t          j        |t          j        |dd          dz  }t          t          j        |t          j        |dd          dz  }t          t          j        |t          j        |dd          dz  }t          t          j        |t          j        |dd          dz  }t          ||z   |z   |z             dk    sJ t          d|z  d|z  z   d|z  z   d|z  z             dk    sJ t          d|z  d|z  z   d|z  z   d|z  z             dd|z  z   |z   k    sJ t          | |z
  |z
  |z
            dk    sJ t          d|d|dd          dz  }t          d|d|dd          dz  }t          d|d|dd          dz  }t          d|d|dd          dz  }t          d|d|dd
          dz  }	t          d|d|dd          dz  }
t          d|d|dd          dz  }t          d|d|dd          dz  }t          d|d|dd          dz  }t          ||z   |z   |z   |	z   |
z   |z   |z   |z             dk    sJ t          d||z   |z   |z   |	z   |
z   |z   |z   |z   z            dk    sJ t          ||z   d|z  z   |z   d|	z  z   |
z   |z   |z   |z             d|z   d|	z  z   k    sJ t          | |z
  |z
  |z
  |	z
  |
z
  |z
  |z
  |z
            dk    sJ t          t          j        t          d          dz  t          j        t	          dd          dd          t          t          j        t	          dd          t          j        t          j        dd          z  }t          t          j        t          d          dz  t          j        t	          dd          dd          t          t          j        t	          dd          t          j        t          j        dd          z  }t          dddddd          t          dddddd          z  }t          dddddd          t          dddddd          z  }t          ||z             dk    sJ t          ||z             dk    sJ t          t          j        |t          j        |dd          t          t          j        |t          j        |dd          z  }t          t          j        |t          j        |dd          t          t          j        |t          j        |dd          z  }t          t          j        |t          j        |dd          t          t          j        |t          j        |dd          z  }t          t          j        |t          j        |dd          t          t          j        |t          j        |dd          z  }t          ||z   |z   |z             t          ||          t          ||          z  k    sJ t          d|d|dd          t          d|d|dd          z  }t          d|d|dd          t          d|d|dd          z  }t          d|d|dd          t          d|d|dd          z  }t          d|d|dd          t          d|d|dd          z  }t          d|d|dd
          t          d|d|dd
          z  }	t          d|d|dd          t          d|d|dd          z  }
t          d|d|dd          t          d|d|dd          z  }t          d|d|dd          t          d|d|dd          z  }t          d|d|dd          t          d|d|dd          z  }t          ||z   |z   |z   |	z   |
z   |z   |z   |z             t          ||          t          ||          z  k    sJ d S )Nzj m1 m1p m2 m2pr               
      i   i   )r   r   r   Halfr   r   r   r   )jm1m1pm2m2pabcdefghis                 _/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/physics/quantum/tests/test_cg.pytest_cg_simp_addr+   
   s]   !"344Ar3C
16161a00A
168B??Aq!&(2q//BBA
1aAq!A
1aAq!A
1b!Q2A1q5>>Q1q519""""1q519q=1$%%****1q519Q&&&&1Q37q1u$$$$1Q37Q;1q5((((1Q319####1Q319qs?##r))))A26??b    A26A:"$$$$2a4!A#:#%%%%2a4!A#:!#$$++++
16161a00A
168B??Aq!&(2q//BBA
1aAq!A
1aAq!A
1b!Q2A1q5>>Q~a33333331q519>!Q#7#7!777771q519q=1$%%>!Q+?+?)?????1q519>!Q#7#7!7!!;;;;;1Q37q1!5!55999991Q37Q;1^Aq%9%9#9A#=====1Q319N1a$8$8!888881Q319qs?##r.A*>*>'>>>>>A26??b1!5!555555A26A:"^Aq%9%9"999992a4!A#:#nQ&:&:":::::2a4!A#:!#$$N1a,@,@(@@@@@
1616168B??Aq99A
168B??AFAFAq99A
1aB1A
1aAq!A
1b!Q1A1q5>>T!WW$$$$1q519a((((1q519q=1$%%a477):::::1q519a1,,,,1Q37tAww{****1Q37Q;477Q;....1Q319477****1Q319qs?##qay0000A26??tAwwh&&&&A26A:477(****2a4!A#:"T!WW*,,,,2a4!A#:!#$$477
2222
1616168B??Aq99A
168B??AFAFAq99A
1aB1A
1aAq!A
1b!Q1A1q5>>T!WW^Aq%9%9999991q519a1)=)=!=====1q519q=1$%%	* *!Q* "&q''.A*>*>">*? ? ? ? ?1q519a1)=)=!=!AAAAA1Q37tAww~a';';;a?????1Q37Q;477>!Q+?+?#?!#CCCCC1Q319477>!Q+?+?!?????1Q319qs?##qay11E1E'EEEEEA26??tAwwh~a';';;;;;;A26A:477(>!Q+?+?"?????2a4!A#:"T!WW*^Aq-A-A"AAAAA2a4!A#:!#$$477
>!Q3G3G(GGGGG 	1616168B??Aq991<A
1616168B??Aq991<A
1aAq!aA
1aAq!aA1q5>>Q1q5>>Q1q519q=!!Q&&&&1Q319""""1Q319""""1Q319QqS((((1Q319QqS((((A26??b    A26??b    
162qvr1a((!+A
162qvr1a((!+A
162qvr1b))1,A
162qvr1a((!+A1q519q=!!Q&&&&1Q319qs?QqS())Q....1Q319qs?QqS())Q1Wq[8888A26A:>""b((((
1b!RA!A
1b!RA!A
1b!RA!A
1b!RB"A
1b!RB"A
1b!RA!A
1b!RA!A
1b!RB"A
1b!RA!A1q519q=1$q(1,q01455::::1a!eai!ma'!+a/!3a7899Q>>>>1q51Q3;?QqS(1,q014q899QUQqS[HHHHA26A:>A%)A-1A566"<<<< 	161	 fhr1ooq!	- 	--/QQRQWYZ\]-^-^	_A
161	 fhr1ooq!	- 	--/QQRQWYZ\]-^-^	_A
1aAq!R1aAq111A
1aAq!R1aAq111A1q5>>Q1q5>>Q
162qvr1a((AFCa)K)KKA
162qvr1a((AFCa)K)KKA
162qvr1b))"QVS!&#q"*M*MMA
162qvr1a((AFCa)K)KKA1q519q=!!^B%<%<^BPS=T=T%TTTTT
1b!RAr!S!S!Q777A
1b!RAr!S!S!Q777A
1b!RAr!S!S!Q777A
1b!RB1c1c1b 9 99A
1b!RB1c1c1b 9 99A
1b!RAr!S!S!Q777A
1b!RAr!S!S!Q777A
1b!RB1c1c1b 9 99A
1b!RAr!S!S!Q777A	A	AA!A%)+ +.<R.E.EnUWY\F]F].]^ ^ ^ ^ ^ ^    c                     t          d          \	  } }}}}}}}}t          | t          t          |||d||          || |f          z            | d|z  dz   z  t	          |d          z  k    sJ t          | t          t          |||d||          || |f          z  t          dddddd          z             | d|z  dz   z  t	          |d          z  t          dddddd          z   k    sJ t          dt          t          d|ddd|          |ddf          z            dk    sJ t          | t          d||z
  z  t          |||| |d          z  || |f          z            | t          d|z  dz             z  t	          |d          z  k    sJ t          dt          dd|z
  z  t          d|d| dd          z  |ddf          z            dt          d	          z  k    sJ t          t          t          ||||||          t          ||||||          z  || |f|| |f                    t	          ||          t	          ||          z  k    sJ t          t          t          ||||||          t          ||||||          z  || |f|| |f                    t	          ||          k    sJ t          t          t          ||||||          t          ||||||          z  || |f|| |f                    t	          ||          k    sJ t          t          t          ||||||          dz  || |f|| |f                    dk    sJ t          t          t          d|d|d|          t          d|d|d|          z  |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gammagammaps	            r*   test_cg_simp_sumr4      s   18,2. 2..Aq!QE4 1s2a1a77%!Q     AaC!G^Aq%9%99: : : :1s2a1a77%!QHHH2aQRTUWXZ[]^K_K__``deghijgjmngndop~  @A  CD  qE  qE  eE  HJ  KL  NO  QR  TU  WX  Z[  H\  H\  e\  \  \  \  \1s2a1a77%QHHHIIQNNNN1S"E	*R5!eVQ. . r1~' ' ' ( (+,T!A#']]?>!Q;O;O+OP P P P1S"E	*R	5!eVQ.# .# #%*BN4 4 4 5 589$q''	B B B B 3r!UAtQ66r!UAtRQW7X7XX[`cdbdfgZhkorsqsuvjwxxyy  ~L  MN  PR  ~S  ~S  Tb  ch  jp  Tq  Tq  ~q  q  q  q  q3r!UAtQ66r!UAtQPV7W7WWZ_bcacefYgjnqrprtuivwwxx  }K  LQ  SY  }Z  }Z  Z  Z  Z  Z3r!UAtQ66r!UAtRQV7W7WWZ_bcacefYgjnqrprtuivwwxx  }K  LM  OQ  }R  }R  R  R  R  R3r	5!T1e% %&'(*/!Q$AH H I ILMN N N N3r!UAtQ66r!UAtQPV7W7WWZ_acefYgjnprtuivwwxx  }K  LQ  SY  }Z  }Z  Z  Z  Z  Z  Z  Zr,   c                  N   t          t          j        t          dd          t          j        t          j        dd                                          t          d           dz  k    sJ t          dddddd                                          dk    sJ t          dddddd                                          dk    sJ t          dddddd                                          t          d          d	z  k    sJ t          dddddd                                          t          d          d	z  k    sJ t          dddt          dd          t          j        dt          j        t          j        d	  	                                        t          d          d
z  k    sJ t          t          j        t          j        t          j        t          dd          dd                                          t          d          dz  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   doitr   r	   r
   r    r,   r*   	test_doitr;      s6   AFHROOQVQVQBBGGIIdSTggXVWZWWWWCCC,,1133q8888CCC,,11339999Aq!Q1%%**,,R<<<<Aq!Q1%%**,,R3>>>>	1a!QAFAFA? ??CtvvaQST T T Tafafafhr1ooq!<<AACCtAwwqyPPPPAr16161af55::<<AAAAaQVQVQQ88==??1DDDDDDr,   N)sympy.concrete.summationsr   sympy.core.numbersr   sympy.core.singletonr   sympy.core.symbolr   (sympy.functions.elementary.miscellaneousr   sympy.physics.quantum.cgr   r	   r
   r   r   (sympy.functions.special.tensor_functionsr   r+   r4   r;   r:   r,   r*   <module>rC      s    ) ) ) ) ) ) ' ' ' ' ' ' " " " " " " % % % % % % 9 9 9 9 9 9 N N N N N N N N N N N N N N C C C C C CI^ I^ I^XZ Z Z,E E E E Er,   