
    sg#                     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	 d dl
mZmZmZmZmZ d dlmZ d Zd	 Zd
 Zy)    )Sum)Rational)S)symbols)sqrt)Wigner3jWigner6jWigner9jCGcg_simp)KroneckerDeltac                  2%   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 y )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                 V/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/quantum/tests/test_cg.pytest_cg_simp_addr+   
   s   !"34Ar3C
1661661a0A
1668B?Aq!&&(2q/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#:!#$+++
1661661a0A
1668B?Aq!&&(2q/BA
1aAq!A
1aAq!A
1b!Q2A1q5>Q~a333331q519>!Q#7!77771q519q=1$%>!Q+?)????1q519>!Q#7!7!!;;;;1Q37q1!5599991Q37Q;1^Aq%9#9A#====1Q319N1a$8!88881Q319qs?#r.A*>'>>>>A26?b1!55555A26A:"^Aq%9"99992a4!A#:#nQ&:"::::2a4!A#:!#$N1a,@(@@@@
1661661668B?Aq9A
1668B?AFFAFFAq9A
1aB1A
1aAq!A
1b!Q1A1q5>T!W$$$1q519a(((1q519q=1$%a47)::::1q519a1,,,1Q37tAw{***1Q37Q;47Q;...1Q31947***1Q319qs?#qay000A26?tAwh&&&A26A:47(***2a4!A#:"T!W*,,,2a4!A#:!#$47
222
1661661668B?Aq9A
1668B?AFFAFFAq9A
1aB1A
1aAq!A
1b!Q1A1q5>T!W^Aq%999991q519a1)=!====1q519q=1$%	*!Q* "&q'.A*>">*? ? ? ?1q519a1)=!=!AAAA1Q37tAw~a';;a????1Q37Q;47>!Q+?#?!#CCCC1Q31947>!Q+?!????1Q319qs?#qay11E'EEEEA26?tAwh~a';;;;;A26A:47(>!Q+?"????2a4!A#:"T!W*^Aq-A"AAAA2a4!A#:!#$47
>!Q3G(GGGG 	1661661668B?Aq91<A
1661661668B?Aq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   
1662qvvr1a(!+A
1662qvvr1a(!+A
1662qvvr1b)1,A
1662qvvr1a(!+A1q519q=!Q&&&1Q319qs?QqS()Q...1Q319qs?QqS()Q1Wq[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:::1a!eai!ma'!+a/!3a789Q>>>1q51Q3;?QqS(1,q014q89QUQqS[HHHA26A:>A%)A-1A56"<<< 	1661	ffhr1oq!	--/QQRQWQWYZ\]-^	_A
1661	ffhr1oq!	--/QQRQWQWYZ\]-^	_A
1aAq!R1aAq11A
1aAq!R1aAq11A1q5>Q1q5>Q
1662qvvr1a(AFFCa)KKA
1662qvvr1a(AFFCa)KKA
1662qvvr1b)"QVVS!&&#q"*MMA
1662qvvr1a(AFFCa)KKA1q519q=!^B%<^BPS=T%TTTT
1b!RAr!S!S!Q77A
1b!RAr!S!S!Q77A
1b!RAr!S!S!Q77A
1b!RB1c1c1b 99A
1b!RB1c1c1b 99A
1b!RAr!S!S!Q77A
1b!RAr!S!S!Q77A
1b!RB1c1c1b 99A
1b!RAr!S!S!Q77A	A	AA!A%)+.<R.EnUWY\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 y )
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..Aq!QE4 1s2a1a7%!Q   AaC!G^Aq%99: : :1s2a1a7%!QHH2aQRTUWXZ[]^K__`deghijgjmngndop~  @A  CD  qE  eE  HJ  KL  NO  QR  TU  WX  Z[  H\  e\  \  \  \1s2a1a7%QHHIQNNN1S"E	*R5!eVQ. r1~' ' (+,T!A#']?>!Q;O+OP P P1S"E	*R	5!eVQ.# #%*BN4 4 589$q'	B B B 3r!UAtQ6r!UAtRQW7XX[`cdbdfgZhkorsqsuvjwxy  ~L  MN  PR  ~S  Tb  ch  jp  Tq  ~q  q  q  q3r!UAtQ6r!UAtQPV7WWZ_bcacefYgjnqrprtuivwx  }K  LQ  SY  }Z  Z  Z  Z3r!UAtQ6r!UAtRQV7WWZ_bcacefYgjnqrprtuivwx  }K  LM  OQ  }R  R  R  R3r	5!T1e%&'(*/!Q$AH ILMN N N3r!UAtQ6r!UAtQPV7WWZ_acefYgjnprtuivwx  }K  LQ  SY  }Z  Z  Z  Zr,   c                     t        t        j                  t        dd      t        j                  t        j                  dd      j	                         t        d       dz  k(  sJ t        dddddd      j	                         dk(  sJ t        dddddd      j	                         dk(  sJ t        dddddd      j	                         t        d      d	z  k(  sJ t        dddddd      j	                         t        d      d	z  k(  sJ t        dddt        dd      t        j                  dt        j                  t        j                  d	      j	                         t        d      d
z  k(  sJ t        t        j                  t        j                  t        j                  t        dd      dd      j	                         t        d      dz  k(  sJ t        ddt        j                  t        j                  dt        j                        j	                         dk(  sJ t        ddt        j                  t        j                  dt        dd            j	                         dk(  sJ y )Nr   r   r   g      ?g      @r   r      i      r   )	r   r   r   r   doitr   r	   r
   r    r,   r*   	test_doitr;      s   AFFHROQVVQVVQBGGIdSTgXVWZWWWCCC,113q888CCC,113999Aq!Q1%**,R<<<Aq!Q1%**,R3>>>	1a!QAFFAFFA??CtvaQST T Taffaffaffhr1oq!<AACtAwqyPPPAr1661661aff5::<AAAaQVVQVVQQ8==?1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      s1    ) ' " % 9 N N CI^XZ,Er,   