
    \h#                     z    S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
JrJrJrJrJr  S SKJr  S rS	 rS
 rg)    )Sum)Rational)S)symbols)sqrt)Wigner3jWigner6jWigner9jCGcg_simp)KroneckerDeltac                  z%   [        S5      u  pp#n[        [        R                  [        R                  SS[        R                  [        R                  5      n[        [        R                  [	        SS5      SS[        R                  [	        SS5      5      n[        SSSSSS5      n[        SSSSSS5      n[        SSSSSS5      n	[        XV-   5      S:X  d   e[        Xx-   U	-   5      S:X  d   e[        XV-   U-   U-   U	-   5      S:X  d   e[        XV-   U-   5      SU-   :X  d   e[        SU-  U-   5      SU-   :X  d   e[        SU-  U-   U	-   5      SU-   :X  d   e[        SU-  SU-  -   5      S:X  d   e[        SU-  SU-  -   SU	-  -   5      S	:X  d   e[        U* U-
  5      S
:X  d   e[        U* U-
  U	-
  5      S:X  d   e[        SU-  SU-  -
  5      S:X  d   e[        SU-  SU-  -
  SU	-  -
  5      S:X  d   e[        [        R                  [        R                  U S[        R                  [        R                  5      n[        [        R                  [	        SS5      U S[        R                  [	        SS5      5      n[        SSU SSS5      n[        SSU SSS5      n[        SSU SSS5      n	[        XV-   5      S[        U S5      -  :X  d   e[        Xx-   U	-   5      S[        U S5      -  :X  d   e[        XV-   U-   U-   U	-   5      S[        U S5      -  :X  d   e[        XV-   U-   5      S[        U S5      -  U-   :X  d   e[        SU-  U-   5      S[        U S5      -  U-   :X  d   e[        SU-  U-   U	-   5      S[        U S5      -  U-   :X  d   e[        SU-  SU-  -   5      S[        U S5      -  :X  d   e[        SU-  SU-  -   SU	-  -   5      S	[        U S5      -  :X  d   e[        U* U-
  5      S
[        U S5      -  :X  d   e[        U* U-
  U	-
  5      S[        U S5      -  :X  d   e[        SU-  SU-  -
  5      S[        U S5      -  :X  d   e[        SU-  SU-  -
  SU	-  -
  5      S[        U S5      -  :X  d   e[        [        R                  [        R                  [        R                  [	        SS5      SS5      n[        [        R                  [	        SS5      [        R                  [        R                  SS5      n[        SSSSSS5      n[        SSSSSS5      n[        SSSSSS5      n	[        XV-
  5      [        S5      :X  d   e[        Xx-
  U	-   5      [        S5      :X  d   e[        XV-
  U-   U-
  U	-   5      [        S5      [        S5      -   :X  d   e[        XV-
  U-   5      [        S5      U-   :X  d   e[        SU-  U-
  5      [        S5      U-   :X  d   e[        SU-  U-
  U	-   5      [        S5      U-   :X  d   e[        SU-  SU-  -
  5      S[        S5      -  :X  d   e[        SU-  SU-  -
  SU	-  -   5      S[        S5      -  :X  d   e[        U* U-   5      [        S5      * :X  d   e[        U* U-   U	-
  5      [        S5      * :X  d   e[        SU-  SU-  -   5      S[        S5      -  :X  d   e[        SU-  SU-  -   SU	-  -
  5      S[        S5      -  :X  d   e[        [        R                  [        R                  [        R                  [	        SS5      U S5      n[        [        R                  [	        SS5      [        R                  [        R                  U S5      n[        SSSSU S5      n[        SSSSU S5      n[        SSSSU S5      n	[        XV-
  5      [        S5      [        U S5      -  :X  d   e[        Xx-
  U	-   5      [        S5      [        U S5      -  :X  d   e[        XV-
  U-   U-
  U	-   5      [        S5      [        U S5      -  [        S5      [        U S5      -  -   :X  d   e[        XV-
  U-   5      [        S5      [        U S5      -  U-   :X  d   e[        SU-  U-
  5      [        S5      [        U S5      -  U-   :X  d   e[        SU-  U-
  U	-   5      [        S5      [        U S5      -  U-   :X  d   e[        SU-  SU-  -
  5      S[        S5      -  [        U S5      -  :X  d   e[        SU-  SU-  -
  SU	-  -   5      S[        S5      -  [        U S5      -  :X  d   e[        U* U-   5      [        S5      * [        U S5      -  :X  d   e[        U* U-   U	-
  5      [        S5      * [        U S5      -  :X  d   e[        SU-  SU-  -   5      S[        S5      -  [        U S5      -  :X  d   e[        SU-  SU-  -   SU	-  -
  5      S[        S5      -  [        U S5      -  :X  d   e[        [        R                  [        R                  [        R                  [	        SS5      SS5      S-  n[        [        R                  [        R                  [        R                  [	        SS5      SS5      S-  n[        SSSSSS5      S-  n[        SSSSSS5      S-  n[        XV-   5      S:X  d   e[        Xx-   5      S:X  d   e[        XV-   U-   U-   5      S:X  d   e[        SU-  SU-  -   5      S:X  d   e[        SU-  SU-  -   5      S:X  d   e[        SU-  SU-  -   5      SSU-  -   :X  d   e[        SU-  SU-  -   5      SSU-  -   :X  d   e[        U* U-
  5      S:X  d   e[        U* U-
  5      S:X  d   e[        [        R                  U[        R                  USS5      S-  n[        [        R                  U[        R                  USS5      S-  n[        [        R                  U[        R                  USS5      S-  n[        [        R                  U[        R                  USS5      S-  n[        XV-   U-   U-   5      S:X  d   e[        SU-  SU-  -   SU-  -   SU-  -   5      S:X  d   e[        SU-  SU-  -   SU-  -   SU-  -   5      SSU-  -   U-   :X  d   e[        U* U-
  U-
  U-
  5      S:X  d   e[        SUSUSS5      S-  n[        SUSUSS5      S-  n[        SUSUSS5      S-  n[        SUSUSS5      S-  n[        SUSUSS
5      S-  n	[        SUSUSS5      S-  n
[        SUSUSS5      S-  n[        SUSUSS5      S-  n[        SUSUSS5      S-  n[        XV-   U-   U-   U	-   U
-   U-   U-   U-   5      S:X  d   e[        SXV-   U-   U-   U	-   U
-   U-   U-   U-   -  5      S:X  d   e[        XV-   SU-  -   U-   SU	-  -   U
-   U-   U-   U-   5      SU-   SU	-  -   :X  d   e[        U* U-
  U-
  U-
  U	-
  U
-
  U-
  U-
  U-
  5      S:X  d   e[        [        R                  [        S5      S-  [        R                  [	        SS5      SS5      [        [        R                  [	        SS5      [        R                  [        R                  SS5      -  n[        [        R                  [        S5      S-  [        R                  [	        SS5      SS5      [        [        R                  [	        SS5      [        R                  [        R                  SS5      -  n[        SSSSSS5      [        SSSSSS5      -  n[        SSSSSS5      [        SSSSSS5      -  n[        XV-   5      S:X  d   e[        Xx-   5      S:X  d   e[        [        R                  U[        R                  USS5      [        [        R                  U[        R                  USS5      -  n[        [        R                  U[        R                  USS5      [        [        R                  U[        R                  USS5      -  n[        [        R                  U[        R                  USS5      [        [        R                  U[        R                  USS5      -  n[        [        R                  U[        R                  USS5      [        [        R                  U[        R                  USS5      -  n[        XV-   U-   U-   5      [        X5      [        X45      -  :X  d   e[        SUSUSS5      [        SUSUSS5      -  n[        SUSUSS5      [        SUSUSS5      -  n[        SUSUSS5      [        SUSUSS5      -  n[        SUSUSS5      [        SUSUSS5      -  n[        SUSUSS
5      [        SUSUSS
5      -  n	[        SUSUSS5      [        SUSUSS5      -  n
[        SUSUSS5      [        SUSUSS5      -  n[        SUSUSS5      [        SUSUSS5      -  n[        SUSUSS5      [        SUSUSS5      -  n[        XV-   U-   U-   U	-   U
-   U-   U-   U-   5      [        X5      [        X45      -  :X  d   eg )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/auris/envauris/lib/python3.13/site-packages/sympy/physics/quantum/tests/test_cg.pytest_cg_simp_addr+   
   sh   !"34A3C
1661661a0A
1668B?Aq!&&(2q/BA
1aAq!A
1aAq!A
1b!Q2A15>Q1519"""1519q=1$%***1519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15>Q~a333331519>!Q#7!77771519q=1$%>!Q+?)????1519>!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15>T!W$$$1519a(((1519q=1$%a47)::::1519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15>T!W^Aq%999991519a1)=!====1519q=1$%	*!Q* "&q'.A*>">*? ? ? ?1519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15>Q15>Q1519q=!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1519q=!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1519q=1$q(1,q0145:::1aeai!ma'!+a/!3a789Q>>>151Q3;?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15>Q15>Q
1662qvvr1a(AFFCa)KKA
1662qvvr1a(AFFCa)KKA
1662qvvr1b)"QVVS!&&#q"*MMA
1662qvvr1a(AFFCa)KKA1519q=!^B%<^B=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%)+.<R.EnUWF].]^ ^ ^    c                     [        S5      u	  pp#pEpgn[        U [        [        XUSX5      XQ* U45      -  5      U SU-  S-   -  [	        US5      -  :X  d   e[        U [        [        XUSX5      XQ* U45      -  [        SSSSSS5      -   5      U SU-  S-   -  [	        US5      -  [        SSSSSS5      -   :X  d   e[        S[        [        SUSSSU5      USS45      -  5      S:X  d   e[        U [        SX-
  -  [        XX* US5      -  XQ* U45      -  5      U [        SU-  S-   5      -  [	        US5      -  :X  d   e[        S[        SSU-
  -  [        SUSU* SS5      -  USS45      -  5      S[        S	5      -  :X  d   e[        [        [        XX&X75      [        XX&XH5      -  XQ* U4Xb* U45      5      [	        X45      [	        Xx5      -  :X  d   e[        [        [        XX&X75      [        XX&X85      -  XQ* U4Xb* U45      5      [	        Xx5      :X  d   e[        [        [        XX&X75      [        XX&XG5      -  XQ* U4Xb* U45      5      [	        X45      :X  d   e[        [        [        XX&X75      S-  XQ* U4Xb* U45      5      S:X  d   e[        [        [        SUSUSU5      [        SUSUSU5      -  USS4USS45      5      [	        Xx5      :X  d   eg )
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..A!4 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"	*R!VQ. r1~' ' (+,T!A#']?>!Q;O+OP P P1S"E	*R	5!eVQ.# #%*BN4 4 589$q'	B B B 3r!AQ6r!AR7XX[`bdfgZhkoqsuvjwxy  ~L  MN  ~S  Tb  ch  Tq  ~q  q  q  q3r!AQ6r!AQ7WWZ_acefYgjnprtuivwx  }K  LQ  }Z  Z  Z  Z3r!AQ6r!AR7WWZ_acefYgjnprtuivwx  }K  LM  }R  R  R  R3r	!1%&'(*/Q$AH ILMN N N3r!UAtQ6r!UAtQPV7WWZ_acefYgjnprtuivwx  }K  LQ  }Z  Z  Z  Zr,   c                     [        [        R                  [        SS5      [        R                  [        R                  SS5      R	                  5       [        S5      * S-  :X  d   e[        SSSSSS5      R	                  5       S:X  d   e[        SSSSSS5      R	                  5       S:X  d   e[        SSSSSS5      R	                  5       [        S5      S	-  :X  d   e[        SSSSSS5      R	                  5       [        S5      S	-  :X  d   e[        SSS[        SS5      [        R                  S[        R                  [        R                  S5	      R	                  5       [        S5      S
-  :X  d   e[        [        R                  [        R                  [        R                  [        SS5      SS5      R	                  5       [        S5      S-  :X  d   e[        SS[        R                  [        R                  S[        R                  5      R	                  5       S:X  d   e[        SS[        R                  [        R                  S[        SS5      5      R	                  5       S:X  d   eg )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,   