
    \h)$                         S SK JrJr  S SKJr  S SKJrJr  S SK	J
r
Jr  S SKJrJr  S SKJr  S SKJrJrJrJrJrJr  S SKJr  \" S	5      u  rrrrrS
 rS r S r!S r"S r#S r$S r%S r&S r'S r(S r)g)    )
DerivativeFunction)Eq)Symbolsymbols)explog)cossin)S)pde_separatepde_separate_addpde_separate_mulpdsolveclassify_pdecheckpdesol)raisesz	a b c x yc            
         [        S5      u  pp#[        [        S5      u  pEpgp[        [	        U	" X5      U 5      [	        U	" X5      U5      [        U	" X5      5      -  5      n
[        X" X5      U" U 5      U" U5      /5      nU[	        U" U 5      U 5      [        U" U 5      * 5      -  [	        U" U5      U5      [        U" U5      5      -  /:X  d   eg )Nx,y,z,tFTXYZu)r   mapr   r   Dr   r   )xyztFTXYZueqress               T/var/www/auris/envauris/lib/python3.13/site-packages/sympy/solvers/tests/test_pde.pytest_pde_separate_addr&      s    #JA!8X.A!	AagqM1QqWa=QqW5	6B
2qw1qt
5C1QqT1:c1Q4%j(!AaD!*S1Y*>????    c            
        ^^^^^	^
 [        S5      u  m
pm[        [        S5      u  nmmp4m	[        [	        T	" T
T5      T
5      [	        T	" T
T5      T5      [        T	" T
T5      5      -  5      m[        [        UUUUU	U
4S j5        g )Nr   r   c                  J   > [        TT" TT5      T" T5      T " T5      /S5      $ )Ndiv)r   )r   r   r#   r   r"   r   s   r%   <lambda>#test_pde_separate.<locals>.<lambda>   s"    |B!Q!A$!uMr'   )r   r   r   r   r   r   r   
ValueError)r   r   r   r    r!   r   r   r#   r   r"   r   s        @@@@@@r%   test_pde_separater.      sk    #JAqQ8X.Aq!Q1	Aa1gqM1Qq!Wa=Qq!W5	6B
:MMNr'   c                  p	  ^	^
^^^^^^^ [        S5      u  mmmm[        SSS9n [        S5      n[        [        S5      u  m	p#m
mnm[        S5      u  pVm[	        [        T	" TTT5      T5      [        T	" TTT5      T5      -   [        T	" TTT5      T5      -   S5      m[        [        U	U
UUUUU4S	 j5        [        [        U	U
UUUUU4S
 j5        [        [        U	U
UUUUUU4S j5        [        TT	" TTT5      T" T5      T" TT5      /5      [        T" T5      T5      T" T5      -  [        T" TT5      T5      * T" TT5      -  [        T" TT5      T5      T" TT5      -  -
  /:X  d   e[        TT	" TTT5      T
" T5      T" T5      U" T5      /5      [        T
" T5      T5      T
" T5      -  [        U" T5      T5      * U" T5      -  [        T" T5      T5      T" T5      -  -
  /:X  d   e[	        [        T" TT5      TT5      U S-  [        T" TT5      TT5      -  5      n[        UT" TT5      T
" T5      U" T5      /5      nU[        T
" T5      TT5      T
" T5      -  [        U" T5      TT5      U S-  U" T5      -  -  /:X  d   e[	        SU-  [        U" XVT5      U5      -  [        U" XVT5      US5      -   SUS-  -  [        U" XVT5      US5      -  -   [        U" XVT5      TS5      -   S5      m[        TU" XVT5      U" T5      T" Xe5      /5      nU[        U" T5      TT5      U" T5      -  [        T" Xe5      XU5      * T" Xe5      -  [        T" Xe5      U5      UT" Xe5      -  -  -
  [        T" Xe5      Xf5      US-  T" Xe5      -  -  -
  /:X  d   e[	        US   U 5      m[        TT" Xe5      U" U5      U" U5      /5      nU[        U" U5      Xf5      U" U5      -  U* [        U" U5      U5      -  U" U5      -  US-  [        U" U5      XU5      -  U" U5      -  -
  XS-  -  -
  /:X  d   e[        TT" Xe5      U" U5      U" U5      /5      nX[        U" U5      U5      -  U" U5      -  US-  [        U" U5      XU5      -  U" U5      -  -   XS-  -  -   [        U" U5      Xf5      * U" U5      -  /:X  d   eg )Nr   CT)realPhiFRTXYZuz	r,theta,zr   c            	      L   > [        TT " TTT5      T" T5      T" TT5      /5      $ Nr   )r   r   r#   r"   r   r   r   s   r%   r+   'test_pde_separate_mul.<locals>.<lambda>+   %    ,R1aadAaG_Mr'   c                  J   > [        TT " TTT5      T" T5      T" T5      /5      $ r5   r6   )r   r   r    r#   r   r   r   s   r%   r+   r7   -   s#    /AaAJ1qtMr'   c            	      L   > [        TT " TTT5      T" T5      T" TT5      /5      $ r5   r6   )r   r   r    r#   r   r   r   r   s   r%   r+   r7   0   r8   r'         )	r   r   r   r   r   r   r   r-   r   )cr2   Rr   r!   rthetawaver$   r   r   r    r#   r   r"   r   r   r   s            @@@@@@@@@r%   test_pde_separate_mulrB      s   #JAq!QsA
5/Ch	2AqQ1a+&KAa 
Aa1aj!q1aQ//!AaAJ2BBA	FB MMO :MMN
MMO B!Q
QqT1Q7O<	
1Q4AaD1Qq!Wa=.1a01Qq!Wa=1a3HHIJ J JB!Q
QqT1Q41,>?	
1Q4AaD1QqT1:+ad*QqtQZ!_<=> > > a!QA1QqAw1%5 56D
41a1Q41,
7C1QqT1a=1%q1q!}ad1Q4i'@AAAA 
AaC!C!$a((1S1-=q!+DDadFQs1Q'22356s1Q7GA5NOPQ
SB 2s1Q/!A$%1D
EC1QqT1a=1%q{A!!!E+-	!E+q1Qu[=)*	!E+u$ad1U;&6789 9 9 9
 
CFAB
2q{QuXqt,<
=C1QuXu,QuX5Bq1qzM!A$Aa!am!3AaD!881T6AC C C C 2q{QqT1U8,<
=CQqtQZ<!$q!tAadAM'9!A$'>>a4Gqx&&qx/1 1 1 1r'   c                  `   [        S5      u  p[        S[        S9n[        S[        S9u  p4U" X5      nUR                  U S5      UR                  US5      -
  n[        XeU" U 5      U" U5      /5      nU[	        U" U 5      X 5      U" U 5      -  [	        U" U5      X5      U" U5      -  /:X  d   eg )Nzx tf)clszX Tr;   )r   r   diffr   r   )r   r   rD   r   r   r"   r#   r$   s           r%   test_issue_11726rG   Q   s    5>DA	(	#A5h'DA	!A	
1q!	$B
rqtQqTl
+C1QqT1=1%a!amAaD&89999r'   c                     [        S5      n [        U " [        [        5      -  [        U " [        [        5      R                  [        5      -  -   [        U " [        [        5      R                  [        5      -  -   nSU " [        [        5      -  SU " [        [        5      R                  [        5      -  -   U " [        [        5      R                  [        5      -   n[        U " [        [        5      -  [        U " [        [        5      R                  [        5      -  -   SU " [        [        5      R                  [        5      -  -   n[        U " [        [        5      -  U " [        [        5      R                  [        5      -   SU " [        [        5      R                  [        5      -  -   n[        S-  U " [        [        5      -  [        U " [        [        5      R                  [        5      -  -   [        [        -  U " [        [        5      R                  [        5      -  -   n[        [        S-  -  U " [        [        5      -  [        U " [        [        5      R                  [        5      -  -   U " [        [        5      R                  [        5      -   nXU4 H  n[        U5      S:X  a  M   e   XEU4 H  n[        U5      S:X  a  M   e   g )NrD      r;   %1st_linear_constant_coeff_homogeneous)1st_linear_variable_coeff)r   ar   r   brF   r=   r   )rD   eq1eq2eq3eq4eq5eq6r#   s           r%   test_pde_classifyrU   \   s   A
AaF(Qq1v{{1~%
%!Aa&++a.(8
8C
AaF(Qq1v{{1~%
%!AA
6C
AaF(Qq1v{{1~%
%!Aa&++a.(8
8C
AaF(QqV[[^
#a!AA&6
6C
Q$q1v+!Aa&++a.(
(1Q3q1v{{1~+=
=C
AqD&1Q-!AaFKKN*
*QqV[[^
;CoB#MMMM oB#AAAA r'   c                    ^	^
 [        [        SS/5      u  p[        U " [        [        5      -  [
        U " [        [        5      R                  [        5      -  -   [        U " [        [        5      R                  [        5      -  -   nSU " [        [        5      -  SU " [        [        5      R                  [        5      -  -   U " [        [        5      R                  [        5      -   n[        U " [        [        5      -  [
        U " [        [        5      R                  [        5      -  -   SU " [        [        5      R                  [        5      -  -   nX#U4 H"  n[        U[        U5      5      S   (       a  M"   e   [        U " [        [        5      -  U " [        [        5      R                  [        5      -   SU " [        [        5      R                  [        5      -  -   m	SU " [        [        5      -  SU " [        [        5      R                  [        5      -  -   SU " [        [        5      R                  [        5      -  -   nU " [        [        5      SU " [        [        5      R                  [        5      -  -   SU " [        [        5      R                  [        5      -  -   n[        T	[        U5      [        U5      /5      S[        S-
  U" S[        -  [        -
  5      -  [        [        * [        S5      -  S[        -  [        S5      -  -
  5      -  4S[        S-
  U" S[        -  [        -
  5      -  [        [        * [        S	5      -  S[        -  [        S	5      -  -
  5      -  4/:X  d   eT	Xg4 H"  n[        U[        U5      5      S   (       a  M"   e   [        T	5      n[        UR                  UR                  -
  S5      m
[        [         U	U
4S
 j5        g )NrD   r   rI   r;   r   r<   F   
   c                     > [        T TSS9$ )NF)solve_for_func)r   )rR   sol4s   r%   r+   "test_checkpdesol.<locals>.<lambda>|   s    Ce4r'   )r   r   rM   r   r   rN   rF   r=   r   r   r   r   r   lhsrhsr   NotImplementedError)rD   r   rO   rP   rQ   r#   rS   rT   solrR   r[   s            @@r%   test_checkpdesolra   k   s   x#s$DA
AaF(Qq1v{{1~%
%!Aa&++a.(8
8C
AaF(Qq1v{{1~%
%!AA
6C
AaF(Qq1v{{1~%
%!Aa&++a.(8
8Co2wr{+A.... 
AaF(QqV[[^
#a!AA&6
6C
AaF(Qq1v{{1~%
%!Aa&++a.(8
8C
Aa&1QqV[[^#
#a!AA&6
6CsWS\73<89	Q!A#'
"3r!A$w1QqT'9#::;
!a%1Q37#C1R51Q3qu9(<$==	>>@ @ @ @ Co2wr{+A.... 
#,Ccgg#D
 !5 6r'   c            
         [        [        / SQ5      u  pp#U " [        [        5      U " [        [        5      R	                  [        5      -   U " [        [        5      R	                  [        5      -   n[        U5      [        U " [        [        5      U" [        [        -
  5      [        [        * S-  [        S-  -
  5      -  5      :X  d   e[        XBS9[        U " [        [        5      U" [        [        -
  5      [        [        * S-  [        S-  -
  5      -  5      :X  d   e[        XCS9[        U " [        [        5      U" [        [        -
  5      [        [        * S-  [        S-  -
  5      -  5      :X  d   eg )N)rD   r   GHr;   )solvefun)r   r   r   r   rF   r   r   r   )rD   r   rc   rd   rO   s        r%   test_solvefunrf      s    X34JA!
Aa&1Qq6;;q>
!AaFKKN
2C3<2a1gqQxQBqD1Q3J'?@@@@3#r!Aq'1QU8C1qs
O3K'LLLL3#r!Aq'1QU8C1qs
O3K'LLLLr'   c                  b   [        [        SS/5      u  pU " [        [        5      nSU-  UR	                  [        5      -   UR	                  [        5      -   n[        U5      S:X  d   e[        U5      nU[        X!" [        [        -
  5      [        [        * [        -
  5      -  5      :X  d   e[        X45      S   (       d   eSSUR	                  [        5      -  U-  -   SUR	                  [        5      -  U-  -   n[        U5      S:X  d   e[        U5      nU[        X!" S[        -  S[        -  -
  5      [        [        S5      * [        -  S	-  [        S
5      [        -  S	-  -
  5      -  5      :X  d   e[        X45      S   (       d   eUSUR	                  [        5      -  -   SUR	                  [        5      -  -   n[        U5      S:X  d   e[        U5      nU[        X!" S[        -  S[        -  -
  5      [        S[        -  [        S5      -  S[        -  [        S5      -  -
  5      -  5      :X  d   e[        X45      S   (       d   e[        U-  [        UR	                  [        5      -  -   [        UR	                  [        5      -  -   n[        U5      n[        X45      S   (       d   eg )NrD   r   r;   rJ   r      rI                  iU   )r   r   r   r   rF   r   r   r   r   r   r   rM   rN   r=   rD   r   r"   r#   r`   s        r%   .test_pde_1st_linear_constant_coeff_homogeneousrp      s4   x#s$DA	!QA	
1qvvay166!9	$BIIII
"+C"Q!a%aR!V,----r"""	
aq	k!m	!&&)A	.BIIII
"+C"Q!A#!)S!B%"qtAvby)@%AABBBBr"""	
aq	k	aq	k	*BIIII
"+C"Q!A#!)SAaeac!B%i)?%@@AAAAr"""	
1q{	Qqvvay[	(B
"+Cr"""r'   c                     [        [        SS/5      u  pU " [        [        5      nSUR	                  [        5      -  SUR	                  [        5      -  -   SU-  -   [        [        S[        -  -   5      -
  n[        U5      nU[        U " [        [        5      U" S[        -  S[        -  -   5      [        [        S-  5      -  [        [        S[        -  -   5      S-  -   [        [        * 5      -  5      :X  d   e[        U5      S	:X  d   e[        X45      S
   (       d   eUR	                  [        5      U-  UR	                  [        5      U-  -   S-   [        [        [        -   5      U-  -
  n[        U5      nU[        U " [        [        5      U" [        [        -
  5      [        [        * S-  [        S-  -
  5      -  [        [        [        -   5      S-  -   5      :X  d   e[        U5      S	:X  d   e[        X45      S
   (       d   eSU-  UR	                  [        5      * -   SUR	                  [        5      -  -   [        [        5      -   n[        U5      nU[        U " [        [        5      U" S[        -  [        -   5      [        [        S-  S[        -  S-  -
  5      -  S[        [        5      -  S-  -
  [        [        5      S-  -
  5      :X  d   e[        U5      S	:X  d   e[        X45      S
   (       d   eX"R	                  [        5      -   UR	                  [        5      -   [        [        -  -   n[        U5      nUR                  5       [        U " [        [        5      [        [        -   [        [        -
  S-  S-  -   [        [        -   S-  S-  -
  U" [        [        -
  5      [        [        * S-  [        S-  -
  5      -  -   S-
  5      R                  5       :X  d   e[        U5      S	:X  d   e[        X45      S
   (       d   eX"R	                  [        5      -   UR	                  [        5      -   [        [        5      -   n[        U5      S	:X  d   eg )NrD   r   rh   rW   rI   r;      )1st_linear_constant_coeff"1st_linear_constant_coeff_Integralr   r<   )r   r   r   r   rF   r   r   r   r   r   r   r
   expandr	   ro   s        r%   "test_pde_1st_linear_constant_coeffrw      s   x#s$DA	!AA	AFF1I!&&)	#ac	)CAaCL	8B
"+C"QqVqsQqSy\#ac(SQqS\"_,c1"g57 7 7 7  * * * *r"""
&&)A+!&&)A+	&	*c!a%jl	;B
"+C"Qq!WaAhsA2a4!A#:6QUAEFFFF  * * * *r"""	
1q	z	AaffQiK	'#a&	0B
"+C"Qq!W	
1Q37C!ac!e$	$qQxz	1CF1H	<> > > >  * * * *r"""	
VVAY	"QqS	(B
"+C::<2a1g	AQ
1Az!|+aAhsA2a4!A#:.FFJLLRFHU U U  * * * *r"""	
VVAY	"SV	+B  * * * *r'   c                     [        [        SS/5      u  pU " [        [        5      nX"R	                  [        5      -   UR	                  [        5      -   [        S-  [        -  -   n[        USS9n/ SQn[        UR                  5       5      U:X  d   eUS   S:X  d   eUS	   S
:X  d   eUS
   R                  5       [        U " [        [        5      [        S-  * [        -  [        S-  -   S[        -  [        -  -   S[        -  -
  S[        -  -
  U" [        [        -
  5      [        [        * S-  [        S-  -
  5      -  -   S-   5      R                  5       :X  d   eg )NrD   r   r;   allhint)rt   ru   defaultorderr}   r<   r|   rt   rh   rl   )r   r   r   r   rF   r   sortedkeysrv   r   r   )rD   r   r"   r#   r`   r   s         r%   test_pdsolve_allr      s2   x#s$DA	!AA	
VVAY	"QT!V	+B
"U
#CBD#((*%%%w<1y>8888*+2241Q7	
Aa!Q$1Q1$qs*Qq1uXc1"Q$1*o-EEI9KKQ68T T Tr'   c                  l   [        [        SS/5      u  pU " [        [        5      n[        UR	                  [        5      -  [        UR	                  [        5      -  -
  [        S-  U-  -   [        S-  -
  n[        USS9nU[        X!" [        [        -  5      [        [        S-  S-  5      -  S-   5      :X  d   e[        X45      S   (       d   e[        S-  U-  [        UR	                  [        5      -  -   [        [        -  UR	                  [        5      -  -   n[        USS9nU[        X!" [        [        [        * 5      -  5      [        [        S-  * S-  5      -  5      :X  d   e[        X45      S   (       d   e[        [        S-  -  U-  [        UR	                  [        5      -  -   UR	                  [        5      -   n[        USS9nU[        X!" S[        -  [        S-  -   5      [        [        S	-  * S	-  5      -  5      :X  d   e[        X45      S   (       d   e[        [        5      S-  UR	                  [        5      -  [        -   n[        USS9nU[        U[        [        S[        -  5      -  S-  U" [        5      -   5      :X  d   e[        X45      S   (       d   e[        S[        -  5      UR	                  [        5      -  [        U-  -   U-
  n[        USS9nU[        X!" [        5      [        [        * [        S-
  -  [        S[        -  5      -  S-  5      -  5      :X  d   eg )
NrD   r   r;   rL   rz   r<   r   rr   rI   )	r   r   r   r   rF   r   r   r   r   ro   s        r%   test_pdsolve_variable_coeffr      s   x#s$DA	!QA	
AFF1IAFF1I	&Aa	/!Q$	6B
"6
7C"Q!A#s1a46{*Q.////r"""	
Aa!AFF1I+	!AFF1I	-B
"6
7C"Q!CG)S!Q$q\12222r"""	
1a4AaffQiK	!&&)	+B
"6
7C"Q"Q$A+sAqD57|34444r"""	QAFF1I		"B
"6
7C"Q#bd)A!,----r"""	QqS166!9	!	#a	'B
"6
7C"Q!S!QUC1I!5a!7889999r'   N)*sympy.core.functionr   r   r   sympy.core.relationalr   sympy.core.symbolr   r   &sympy.functions.elementary.exponentialr   r	   (sympy.functions.elementary.trigonometricr
   r   
sympy.corer   sympy.solvers.pder   r   r   r   r   r   sympy.testing.pytestr   rM   rN   r=   r   r   r&   r.   rB   rG   rU   ra   rf   rp   rw   r   r    r'   r%   <module>r      sx    ; $ / = ? ( ( ' $1aA@O/1d:B6*M#4#*LT:r'   