
    sh                     8   S SK Jr  S SK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  S SKJrJrJr  S SKJrJrJrJr  S S	KJr  S S
KJr  \" S5      r\" S5      u  rr\" S5      r\" S5      r\" S5      r S r!S r"S r#S r$S r%S r&\S 5       r'S r(\S 5       r)g)    )Function)Rational)Eq)Symbolsymbols)explog)sqrt)atansintan)classify_odecheckinfsoldsolveinfinitesimals)checkodesol)XFAILC1zx yfxietac                  <   [        S5      u  pp#pEpg[        [        5      R                  [        5      n[	        U[        S-  [        [        5      -  5      n	[        [        5      R                  [        5      U [        [        5      -  -   U[        U[        -  5      -  -
  n
[        [        5      R                  [        5      S[        -  [        [        5      -  -   [        [        [        S-  * 5      -  -
  nSS[        -  -   U-  S-   S[        [        [        5      * 5      -  -
  n[        [        5      R                  [        5      U[        S-  -  U[        S-  -  -   U[        S-  -  -   U[        -  -   U-   [        SS5      -  -
  n[        S-  U-  [        [        5      -
  [        S-  [        [        S[        -  -
  5      -  -   nXXX/n[        U	SS9nU[        [        [        [        5      5      [        [        S-  S-  5      [        [        [        [        5      5      S	0[        [        [        [        5      5      [        [        5      [        [        [        [        5      5      S	0[        [        [        [        5      5      S	[        [        [        [        5      5      [        S
-  0/:X  d   e[        U
SS9nU[        [        [        [        5      5      [        U * [        -  5      [        [        [        [        5      5      S	0/:X  d   e[        USS9nU[        [        [        [        5      5      [        [        S-  * 5      [        [        [        [        5      5      S	0/:X  d   e[        USS9nU[        [        [        [        5      5      S	[        [        [        [        5      5      S[        -  S-   0[        [        [        [        5      5      S	[        [        [        [        5      5      S[        [        [        5      5      S-
  -  0/:X  d   e[        USS9nU[        [        [        [        5      5      S[        [        [        [        5      5      S	0[        [        [        [        5      5      S	[        [        [        [        5      5      [        Xv[        -  -   U[        S-  -  -   U[        S-  -  -   U[        S-  -  -   5      0/:X  d   e[        USS9nU[        [        [        [        5      5      S	[        [        [        [        5      5      [        S[        -  5      0/:X  d   eUUUUUU/n[        UU5       H  u  n	n[        U	U5      nUS	   (       a  M   e   U[        [        5      [        -  [        [        [        S-  [        [        5      -  5      -  S-   -  -
  n[        USS9nU[        [        [        [        5      5      [        [        5      [        [        * 5      -  [        [        [        [        5      5      S	0/:X  d   e[        UU5      S	   (       d   e[        [        [        5      R                  [        5      -  S-   [        [        5      S-  -
  n[        USS9n[        UU5      S	   (       d   eg )Nza b c a4 a3 a2 a1 a0            abaco1_simplehintr   abaco1_productchi)r   r   xdiffr   r   r   r   r   r   r
   zipr   r	   )abca4a3a2a1a0dfeqeq1eq2eq3eq4eq5eqlistii1i2i3i4i5ilistcheckeq6eq7s                             z/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/sympy/solvers/ode/tests/test_lie_group.pytest_heuristic1rB      s   ")*@"AA!	
11B	B1QqT		B
A$))A,1Q4
!C!H*
,C
A$))A,1QqT
!Ac1a4%jL
0Cqs7B,
QsAaD5z\
)C
A$))A,"QT'Bq!tG+bAg51<rAHRQROS
SC
Q$r'AaD.1a4A1I.
.Cs*Fr0A#a1,AqDFR1Q4[!<	Q!qtR1Q4[!,	Q!q"Q!+q2w/1 1 1 1 
/	2B3q!A$<aRTBq!A$K;<<<<	/	2B3q!A$<adUR1Q4[!<====	/	2B3q!A$<Bq!A$K1q9	Q!q"Q!+q#ad)a-'89; ; ; ;	/	2B3q!A$<Bq!A$K3	Q!q
1adT"!t)bAg-1a47"QT'AB	DE E E E 
/	2B2a1;3q!A$<RT;<<<<BB#Efe$AB"Qxxx % !Q3q!tAaDy>)A-.
.Cs!12A#a1,!S!WbAaDk1=>>>>sAq!!!
QqTYYq\
Q
1q
(Cs'AsAq!!!    c            	         [        S5      u  p[        [        5      R                  [        5      n[        S-  U-  [        [        [        5      -  -   [        [        5      S-  -   [        S-  -   n[	        USS9nU[        [        [        [        5      5      [        [        5      [        [        [        [        5      5      [        0/:X  d   e[        X45      S   (       d   e[        S-  [        [        5      S-  * U-   -  U [        S-  -  [        [        5      -  -
  S-   U [        -  -
  n[	        USS9n[        X45      S   (       d   eg )Na br   	bivariater   r   )r   r   r$   r%   r   r   r   r   )r'   r(   r/   r0   r7   s        rA   test_heuristic3rG   E   s    5>DA	
11B	
Ab1QqT6	AaD!G	#ad	*Br,A#a1,!bAaDk156666ra   	
A!ax"}	qAvad{	*Q	.1	4Br,Ara   rC   c            	      `   [        [        5      R                  [        5      SS[        S-  [        [        5      S-  -  -   -  [        [        [        5      [        -  5      -  SS[        [        5      -  -
  [        -  -   SS[        [        5      -  -
  [        [        [        5      S-  -  -  -   -
  n [	        U SS9nU[        [        [        [        5      5      [        [        5      S-  [        S-  -   [        [        [        [        5      5      S0/:X  d   e[        X5      S   (       d   eg )Nr   r   r   function_sumr   r!   r   )r   r$   r%   r   r   r   r   r   )r0   r7   s     rA   test_heuristic_function_sumrJ   S   s    	
11A1QqT1W,-d1Q46l:a!AaD&j!^K	AadF
QqtQwY  
!Br/A#a1,!r
QW 4bAaDk1EFFFFra   rC   c            	         [        S5      u  p[        S5      n[        [        5      R	                  [        5      U" U [        -  U[        [        5      -  -   5      -
  n[        USS9nU[        [        [        [        5      5      U * U-  [        [        [        [        5      5      S0/:X  d   e[        X45      S   (       d   e[        [        5      R	                  [        5      [        [        5      S-  [        [        [        5      [        -
  5      [        S-  -
  S[        -  [        [        5      -  -   -  -
  n[        USS9nU[        [        [        [        5      5      [        [        5      S-  [        [        [        [        5      5      [        [        5      S-  0/:X  d   e[        X45      S   (       d   eg )NrE   Fabaco2_similarr   r   r   r   )
r   r   r   r$   r%   r   r   r   r   r   r'   r(   rL   r0   r7   s        rA   test_heuristic_abaco2_similarrO   [   s;   5>DAA	
11!A#!A$,	'Br 01A#a1,1bAaDk156666ra   	
111qC!qMAqD$81Q3qt8$CD	EBr 01A#a1,!aAqtadAg>????ra   rC   c            
         [        S5      u  p[        S5      n[        [        5      R	                  [        5      [        U S-
  -  [        [        5      SU-
  -  -  U" [        U -  U -  [        [        5      U-  U-  -   5      -  -
  n[        USS9nU[        [        [        [        5      5      [        [        5      * [        [        5      U* -  -  [        [        [        [        5      5      [        [        U * -  -  0/:X  d   e[        X45      S   (       d   e[        [        5      R	                  [        5      [        U" [        S-  [        [        5      S-  -   5      [        [        [        [        5      -  5      -   5      -   n[        USS9nU[        [        [        [        5      5      [        [        [        [        [        5      5      [        [        5      * 0/:X  d   e[        X45      S   (       d   e[        [        [        5      R	                  [        5      -  [        [        5      -   S[        -  -   S-  S[        -  [        [        5      -  -
  S[        S-  -  -
  SU -  -
  n[        USS9n[        X45      S   (       d   eg )	NrE   rL   r   abaco2_unique_unknownr   r   r   r   )r   r   r   r$   r%   r   r   r   r   r   r   rN   s        rA   $test_heuristic_abaco2_unique_unknownrR   i   s   5>DAA	
11AE
AaD1q5M21QT!VadAgai5G3HH	HBr 78A#a1,1adaRj 0"Q!+qaRyIJJJJra   	
11AadQqT1Wn-QqtV<=	=Br 78A#a1,2a1;167777ra   
AaDIIaL.1Q4
!A#
%	)1Q3qt8	3Qq!tV	;QqS	@Br 78Ara   rC   c                     [        S5      u  pp#[        X2S-   -  U-
  -  [        [        5      R                  [        5      -  U [        [        5      U-  -  -
  U[        X2S-   -  -  -  -
  n[	        USS9n[        XE5      S   (       d   eg )Nza b m nr   linearr   r   r   r$   r   r%   r   r   )r'   r(   mnr0   r7   s         rA   test_heuristic_linearrX   |   sy    #JA!	
QAY]	QqTYYq\	*QqtQwY	6!aQi.8H	HBr)Ara   rC   c                     [        S5      u  pp#[        S-  U [        [        5      S-  -  [        [        5      R                  [        5      -   -  U[        U-  -  -   U-   n[	        USS9n[        XE5      S   (       d   eg )Nza b alpha cr   sum_functionr   r   rU   )r'   r(   alphar)   r0   r7   s         rA   
test_kamker\      sl    ]+NA%	
Aq1qy!A$))A,'	(1QX:	5	9Br/Ara   rC   c                  ~   [        S5      n U [        U 5      R                  U 5      -  S-   [        U 5      S-  -
  n[        [        U 5      [        U S-  -   [        U S-  -
  -  5      n[        [        U 5      S-
  5      [        [        U 5      S-   5      -  SS.n[        U4SS0UD6U:X  d   e[        X5      S:X  d   eg )	Nr$   r   r   r   )r   r   r    	lie_group)Tr   )r   r   r%   r   r   r
   r   r   )r$   r0   solr   s       rA   test_user_infinitesimalsr`      s    sA	
AaDIIaL	A	!a	'B
QqTBAIQT	*
+C!q>$qtax.8BN"9;9.9S@@@r9,,,rC   c                      [        [        [        5      R                  [        5      [        [        5      -
  5      n S[	        U [        [        5      5      ;  d   eg )Nr^   )r   r   r$   r%   r   )eqns    rA   test_lie_group_issue15219rc      s:    
adiil1Q4
 Cl3!5555rC   N)*sympy.core.functionr   sympy.core.numbersr   sympy.core.relationalr   sympy.core.symbolr   r   &sympy.functions.elementary.exponentialr   r	   (sympy.functions.elementary.miscellaneousr
   (sympy.functions.elementary.trigonometricr   r   r   sympy.solvers.oder   r   r   r   sympy.solvers.ode.subscheckr   sympy.testing.pytestr   r   r$   yr   r   r   rB   rG   rJ   rO   rR   rX   r\   r`   rc    rC   rA   <module>rp      s    ( ' $ / = 9 E E Q Q 3 & D\u~1SMd^uo+"\!!!!&! ! !- 6 6rC   