
    \hA7                     J   S SK JrJrJr  S SKJrJrJrJrJ	r	J
r
Jr  S SKJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  S SK J!r!J"r"  S SK#J$r$J%r%J&r&  S SK'J(r(  S SK)J*r*J+r+  S SK)J,r,  \r-S	 r.S
 r/S r0S r1S r2S r3S r4S r5S r6\+S 5       r7S r8S r9S r:S r;S r<S r=g)    )LambdaSymbolsymbols)R2R2_pR2_rR3_rR3_cR3_s	R2_origin)ManifoldPatchCoordSystem
CommutatorDifferentialTensorProductWedgeProductBaseCovarDerivativeOpCovarDerivativeOpLieDerivativecovariant_ordercontravariant_ordertwoform_to_matrixmetric_to_Christoffel_1stmetric_to_Christoffel_2ndmetric_to_Riemann_componentsmetric_to_Ricci_componentsintcurve_diffequintcurve_series)trigsimpsimplify)sqrtatan2sin)Matrix)raisesnocache_fail)warns_deprecated_sympyc                  r
   [        S5      u  pp#SX4X* 4/0n[        S[        X/U5      n[        S[        X#/U5      nUR                   u  p#UR                  U5      [	        U* /U//5      :X  d   e[        SSS9u  pxSU4U* 4/0n[        S[        U/U5      n	[        S[        U/U5      n
[        [        5         U
R                  U	5        S S S 5        [        S5      u  pSU4US	-  4/0n[        S[        U/U5      n[        S[        U/U5      n[        [        5         UR                  U5        S S S 5        [        S
5      u  pxpnnXx4S	U-  SU-  4/X4SU-  S	U-  4/S.n[        S[        Xx4U5      n[        S[        X4U5      n[        S[        UU4U5      nUR                   u  pxUR                   u  pUR                   u  nnUR                  U5      [	        US	-  US-  /5      :X  d   eUR                  U5      [	        SU-  SU-  /5      :X  d   eUR                  U5      [	        US-  US-  /5      :X  d   eUR                  U5      [	        US-  US	-  /5      :X  d   e[        S
5      u  pxpnnXx4S	U-  SU-  S-   4/UU4U* S	-
  S	U-  4/S.n[        S[        Xx4U5      n[        S[        X4U5      n[        S[        UU4U5      nUR                   u  pxUR                   u  pUR                   u  nnUR                  U5      [	        US	-  US-
  S-  /5      :X  d   eUR                  U5      [	        SU-  S	-
  SU-  S-   S	-  /5      :X  d   eUR                  U5      [	        U* S	-  S-
  S	U-  S-
  S-  /5      :X  d   eUR                  U5      [	        U* S	-
  S	U-  /5      :X  d   e[        S
5      u  pxpnn[        Xx4S	U-  SU-  S-   45      [        UU4U* S	-
  S	U-  45      S.n[        S[        Xx4U5      n[        S[        X4U5      n[        S[        UU4U5      nUR                   u  pxUR                   u  pUR                   u  nnUR                  U5      [	        US	-  US-
  S-  /5      :X  d   eUR                  U5      [	        SU-  S	-
  SU-  S-   S	-  /5      :X  d   eUR                  U5      [	        U* S	-  S-
  S	U-  S-
  S-  /5      :X  d   eUR                  U5      [	        U* S	-
  S	U-  /5      :X  d   eg ! , (       d  f       GNO= f! , (       d  f       GN= f)Nzp q r s)firstsecondr*   r+   a bTpositivezc d   za, b, c, d, e, f   )C1C2)r3   C3r2   r3   r4         )r1   )r4   r3   )	r   r   r   	transformr%   r&   NotImplementedError
ValueErrorr   )pqrsrelR2_pqR2_rsabR2_aR2_bcdR2_cR2_defr2   r3   r4   s                       Z/var/www/auris/envauris/lib/python3.13/site-packages/sympy/diffgeom/tests/test_diffgeom.pytest_coordsys_transformrM      ss   #JA!!!R 1
2CQFC8E)aVS9E==DA??5!VqbTA3K%8888 54(DA!u
.Cw	A34DxQC5D	#	$t 
% 5>DA!1w
0Cw	A34DxQC5D	
	t 
 12A!1&1Q3!*-v!QqSz*,C	T9qfc	2B	T9qfc	2B	T9q!fc	2B::DA::DA::DAq<<vqsAaCj1111<<vqsAaCj1111<<vqsAaCj1111<<vqsAaCj111112A!1&1Q3!a.11vQ!}-/C	T9qfc	2B	T9qfc	2B	T9q!fc	2B::DA::DA::DAq<<vqsQUAI&67777<<vr!tax!A#'1&=>>>><<vr!tax!A#'1&=>>>><<vrAvqsm4444 12A!11acAg7aVqb1fac]35C	T9qfc	2B	T9qfc	2B	T9q!fc	2B::DA::DA::DAq<<vqsQUAI&67777<<vr!tax!A#'1&=>>>><<vr!tax!A#'1&=>>>><<vrAvqsm4444m 
%	$ 
	s   ;T"T'
T$'
T6c            	      T   [        SSS9u  pp#[        R                  " X/5      n[        R                  " X#/5      n[        R
                  S-  [        R                  S-  -
  [        R                  S-  -
  R                  U5      S:X  d   e[        [        R
                  S-  [        R                  S-  -
  [        R                  S-  -
  R                  U5      5      S:X  d   e[        [        R                  " [        R                  S-  [        R                  S-  -   5      R                  U5      R                  5       5      SU-  :X  d   e[        SSS9u  pg[        U/U//5      nU[        R                  " [        [        R                  " [        U5      5      R                  [        5      :X  d   e[!        5          U[        R"                  " [        [        R"                  " [        U5      5      R                  [        5      :X  d   e S S S 5        g ! , (       d  f       g = f)Nzx0, y0, r0, theta0T)realr/   r   r,   r-   )r   r   pointr   r   r=   xyrcallr    e_rdoitr%   r8   	applyfuncr!   r(   coord_tuple_transform_to)	x0y0r0theta0point_rpoint_prB   rC   ms	            rL   test_R2r_   Y   s    !5DABBjj""Gjj"&G DD!GbddAga'..w71<<<bddAga'"$$'188ACqHHHBFF2447RTT1W,-33G<AACD"LLL 54(DAaSzA tT^^D!%<=GGQQQQ 
 	!D11$//a8::C)H:MN 	N N 
"	!	!s   AH
H'c            	      &   [        SSS9u  pn[        U /U/U//5      nU[        R                  " [        [        R                  " [        U5      5      R                  [        5      :X  d   eU[        R                  " [        [        R                  " [        U5      5      R                  [        5      :X  d   eU[        R                  " [        [        R                  " [        U5      5      R                  [        5      :X  d   e[        5          U[        R                  " [        [        R                  " [        U5      5      R                  [        5      :X  d   eU[        R                  " [        [        R                  " [        U5      5      R                  [        5      :X  d   eU[        R                  " [        [        R                  " [        U5      5      R                  [        5      :X  d   e S S S 5        g ! , (       d  f       g = f)Nza b cTr-   )
r   r%   r
   r8   r	   rV   r!   r   r(   rW   )rB   rC   rF   r^   s       rL   test_R3ra   p   s   g-GA!aS1#AtT^^D!%<=GGQQQQdnnT1%''0y':; ; ; dnnT1%''0y':; ; ; 
 	!D11$//a8::C)H:MN 	N N D11$//a8::C)H:MN 	N N D11$//a8::C)H:MN 	N N 
"	!	!s   C(H
Hc                      [         R                  u  p[        R                  u  p#UR                  [        5      U[	        U5      -  :X  d   eg N)r   r   r   rewriter$   )rQ   rR   r=   thetas       rL   test_CoordinateSymbolrf      s6    <<DA||HA99T?aE
l***    c                  n   [        S5      u  p[        R                  " X/5      nUR                  X1:X  d   eUR	                  [        5      UR	                  5       s=:X  a  [        X/5      :X  d   e   eUR	                  [        5      [        [        U S-  US-  -   5      [        X5      /5      :X  d   eg )Nzx, yr/   )	r   r   rP   free_symbolscoordsr%   r   r"   r#   )rQ   rR   r;   s      rL   
test_pointrk      s    6?DA

A6A>>aV###88D>QXXZ961&>9999988D>VT!Q$A+%6a$DEEEErg   c                     [        [        R                  [        R                  5      S:X  d   e[        [        R                  [        R                  -  [        R                  [        R                  -  5      S:X  d   e[        [        R                  [        R                  -  [        R                  [        R                  -  5      [        R                  [        R                  -  :X  d   e[        [        R                  [        R
                  5      n U " [        R                  5      [        R                  [        R                  S-  [        R                  S-  -   S-  -  [        [        R                  5      -  :X  d   eg )Nr   r/   )	r   r   e_xe_yrQ   rT   rR   r$   re   )rF   s    rL   test_commutatorrp      s    bffbff%***bdd266k244;/1444bdd266k244;/244;>>>266266"ARTT7bddBDD!GbddAg-44S]BBBBrg   c                     [         R                  [         R                  -  n [        U 5      nU R	                  S 5      U :X  d   eU" [         R
                  [         R                  5      S:X  d   eU" [         R
                  [         R                  [         R                  -  5      [         R                  :X  d   e[        U5      S:X  d   eg )Nr6   r   )r   rQ   dyr   rS   rn   ro   )xdydxdys     rL   test_differentialru      s    
$$ruu*CD99T?c!!!1$$$RVV$,,,"""rg   c                     [        [        R                  [        R                  5      " [        R                  [        R
                  5      [        R                  " [        R                  5      [        R                  " [        R
                  5      -  s=:X  a  S:X  d   e   e[        [        R                  [        R                  5      " S [        R
                  5      [        R                  :X  d   e[        [        R                  [        R                  5      " [        R                  S 5      [        R                  :X  d   e[        [        R                  [        R                  5      " [        R                  5      [        R                  :X  d   e[        [        R                  [        R                  5      [        R                  [        R                  -  :X  d   e[        [        R                  [        R
                  5      " [        R                  [        R                  5      [        R                  " [        R                  5      [        R
                  " [        R                  5      -  s=:X  a  S:X  d   e   e[        [        R                  [        R
                  5      " S [        R                  5      [        R                  :X  d   e[        [        R                  [        R
                  5      " [        R                  S 5      [        R
                  :X  d   e[        [        R                  [        R
                  5      " [        R                  5      [        R
                  :X  d   e[        [        R                  [        R                  5      [        R                  [        R                  -  :X  d   e[        [        R                  [        R
                  5      " [        R                  [        R                  5      [        R                  " [        R                  5      [        R
                  " [        R                  5      -  s=:X  a  S:X  d   e   e[        [        R                  [        R
                  5      " S [        R                  5      [        R                  :X  d   e[        [        R                  [        R
                  5      " [        R                  S 5      [        R
                  :X  d   e[        [        R                  [        R
                  5      " [        R                  5      [        R
                  :X  d   e[        [        R                  [        R                  5      [        R                  [        R                  -  :X  d   e[        [        R                  [        R                  5      " [        R                  [        R
                  5      [        R                  " [        R                  5      [        R                  " [        R
                  5      -  s=:X  a  S:X  d   e   e[        [        R                  [        R                  5      " S [        R
                  5      [        R                  :X  d   e[        [        R                  [        R                  5      " [        R                  S 5      [        R                  :X  d   e[        [        R                  [        R                  5      " [        R                  5      [        R                  :X  d   e[        [        R
                  [        R                  5      " [        R                  S-  [        R                  S-  -   [        R                  S-  [        R                  S-  -   5      S[        R                  -  [        R                  -  :X  d   e[        [        R                  [        R                  5      " [        R                  [        R
                  5      S:X  d   e[        [        R                  [        R
                  5      " [        R                  [        R                  5      S:X  d   eg )Nr6   r/      )	r   r   dxrr   rn   ro   rQ   rR   r    rg   rL   test_productsrz      s   
ruuffbff&)+rvvruuRVV})DJHIJ J J J J&tRVV4===&rvvt4===&rvv."%%777ruu%bee333
bdd$')vvbdd|bffRTTl'BHFGH H H H H(rtt4>>>(t4>>>(."&&888rvv&"$$-777
rvvvvrtt%(*bffrtt(DJHIJ J J J J'bdd3ruu<<<'5???'/266999rvv&"$$-777
ttRVV%(*rttruuRVV}(DJHIJ J J J J'bff5???'d3ruu<<<'-666'a"$$'(9"$$'BDD!G:KLPQRTRVRVPVWYW[W[P[[[[ruu%bffbff5:::'bdd3q888rg   c                      [        [        R                  [        R                  5      [        R                  " [        R                  5      s=:X  a  S:X  d   e   e[        [        R                  [        R                  5      [        R                  " [        R                  5      s=:X  a  S:X  d   e   e[        [        R                  [        R                  5      [        [        R                  [        R                  5      s=:X  a  S:X  d   e   e[        [        R                  [        R                  5      [        [        R                  [        R                  5      :X  d   e[        [        R                  [        R                  -   [        R                  5      S:X  d   e[        [        R                  [        [        R                  [        R                  5      5      " [        R                  [        R                  5      S:X  d   eg Nr   r6   )r   r   rn   rR   rQ   r   rT   ro   r   rx   rr   ry   rg   rL   test_lie_derivativer}      s9   &"&&,;!;;;;;&"&&,;!;;;;;(Jrvvrvv,FK!KKKKK(Jrvvrvv,FFFF"&&"$$/1444
beeRUU+--/VVRVV=@AB B Brg   c                     [        [        [        R                  [        R                  5      [        [        R                  [        R                  5      -   5      n [        [        SU 5      nU" [        R                  5      S:X  d   eU" [        R                  [        R                  -  5      [        R                  :X  d   e[        [        R                  [        R                  -  U 5      nU" [        R                  5      [        R                  :X  d   eU" [        R                  [        R                  -  5      [        R                  [        R                  -  :X  d   eg r|   )
r   TPr   rx   rr   r   r   rQ   rn   r   )chcvds     rL   test_covar_derivr      s    	"2beeRUU#3b6F#F	GB
a
,Crtt9>>rttBFF{rvv%%%
BDDK
,Crtt9rttBFF{rttBFF{***rg   c                     [        S5      n [        R                  " SS/5      n[        R                  * [        R
                  -  [        R                  [        R                  -  -   n[        X U5      u  p4[        U5      S:X  d   e[        U5      S:X  d   e[        X U[        5      u  p4[        U5      S:X  d   e[        U5      S:X  d   eg )Ntr6   r   zA[f_1(t) + Derivative(f_0(t), t), -f_0(t) + Derivative(f_1(t), t)]z[f_0(0) - 1, f_1(0)]z2[Derivative(f_0(t), t), Derivative(f_1(t), t) - 1])r   r   rP   r   rR   rn   rQ   ro   r   strr   )r   start_pointvector_field	equations	init_conds        rL   test_intcurve_diffequr      s    A**aV$KDD5<"$$rvv+-L+L[IIy>````y>3333+L[$OIJK K Ky>3333rg   c                  	  ^^^	^
^^^ [         R                  [         R                  -   m[        [         R                  [         R                  -  [         R
                  [         R                  -  -   5      n [        [         R                  U -  5      [        [         R                  [        [         R
                  [         R                  -  5      -  5      -   m[        [         R                  [         R                  5      [        [         R                  [         R                  5      -   n[        [         R                  [         R                  5      [        [         R                  [         R                  5      -   m[        [         R                  [         R                  5      [         R                  -   m[         R                  S-  m	[         R                  [         R                  -  m
[        [         R                  [         R                  5      [        [         R                  [         R                  5      -   m[        [         R                  [         R                  5      n[         R                  [         R                  -   n[        [         R                  [         R                  5      n[        [         R                  [         R                  [         R                  5      n[        [         R                  [         R                  5      n[        T5      S:X  d   e[        U 5      S:X  d   e[        T5      S:X  d   e[        X-   5      S:X  d   e[        U T-   5      S:X  d   e[        U T-   5      S:X  d   e[        X-   5      S:X  d   e[        U5      S:X  d   e[        U5      S:X  d   e[        U5      S:X  d   e[        XF-   5      S:X  d   e[        [        U4S j5        [        [        U	4S j5        [        [        U
4S j5        [!        U5      [#        SS/SS//5      :X  d   e[!        T5      [#        SS/SS//5      :X  d   e[!        U5      [#        SS	/SS//5      :X  d   e[        [        U4S
 j5        [        [        U4S j5        [        [        U4S j5        [        [        U4S j5        [        [        U4S j5        [        [        U4S j5        [        [        U4S j5        g )Nrw   r6   r/   r0   c                     > [        T 5      $ rc   r   )	misform_as   rL   <lambda>7test_helpers_and_coordinate_dependent.<locals>.<lambda>  
    y9rg   c                     > [        T 5      $ rc   r   )	misform_bs   rL   r   r   	  r   rg   c                     > [        T 5      $ rc   r   )	misform_cs   rL   r   r   
  r   rg   r   rm   c                     > [        T 5      $ rc   r   )one_forms   rL   r   r     s    0:rg   c                     > [        T 5      $ rc   r   )
three_forms   rL   r   r     s    0<rg   c                     > [        T 5      $ rc   r   )metric_ambigs   rL   r   r     s    0>rg   c                     > [        T 5      $ rc   )r   twoform_not_syms   rL   r   r         8Irg   c                     > [        T 5      $ rc   )r   r   s   rL   r   r     r   rg   c                     > [        T 5      $ rc   )r   r   s   rL   r   r     s    ;OLrg   c                     > [        T 5      $ rc   )r   r   s   rL   r   r     s    9/Jrg   )r   drrx   r   rQ   r=   rR   r   rr   r   rn   ro   r   r   r&   r:   r   r%   )two_formmetrictwoform_not_TP
one_vector
two_vectorthree_vectortwo_wpr   r   r   r   r   r   r   s          @@@@@@@rL   %test_helpers_and_coordinate_dependentr      sS   uuruu}HBDDJbee34H
X%bdd<RUU
+C&CDEJ255"%%(=+FFF .ruubee1LLLbeeRUU+bee3IqIbeeI#BEE2551M"%%4OOO!"%%/N"&&Jrvvrvv.J 8L"&&(F8$)))8$))):&!+++8,-2228l23q8888o56!;;;845:::z*a///z*a///|,111z23q888
:9:
:9:
:9:V$AA/?(@@@@_-!Q!Q8H1IIII^,B!Q7H0IIII
::;
:<=
:>?
:IJ
:IJ
:LM
:JKrg   c                    ^  [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S	 5        [        [        S
 5        [        S5      m [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        g )Nc                  J    [         R                  " [         R                  5      $ rc   )r   rn   ry   rg   rL   r   (test_correct_arguments.<locals>.<lambda>  s    rvvbff~rg   c                  J    [         R                  " [         R                  5      $ rc   )r   rn   rx   ry   rg   rL   r   r     s    rvvbee}rg   c                  R    [        [        R                  [        R                  5      $ rc   )r   r   rn   rQ   ry   rg   rL   r   r     s    z"&&"$$7rg   c                  R    [        [        R                  [        R                  5      $ rc   )r   r   rx   rn   ry   rg   rL   r   r     s    z"%%8rg   c                  F    [        [        [        R                  5      5      $ rc   )r   r   rn   ry   rg   rL   r   r   !  s    |L,@Arg   c                  J    [         R                  " [         R                  5      $ rc   )r   rx   rQ   ry   rg   rL   r   r   #  s    ruuRTT{rg   c                  R    [        [        R                  [        R                  5      $ rc   )r   r   rx   ry   rg   rL   r   r   %  s    }RUUBEE:rg   c                  R    [        [        R                  [        R                  5      $ rc   )r   r   rQ   rx   ry   rg   rL   r   r   &  s    }RTT2559rg   c                  6    [        [        R                  / 5      $ rc   )r   r   rx   ry   rg   rL   r   r   (  s    0;rg   c                  6    [        [        R                  / 5      $ rc   )r   r   rQ   ry   rg   rL   r   r   )  s    0r:rg   rB   c                  f   > [        [        R                  T [        R                  " SS/5      5      $ Nr6   r/   )r   r   rx   r   rP   rB   s   rL   r   r   ,  s    ruuaQF9KLrg   c                  f   > [        [        R                  T [        R                  " SS/5      5      $ r   )r   r   rQ   r   rP   r   s   rL   r   r   -  s    rttQ

Aq68JKrg   c                  f   > [        [        R                  T [        R                  " SS/5      5      $ r   )r   r   rx   r   rP   r   s   rL   r   r   /  s     /q$**aV:LMrg   c                  f   > [        [        R                  T [        R                  " SS/5      5      $ r   )r   r   rQ   r   rP   r   s   rL   r   r   0  s     /aQF9KLrg   c                  V    [        [        R                  [        R                  -   5      $ rc   )r   r   rn   rx   ry   rg   rL   r   r   2  s    2266BEE>Brg   c                  V    [        [        R                  [        R                  -   5      $ rc   )r   r   rn   rx   ry   rg   rL   r   r   3  s    rvv~>rg   c                  V    [        [        R                  [        R                  -  5      $ rc   )r   r   rn   ro   ry   rg   rL   r   r   5  s    2266"&&=Arg   c                  V    [        [        R                  [        R                  -  5      $ rc   )r   r   rx   rr   ry   rg   rL   r   r   6  s    ruuRUU{;rg   )r&   r:   r   r   s   @rL   test_correct_argumentsr     s    
:-.
:,-
:78
:89
:AB
:*+
::;
:9:
:;<
::;sA
:LM
:KL
:MN
:LM
:BC
:>?
:AB
:;<rg   c                  h   [         R                  " 5       u  p[         R                  " 5       u  p#[         R                  " 5       u  pE[	        U 5      U :X  d   e[	        X-  5      X-  :X  d   e[	        X#-  5      X#-  :X  d   e[	        XE-  5      XE-  :X  d   eSU -
  U-  SU -
  S-  -  USU -
  -  :X  d   eg r   )r   coord_functionsbase_oneformsbase_vectorsr!   )rQ   rR   rx   rr   exeys         rL   test_simplifyr   8  s    !DA!FB FBA;!AC=ACBE?be###BE?be###qS"HqsQh"ac(***rg   c                     [         R                  [         R                  -  [         R                  [         R                  -  -
  n [         R                  S-  [         R                  S-  -   [         R                  -  [         R                  [         R                  -  [         R                  -  -
  n[        X5      R                  5       [         R                  S-  [         R                  -  S[         R                  S-  -  [         R                  -  -
  [         R                  [         R                  -  [         R                  -  -
  :X  d   eg )Nr/   r0   )r   rQ   rn   rR   ro   r   expand)XYs     rL   test_issue_17917r   C  s    
RVVbdd266k!A	q2447	BFF"RTT"$$Yrvv%55A%%'
a2447266))BDDIbff,<<> > >rg   c                     [        SS5      n [        SU 5      n[        5          [        SUSS/S9  S S S 5        [        5          [        SUSS/5      nS S S 5        [        5          [	        U R
                  5        S S S 5        [        5          [	        WR                  5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Np= f! , (       d  f       NY= f! , (       d  f       g = f)NMr/   PCar2drQ   rR   )names)r   r   r(   r   listpatches
transforms)r^   r;   rF   s      rL   test_deprecationsr   I  s    aAc1A		!GQsCj1 
" 
 	!S#J/ 
" 
 	!QYY 
" 
 	!Q\\ 
"	! 
"	! 
"	! 
"	! 
"	!s/   B,B=%CC,
B:=
C
C
C-N)>
sympy.corer   r   r   sympy.diffgeom.rnr   r   r   r	   r
   r   r   sympy.diffgeomr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   sympy.simplifyr    r!   sympy.functionsr"   r#   r$   sympy.matricesr%   sympy.testing.pytestr&   r'   r(   r   rM   r_   ra   rf   rk   rp   ru   rz   r}   r   r   r   r   r   r   r   ry   rg   rL   <module>r      s    . . I I IG G G G G G
 . , , ! 5 7E5PN.N2+FC#9<B + +
4.Lb=<+>rg   