
    \h|                        S SK Jr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 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  S S
KJrJrJr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+  S SK,J-r-  S SK.J/r/J0r0J1r1J2r2J3r3  S SK4J5r5  S SK6J7r7  S SK8J9r9  S SK:J;r;J<r<J=r=J>r>  S SK?J@r@  \" S5      u  rArBrCrDrErFrGrHrIrJrK\" SSS9u  rLrMrNrO\" S5      rP\" S5      rQ\" S5      rRS rSS rTS  rU\=S! 5       rVS" rWS# rXS$ rYS% rZS& r[S' r\\;S( 5       r]S) r^S* r_S+ r`S, raS- rbS. rcS/ rdS0 reS1 rfS2 rgS3 rhS4 riS5 rj\=S6 5       rkS7 rlS8 rmS9 rnS: roS; rpS< rqS= rrS> rsS? rtS@ ru\>" SA5      SB 5       rvgC)D    )
DerivativeFunctionSubsdiff)EIRationalpi)Eq)S)Symbolsymbols)imre)explog)acosh)sqrt)atan2cossintan)Integral)Poly)O)collect)classify_odehomogeneous_orderdsolve)checkodesol)classify_sysodeconstant_renumberconstantsimpget_numbered_constants	solve_ics) _undetermined_coefficients_match)LinearCoefficients)	ode_order)XFAILraisesslowSKIP)
filldedentzC0:11zu,x:zTrealfghc                  l    [        [        5         [        S 5        S S S 5        g ! , (       d  f       g = fN)r*   
ValueErrorr$        X/var/www/auris/envauris/lib/python3.13/site-packages/sympy/solvers/ode/tests/test_ode.pytest_get_numbered_constantsr9   0   s    	
	t$ 
		s   %
3c                  (   [        [        5      R                  [        5      n [        U SS9nUS   nUR                  R
                  S   S   nUS   nUR                  R
                  S   R
                  S   S   n0 S[        [        [        5      [        [        S[        5      -   5      _S[        [        [        5      [        5      _S	[        [        [        5      [        5      _S
[        [        [        5      [        5      _S[        [        [        5      [        5      _S[        [        [        5      [        5      _S[        [        [        5      [        5      _S[        [        [        5      [        5      _S[        [        [        5      [        5      _S[        [        [        5      [        5      _S[        [        [        5      [        [        S[        5      -   5      _S[        [        [        5      [        5      _S[        [        [        S[        5      [        SU5      -   U[        [        5      5      [        5      _S[        [        [        5      [        5      _S[        [        [        5      [        5      _S[        [        [        5      [        [        SU-  U[        [        5      [        -  45      -   5      _S[        [        [        5      [        5      _[        [        SU[        [        5      45      [        [        S[        5      -   5      [        [        [        5      [        5      [        [        [        5      [        5      S
S
SS.EnX:X  d   e[        U SS9[        [        [        5      [        5      :X  d   eg )Nallhintseparable_Integral   r   11st_homogeneous_coeff_subs_dep_div_indep_IntegralBernoulli_Integral1st_homogeneous_coeff_best	Bernoullinth_algebraicnth_linear_euler_eq_homogeneous%nth_linear_constant_coeff_homogeneous	separable(1st_homogeneous_coeff_subs_indep_div_depnth_algebraic_Integral
1st_linear1st_linear_Integral	1st_exact1st_exact_Integral	lie_group(1st_homogeneous_coeff_subs_dep_div_indep1st_power_series)r>   11st_homogeneous_coeff_subs_indep_div_dep_Integralbest	best_hintdefaultorderrS   )r0   xr   r   lhsargsrhsr   C1r   r   r   )eqoutputsol1_y_u1expecteds         r8   test_dsolve_all_hintrb   5   s   	
11BBU#F &'D	q	!	BEFD
((--



"1
%C$b1rHQN/B&C $b1rlR!b\ 	AaD" 	*2adB<	
 	0AaD" 	R!b\ 	3BqtRL 	!"QqT2, 	b1rl 	r!A$Xa^(;< 	R!b\ 	bhq!nx2&FAaD!QSUV 	R!b\ 	3BqtRL 	<RAXVXY\V\_bdefgdhijdj^kMlHl=m  	BqtRL!" !!b!A$Z!8"x1~:MN=?!b\1Q4$"-H. "6"b1rl222r7   c            	          [        [        5         [        [        [        5      R                  [        5      [        [        [        5      5      -
  [        S5      S0S9  S S S 5        g ! , (       d  f       g = f)Nr?   ics)r*   NotImplementedErrorr   r0   rW   r   r   r6   r7   r8   test_dsolve_icsrg   [   sB    	#	$qtyy|d1Q4j(qtAh7 
%	$	$s   AA((
A6c                    ^ [         [        [         5      R                  [         5      -  [        [         5      -   m[        TSS9n [        TSSS9n[        TSS9n/ SQn/ SQn[	        U R                  5       5      U:X  d   eU S   [        T[        [         5      5      :X  d   eU S	   [        [        [         5      [        [         -  5      :X  d   e[        TS	S9[        [        [         5      [        [         -  5      :X  d   eU S
   S:X  d   eU S   S:X  d   eU S   R                  [        5      (       a   eU S   R                  [        5      (       a   eU S   R                  [        5      (       a   eU S   R                  [        5      (       a   eU S   R                  [        5      (       a   eU S   R                  [        5      (       a   eU S   R                  [        5      (       d   eU S   R                  [        5      (       d   eU S   R                  [        5      (       d   eU S   R                  [        5      (       d   eU S   R                  [        5      (       d   e[	        UR                  5       5      U:X  d   eUS   [        T[        [         5      5      :X  d   eUS	   [        [        [         5      [        [         -  5      :X  d   e[        TS	SS9[        [        [         5      [        [         -  5      :X  d   eUS
   S:X  d   eUS   S:X  d   eU S   US   :w  d   eU S   US   :w  d   eU S   US   :w  d   eUS   R                  [        5      (       a   eUS   R                  [        5      (       a   eUS   R                  [        5      (       a   eUS   R                  [        5      (       a   eUS   R                  [        5      (       a   eUS   R                  [        5      (       a   eUS   R                  [        5      (       d   eUS   R                  [        5      (       d   eUS   R                  [        5      (       d   eUS   R                  [        5      (       d   eUS   R                  [        5      (       d   e[	        UR                  5       5      U:X  d   e[        [        U4S j5        [        [        U4S j5        [        [        [         5      R                  [         5      S[        [         5      S-  -  -
  SS9S	   [        [        [         5      R                  [         5      S[        [         5      S-  -  -
  S	S9:X  d   e[        [        [         5      [        [         5      R                  [         5      -   [        [         5      R                  [         5      -   S-   [        [         5      SS9[        [        [         5      [        [        [        [         5      R                  [         5      * S-
  [        [        S[         5      5      -  [         5      -   [        [        S[         5      * 5      -  5      :X  d   eg )Nr;   r<   F)r=   simplifyall_Integral)rL   rM   rB   rO   r@   rH   rR   rJ   rK   rC   rA   almost_linearalmost_linear_IntegralrS   rT   rU   
factorablerN   rE   rV   rG   r>   )rM   r@   rR   rK   rA   rl   rS   rT   rU   rm   rE   rV   r>   rV   rS   rU   rm   rT   rL   rG   rB   rO   rH   rJ   rK   rM   r@   rR   r>   c                     > [        T SS9$ )Nnotarealhintr<   r   r\   s   r8   <lambda>%test_dsolve_options.<locals>.<lambda>   s    vb~>r7   c                     > [        T SS9$ )N	Liouviller<   rp   rq   s   r8   rr   rs      s    vb{;r7   r?      )rW   r0   r   r   sortedkeysr(   r   r[   hasr   r*   r5   r   r   )abcrx   Integral_keysr\   s        @r8   test_dsolve_optionsr~   a   s   	
1Q499Q<!A$	BrAr.Ar'A	+D'M !&&(t###W:2qt,,,,V91Q4A&&&"6"b1r!tn444Y<<'''[>\)))~!!(++++~!!(++++-.228<<<<;<@@JJJJ;<@@JJJJ""8,,,,"#''1111!"&&x0000@AEEhOOOO@AEEhOOOO!"&&x0000!&&(t###W:2qt,,,,V91Q4A&&&"6E2b1r!tnDDDY<<'''[>\)))[>Q{^+++78	
456 6 678	
456 6 6~!!(++++~!!(++++-.228<<<<;<@@JJJJ;<@@JJJJ""8,,,,"#''1111!"&&x0000@AEEhOOOO@AEEhOOOO!"&&x0000!&&(},,,
:>?
:;<!A$))A,1Q47*7?qtyy|a!ai'f56 6 6!A$11%AA6:AaD,.
1Q4"x#a&++a.1!4HQN#!$%&( (),hq!n_)=> 	?? ? ?r7   c            	         [        [        [        5      R                  [        S5      [        [        5      5      S:X  d   e[        [        [        5      [        [        5      5      S:X  d   e[        [	        [        [        5      R                  [        5      S5      [        [        5      5      S:X  d   e[        [        [        5      R                  [        5      S-  [        [        5      5      S:X  d   e[        [	        [        [        5      R                  [        5      [        [        5      -   [        5      [        [        5      5      n [        [        [        5      R                  [        5      [        [        5      -  [        [        5      [        [        5      -  -   [        [        [        5      -  -
  [        [        5      5      n[        [        [        5      R                  [        5      [        [        5      -  [        [        5      [        [        5      -  -   [        [        [        5      -  -
  [        [        5      5      nU S:X  d   eUS:X  d   eUS:X  d   e[        S[        -  [        [        5      -  [        [        5      R                  [        5      -  S	[        -   [        [        5      S-  -  -   [        [        5      -
  [        [        5      5      S
:X  d   eS[        S[        [        5      R                  [        5      -  [        [        5      S-  -   [        [        5      [        -  -
  S[        S-  -  -   [        [        5      5      ;   d   e[        [        S 5        [        S5      n[        [        [        5      R                  [        5      U[        [        5      -  U[        -  [        [        5      -  -   -  S[        [        5      -  U[        [        5      -  U[        -  [        [        5      -  -   -  -   [        [        [        5      R                  [        5      -  U[        [        5      -  U[        -  [        [        5      -  -   -  -   [        -   [        [        5      5      S:X  d   eSn[        [        [        [        5      [        -   [        5      [        [        [        5      [        5      -   5      U:X  d   e[        [        [        [        5      [        -   [        5      [        [        [        5      [        5      -   [        [        5      SS9U:X  d   e[        [	        S[        S-  -  [        [        5      R                  [        5      -  S5      [        [        5      5      S:X  d   e[        [	        S[        [        5      S-  -  [        [        5      R                  [        5      -  S5      [        [        5      5      S:X  d   e[        [	        [        [        [        5      [        5      [        [        5      [        -  -
  S5      [        [        5      5      S:X  d   e[        [        [	        [        [        5      S5      [        [        5      SS9[        5      (       d   e[        [        [	        [        [        5      R                  [        5      S5      [        [        5      SS9R                  5       5      / SQ:X  d   e[        S[        -  [        [        5      -  [        [        5      R                  [        5      -  S	[        -   [        [        5      S-  -  -   [        [        5      -
  [        [        5      SSS9n [        U R                  5       5      / SQ:X  d   e[        [        [        5      R                  [        5      [        [        [        5      [        -
  5      -
  [        [        5      5      n U S:X  d   eg )Nrv   )rD   rF   rE   ru   2nd_power_series_ordinaryrI   Liouville_Integral)rD   rI   r   )rD   rG   rL   rJ   rC   rB   rH   rO   rQ   rN   rF   rE   rI   r>   rM   rK   rA   rR   r@   )rm   rD   rG   rL   rJ   rC   rB   rH   rO   rQ   rN   rE   rI   r>   rM   rK   rA   rR   r@   )rL   rJ   rC   rk   rQ   rN   3nth_linear_constant_coeff_undetermined_coefficients1nth_linear_constant_coeff_variation_of_parametersrM   rK   rA   rl   :nth_linear_constant_coeff_variation_of_parameters_Integral)
rm   rJ   rC   rQ   rN   r   r   rK   rA   r   r?   )rm   rL   rC   rk   rN   rM   rA   rl   Riccati_special_minus2   c                      [        [        [        [        [        5      R	                  [        5      R	                  [        5      -   [        [        [        5      5      $ r4   )r   rW   r0   yr   r6   r7   r8   rr   #test_classify_ode.<locals>.<lambda>  s7    |A!QQ0D0D	1 -aG r7   k)rm   rG   rL   rJ   rC   rQ   rN   r>   rM   rK   rA   )rm   rD   rG   rL   rJ   rC   rB   rH   rO   rQ   rN   r   <nth_linear_euler_eq_nonhomogeneous_undetermined_coefficientsr   :nth_linear_euler_eq_nonhomogeneous_variation_of_parametersrI   r>   rM   rK   rA   rR   r@   r   Cnth_linear_euler_eq_nonhomogeneous_variation_of_parameters_IntegralT)prep)rm   rD   rG   rL   rJ   rC   rQ   rN   rE   rI   r>   rM   rK   rA   )rm   rD   rG   rL   rJ   rC   rQ   rN   rI   r>   rM   rK   rA   )rQ   rN      dict)rU   rF   rV   rC   r   r=   )rC   rA   rU   rV   ordered_hints)rG   rL   rQ   rN   r>   rM   )r   r0   rW   r   r   r   r*   r5   r   z
isinstancer   rw   rx   )rz   r{   r|   r   anss        r8   test_classify_oder      s   !		!Q1.	
	
 	
 	
 !ad#'RRRR1Q499Q<+QqT2 7= = = =& !		!a1. 3> > > >( 	R!		!qt+Q/16AQqTYYq\!A$&1ad2QqtV;QqTBAQqTYYq\!A$&1ad2QqtV;QqTBA F F F F  	G 	G 	G 	G  	G 	G 	G 	G 	!AaD11Q!a/#a&8!A$
NN N N $Qqtyy|^adAg-!Q61r7BAaDIJ J J
:   	sA!		!a!fqs1Q4x&781QqT61QqT6	!AaDD < adiilNAadFQqS1X$5679:;<=aDB	55 5 5OC$ QqTAXq)D1qM9:cAAAQqTAXq)D1qM91Q4!#&)* * * 1QT6!A$))A,.2AaD9	66 6 6 1QqT1W9QqTYYq\115qt<	   4!a=1Q472A6!=)* * *l2adA;!4@$GGGG ,r!A$))A,2AaDtDIIKLEF F FQqS1Xadiil*a!eQqT1W_<s1vEqtRV]hiA!&&(gggg 	QqTYYq\C!qM11Q48A    r7   c                    ^ ^ [        [        5      R                  [        [        5      [        [        5      -
  m [        S0m[        [        U U4S j5        [        S5      S0m[        [        U U4S j5        [        [        5      S0m[        [        U U4S j5        [        SS5      S0m[        [        U U4S j5        [        S5      [        [        5      0m[        [        U U4S j5        [        S5      [        S5      0m[        T [        [        5      TS9  [        S5      S0m[        T [        [        5      TS9  [        [        5      R                  [        5      R                  [        S5      S0m[        [        U U4S	 j5        [        [        5      R                  [        5      R                  [        [        5      S0m[        [        U U4S
 j5        [        [        5      R                  [        5      R                  [        S5      S0m[        [        U U4S j5        [        [        [        5      R                  [        5      R                  [        S5      S0m[        [        U U4S j5        [        [        [        5      [        [        5      R                  [        S5      S0m[        [        U U4S j5        [        [        5      R                  [        5      R                  [        S5      [        [        5      0m[        [        U U4S j5        [        [        5      R                  [        5      R                  [        S5      [        [        5      R                  [        5      R                  [        S5      0m[        T [        [        5      TS9  [        [        5      R                  [        5      R                  [        S5      S0m[        T [        [        5      TS9  [        [        5      R                  [        5      R                  [        [        5      S0m[        [        U U4S j5        [        [        5      R                  [        5      R                  [        [        5      S0m[        [        U U4S j5        [        [        [        5      R                  [        5      R                  [        [        5      S0m[        [        U U4S j5        [        [        [        5      [        [        5      R                  [        [        5      S0m[        [        U U4S j5        [        [        5      R                  [        5      R                  [        [        5      [        [        5      0m[        [        U U4S j5        [        [        5      R                  [        5      R                  [        S5      [        S5      0m[        T [        [        5      TS9  [        [        5      R                  [        5      R                  [        [        5      S0m[        T [        [        5      TS9  g )Nr?   c                  4   > [        T [        [        5      TS9$ Nrd   r   r0   rW   r\   re   s   r8   rr   'test_classify_ode_ics.<locals>.<lambda>N      |B!#>r7   r   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r   X  r   r7   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r   \  r   r7   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r   `  r   r7   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r   d  r   r7   rd   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r   u  r   r7   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r   y  r   r7   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r   }  r   r7   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r     r   r7   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r     r   r7   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r     r   r7   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r     r   r7   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r     r   r7   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r     r   r7   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r     r   r7   c                  4   > [        T [        [        5      TS9$ r   r   r   s   r8   rr   r     r   r7   )r0   rW   r   r*   r5   r1   r   subsr   r   r   r   s   @@r8   test_classify_ode_icsr   H  s   	
11a1Q4	B a&C
:>? Q4)C
:>? Q4)C
:>? Q7A,C
:>? Q41,C
:>? Q41,CQqTs# Q4)CQqTs# Q499Q<Q"A
&C
:>? Q499Q<Q"A
&C
:>? Q499Q<Q"A
&C
:>? Q7<<?1%q
)C
:>? adAq!&&q!,a
0C
:>? Q499Q<Q"AaD
)C
:>? Q499Q<Q"AaDIIaL$5$5a$;
<CQqTs# Q499Q<Q"A
&CQqTs# Q499Q<Q"A
&C
:>? Q499Q<Q"A
&C
:>? Q7<<?1%q
)C
:>? adAq!&&q!,a
0C
:>? Q499Q<Q"AaD
)C
:>? Q499Q<Q"AaD
)CQqTs# Q499Q<Q"A
&CQqTs#r7   c                     [        SSS9u  pp#[        SSS9u	  pEpgppn[        S[        S9u  pnnnn[        S[        S9u  nnnnnnn[        S[        S9u  nnn[        S	5      n[        U" U5      U5      n[        U" U5      U5      n[        U[	        U U" U5      -  5      U" U" U5      U" U5      5      -  5      [        UU" U" U5      5      U" U" U5      U" U5      5      -  5      4n S
SU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4S0SU" U5      U" U5      /SU" U" U5      U" U5      5      * [	        U U" U5      -  5      -  [        U" U5      U5      -   U" U" U5      U" U5      5      * U" U" U5      5      -  [        U" U5      U5      -   /U" U5      SU" U5      S0S.n![        U 5      U!:X  d   e[        UU" U5      S
-  U" U5      U" U5      -  -   5      [        UU" U5      U" U5      -  5      4n"S
SU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SU" U5      -  SU" U5      S4SSU" U5      S4SU" U5      -  SU" U5      S4S0SU" U5      U" U5      /SU" U5      S
-  * [        U" U5      U5      -   U" U5      U" U5      -  -
  U" U5      * U" U5      -  [        U" U5      U5      -   /U" U5      SU" U5      S0S.n#[        U"5      U#:X  d   e[        UU" U" U5      5      U" U" U5      5      -  U" U" U5      U" U5      U5      -  5      [        UU" U" U5      5      U" U" U5      5      -  U" U" U5      U" U5      U5      -  5      4n$U" U5      U" U5      /SSU" U" U5      5      * U" U" U5      5      -  U" U" U5      U" U5      U5      -  [        U" U5      U5      -   U" U" U5      5      * U" U" U5      5      -  U" U" U5      U" U5      U5      -  [        U" U5      U5      -   /SU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4S0U" U5      SU" U5      S0S
S.n%[        U$5      U%:X  d   e[        UU" U5      U" U5      S-  -  5      [        UU" U5      S-  5      4n&S
SU" U5      S4U" U5      S-  * SU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4S0SU" U5      U" U5      /SU" U5      * U" U5      S-  -  [        U" U5      U5      -   U" U5      S-  * [        U" U5      U5      -   /U" U5      SU" U5      S0S.n'[        U&5      U':X  d   e[        UU" U5      U" U5      -  [        U5      S
-  -  5      [        UU" U5      S
-  [        U5      S
-  -  5      4n(S
SU" U5      S4U" U5      * [        U5      S
-  -  SU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4SSU" U5      S4U" U5      * [        U5      S
-  -  SU" U5      S4S0SU" U5      U" U5      /SU" U5      * U" U5      -  [        U5      S
-  -  [        U" U5      U5      -   U" U5      S
-  * [        U5      S
-  -  [        U" U5      U5      -   /U" U5      SU" U5      S0S.n)[        U(5      U):X  d   eg )Nz
k, l, m, nT)Integerz"k1, k2, k3, l1, l2, l3, m1, m2, m3zP, Q, R, p, q, rclszP1, P2, P3, Q1, Q2, R1, R2zx, y, ztrv   r   r?   type2F)no_of_equation
func_coefftype_of_equationfunc	is_linearr\   rV   rP   type3type4)r   r   r   r\   r   rV   r   r   r   type1)r   r   r   r   r   r   r!   r   )*r   lmnk1k2k3l1l2l3m1m2m3PQRpqrP1P2P3Q1Q2R1R2rW   r   r   r   x1y1eq6sol6eq7sol7eq8sol8eq11sol11eq13sol13s*                                             r8   test_classify_sysoder     s    t4JA!)01U_c)d&BBBBB1x@A!Q1!()E8!TBBBBiX.GAq!A	ad1B	ad1Bb#a!f+a!QqTl*+R1QqT71QqT!A$<3G-H
ICAaD!a!QqT1qSTVWXYVZ\]R^`adeghijgkmncoqr!aL!a1q\1q!A$lA1Q4|Q0H]dqT1Q4Lua!adm^C!A$K-G*UVWXUY[\J]-]`abcdebfaDa
 `

AaD'`qtQ'`( -)45aD!QqT13EGD 34'''b!A$'!A$qt)#$bQqT!A$Y&7
8CAaD!a!QqT1qSTVWXYVZ\]R^`adeghijgkmncoqr!aL"QqT'AqtQ<Q!aL"QqT'AqtQ<QR0TipqT1Q4LuadAgX
1Q4QR@S5SVWXYVZ[\]^[_V_5_bcdebfafghijgkakqtQb 5$%aD!QqT1#57D 34'''b"QqT(2ad8#Aad1Q4N23RBqtHR!X<MaPQRSPTUVWXUYZ[n<\5]
^CqT1Q4Lu'1hYr!A$x!A$!a((:adA+>>AaD	"QqT(@RSTUVWXUY[\]^[_abSc@cqtQA *+QqT1q1adA,AqQRtUV<YZ]^`abc`dfg\hjk!aL!a1q\1q!A$lA1Q4|Q)HSTUVSWYZ\]^_\`bcRdxy{D 34'''r!A$qtQw,BqtQw0D !QqT1!ax!QqTSTWX[\^_`a^bdeZfhi!aL!a1q\1q!A$lA1Q4|QAaDRSVW1YadAaD\qteAaD!GmjYZ[\Y]_`Na>aqT1WHz!A$"">$/0tQ!a.@BE 4 E)))r!A$qt)CFAI%&2adAgc!fai.?(@AD !QqT1!uSVQYQRTUVWTXZ[P\^_bcefgheiklamop!aL!a1q\1q!A$lA1Q4|adU3q6ST9_WXZ[\]Z^`aVbde1g!A$!ESTUVSWRWXYZ[X\R\]`ab]cef]fRfqtQSA$'#a&!)+j1q.AARCNOPQdTUWXYZW[]^M_aE 4 E)))r7   c                  "   [        [        [        5      R                  [        5      S[        [        5      -  -
  [        [        5      [        S5      S0S9[	        [        [        5      [        S[        -  S-   5      5      :X  d   e[        [        [        5      R                  [        5      [        [        5      -
  [        [        5      [        S5      S0S9[	        [        [        5      [        [        5      5      :X  d   e[        [        [        5      R                  [        5      [        [        5      -
  [        [        5      [        [        5      R                  [        5      R                  [        S5      S0S9[	        [        [        5      [        [        5      5      :X  d   e[        [        [        5      R                  [        [        5      [        [        5      -   [        [        5      [        S5      S[        [        5      R                  [        5      R                  [        S5      S0S9[	        [        [        5      [        [        5      [        [        5      -   5      :X  d   e[        [        [        5      R                  [        5      [        [        5      -
  [        [        5      -   [        [        5      R                  [        5      [        [        5      -
  [        [        5      -
  /[        [        5      [        [        5      /[        S5      S[        S5      S0S9[	        [        [        5      [        [        5      [        [        5      -  5      [	        [        [        5      [        [        5      [        [        5      -  5      /:X  d   e[        S-  [        [        5      S-  -  [        -
  R                  [        5      n [        U [        [        5      [        S5      S0S9[	        [        [        5      [        [        S-
  5      * [        -  5      [	        [        [        5      [        [        S-
  5      [        -  5      /:X  d   e[        U [        [        5      [        [        5      R                  [        5      R                  [        S5      S0S9[	        [        [        5      [        [        [        R                  -
  5      * [        -  5      [	        [        [        5      [        [        [        R                  -
  5      [        -  5      /:X  d   e[        [        [        5      5      [        [        [        [        5      5      -  [        [        5      S-  -
  [        [        5      R                  [        5      -  -
  n [        U [        [        5      [        S5      S0SSS9[	        [        [        [        [        5      5      -  [        [        5      S-  S-  -   [        SS5      5      :X  d   e[        U [        [        5      [        S5      S0SS	S9[	        [        [        [        [        5      5      -  [        [        5      S-  S-  -   [        SS5      5      :X  d   e[        [	        [        [        5      [        [        [        5      -  5      /[        [        5      /[        /[        S5      S05      [        S0:X  d   e[        [	        [        [        5      [        [        [        5      -  [         [        [        5      -  -   5      /[        [        5      /[        [         /[        S5      S[        ["        S-  5      S05      [        S[         S0:X  d   e[        [	        [        [        5      [        [        [        5      -  [         [        [        5      -  -   5      /[        [        5      /[        [         /[        S5      S[        [        5      R                  [        5      R                  [        S5      S05      [        S[         S0:X  d   e[        [	        [        [        5      [        [        [        5      -  [         [        [        5      -  -   5      /[        [        5      /[        [         /[        S5      S05      [         S0:X  d   e[%        [        [        [        5      R                  [        5      [        [        5      R                  [        S5      [        -
  -  [        S5      S[        [        5      R                  [        5      R                  [        S5      S0S95      [	        [        [        5      S5      [	        [        [        5      [        S-  S
-  [        S-  -
  5      1:X  d   e[%        [        [        [        5      R                  [        5      [        [        5      R                  [        S5      [        -
  -  [        S5      S0S95      [	        [        [        5      S5      [	        [        [        5      [         [        -  [        S-  S
-  -   5      1:X  d   e['        S5      u  pn[	        [        [        5      X-  [        U[        -  5      -  U* U-   U[        U[        -  5      -  U* U-   -  S-
  -  -  5      n[        [	        [        [        5      R                  [        5      U[        [        5      -  S[        [        5      U-  -
  -  5      [        [        5      [        S5      U0S9U:X  d   e[%        [        [        [        5      R                  [        5      [        [        5      R                  [        S5      [        -
  -  [        [        5      R                  [        5      R                  [        S5      S[        S5      S0S95      [	        [        [        5      S5      [	        [        [        5      [        S-  S
-  5      1:X  d   e[%        [        [        [        5      R                  [        5      [        [        5      R                  [        S5      [        -
  -  [        S5      S[        [        5      R                  [        5      R                  [        S5      S0S95      [	        [        [        5      S5      [	        [        [        5      [        S-  S
-  5      1:X  d   e[)        [*        S 5        [)        [*        S 5        ['        S5      u  pVn[	        [        [        5      [        [         [        -  -   [,        [        S-  -  -   [.        [        S-  -  -   U[        S-  -  SU-  -  -   5      /n[        [        5      /n	[        [         [,        [.        /n
[        S5      S[        [        5      R                  [        5      R                  [        S5      S[        U5      R                  US5      S[        U5      R                  US5      S0n[        S5      S[        [        5      R                  [        5      R                  [        S5      S[1        [        [        5      R                  [        S5      [        U5      S[1        [        [        5      R                  [        S5      [        U5      S0n[        XX5      n[        XX5      nXs=:X  a5  [        S[         S[,        US-  U-  SU-  -  [.        U* U-  S
U-  -  0:X  d   e   e[        S5      [        S5      0n[        [        [        5      R                  [        5      [        [        5      -
  [        [        5      US9[	        [        [        5      [        S5      [        [        5      -  5      :X  d   e[        [        5      R                  [        5      R                  [        S5      [        [        5      R                  [        5      R                  [        S5      [        S5      [        S5      0n[        [        [        5      R                  [        [        5      [        [        5      -   [        [        5      US9[	        [        [        5      [        S5      [        [        5      -  [        [        5      R                  [        5      R                  [        S5      [        [        5      -  -   5      :X  d   eg )Nr?   rv   rd   r   rL   F)re   r=   ri   r   T   zK r f0c            
         [        [        [        [        5      [        [        [        5      -  [        [        [        5      -  -   5      /[        [        5      /[        [        /[        S5      S[        [        5      S05      $ )Nr   r?   )	r%   r   r0   rW   r[   r   C2r   r
   r6   r7   r8   rr    test_solve_ics.<locals>.<lambda>  sX    y"QqT2c!f9r#a&y3H*I)JQqTFUWY[T\_`ab_cefhijlhmop^qrr7   c            
         [        [        [        [        5      [	        [
        [        S-  -
  5      5      /[        [        5      /[
        /[        [        5      R                  [        5      R                  [        S5      S05      $ )Nrv   r   )r%   r   r0   rW   r   r[   r   r   r6   r7   r8   rr   r     sY    y"QqT4QT	?*C)DqtfrdUVWXUYU^U^_`UaUfUfghjkUlnoTpqr7   zEI q L      )r   r0   rW   r   r   r   r   r   r   r   r1   r   Halfr	   r%   r[   r   r
   setr   r*   r5   C3C4r   )r\   Kr   f0solEIr   Lsolsfuncs	constantsics1ics2solved_constants1solved_constants2re   s                   r8   test_solve_icsr     s   !A$))A,1Q4'1AaD!9=
1Q4a!eai!" " "!A$))A,1%qt!A$;r!A$A?OOOO!A$))A,1%qt!A$))A,2C2CAq2I11MNRTUVWXUY[^_`[aRbbbb!A$))Aq/AaD(!A$QqT1	!		!!Q5$ %(*1Q4Q#a&(AB B B1Q499Q<!A$&1-qtyy|ad/BQqT/IJ	
1qt1Q4AaD!,.24QqT3q6#a&=2I2aPQdTWXYTZ[^_`[aTaKb1cd d d Q$qtQw,
	 	 	#B"ad1q	*r!A$	a!eQ0AaD$q1u+a-0/2 2 2 2"ad11!2!21a!8! <="QqT	a!&&j	!C 1tAJ'7'9:B< < < < 
QqTaAaD	kAaD!G+QqTYYq\9	9B"adqT!H;8;=aAaD	kAaDRSGTUI>UW_`acdWe;fg g g"adqT!H;7:<Qs1Q4y[1Q4QR7ST9=TV^_`bcVd:ef f f b1r#a&y)*QqTFRD1Q4)DQOOOb1r#a&y2c!f94561R	
1q!BqD'1#%q"a.1 1 1 b1r#a&y2c!f94561R	
1q!A$))A,##Aq)1-/35q"a.A A A b1r#a&y2c!f94561R1Q4QR)T	Q  
 vadiilAaDIIaOA$56QqT!QqTYYq\EVEVWXZ[E\]^<_`a	AaD!b1qAvzAE1234 4 4vadiilAaDIIaOA$56QqT!HEF	AaD!b1r!tad1f}-./ / / x HA"
QqT14AaC=A27RAaC[1"r'-BQ-F"GH
IC2adiilA!HAaD1H$=>!1Q4QS*UZ]]]] vadiilAaDIIaOA$56QqTYYq\=N=NqQR=STUWXYZW[\]<^_`	AaD!b1qAvz*+, , ,vadiilAaDIIaOA$56QqT!QqTYYq\EVEVWXYZE[\]<^_`	AaD!b1qAvz*+, , , :rs :qrx HB1 qtR"Q$YAqD(2ad72Qq!tVRU^CDEDqTFERR I aD!	!		!!Q	!		!Q	!		!QD aD!	!		!!QQqTYYq!_a#QQqTYYq!_a#Q(D
 "$y?!$y? 
A
A
AqDFAbDM
QBqD!B$K	6      Q41,C!A$))A,1%qt5AaD!A$s1v+9NNNNQ499Q<Q"AaDIIaL$5$5a$;QqT1Q4
HC!A$))Aq/AaD(!A$C8
1Q41c!fqtyy|00A6s1v==>? ? ?r7   c                     [        S5      n [        S5      n[        S5      n[        SU-  [        U " U5      5      -  U " U5      5      S:X  d   e[        U[	        U " U5      U5      -  SU-  U " U5      -  -   [        U5      U-  -
  U " U5      5      S:X  d   e[        US-  U " U5      R	                  X"5      -  U[	        U " U5      U5      -  -   U " U5      -
  U " U5      5      S:X  d   e[        [	        U[        U " U5      5      -  X"5      U " U5      5      S:X  d   e[        [	        U[	        U[        U " U5      5      -  X"5      -  U5      U " U5      5      S:X  d   e[        [	        U " U5      X"5      U" U5      5      S:X  d   e[        [	        U " U5      X"5      [	        U" U5      U5      -  U " U5      5      S:X  d   e[        [	        U " U5      X"5      [	        U" U5      U5      -  U" U5      5      S:X  d   e[        [	        U[	        U[        U " U5      5      -  X"5      -  U5      U" U5      5      S:X  d   e[        [        X " U5      -  U5      U " U5      5      S:X  d   e[        U[        [        X " U5      S-  -  X"5      5      -  U " U5      5      S:X  d   e[        [        U[        U[        U " U5      5      -  X"5      -  U5      U" U5      5      S:X  d   e[        [        U " U5      X"5      U" U5      5      S:X  d   e[        [        U[        U " U5      5      -  X"5      U " U5      5      S:X  d   e[        [        U " U5      X"5      [        U" U5      U5      -  U" U5      5      S:X  d   e[        [        U[        U " U5      X"5      -  U5      U " U5      5      S:X  d   e[        U[        [        U[        U " U5      U5      S-  -  X"5      5      -  U " U5      5      S:X  d   eg )Nr0   r1   rW   r   r   r?   rv   )r   r   r(   r   r   r   r   )r0   r1   rW   s      r8   test_ode_orderr   >  s   AAsAQqSQqT]AaD)Q...QtAaD!}_qs1Q4x/#a&(:AaDAQFFFQT!A$))A/)Ad1Q4mO;adBAaDIQNNNT!C!I+q,ad3q888T!D3qt9a33Q71>!CCCT!A$%qt,111T!A$%d1Q4m3QqT:a???T!A$%d1Q4m3QqT:a???T!D3qt9a33Q71>!CCC Z!A$*AaD1Q666Qs:a!ai6771>!CCCZ*Qs1Q4y[!"? ?CQqTJaOOOZ!a+QqT2a777Z#ad)Q2AaD9Q>>>Z!a+JqtQ,??1F!KKKZ*QqT1"8 8!<adCqHHH	#j:adA.1118
991Q4ADEF F Fr7   c            	         [        [        [        [        -  5      [	        [        [        -  5      -   [        [        5      S:X  d   e[        [        S-  [        [        5      [        [        5      -  -   [        [        5      b   e[        [        [        -
  [        [        [        [        -  5      -  -
  [        [        5      S:X  d   e[        [        [        -  [        [        S-  [        S-  -   5      -   [        S-  [        [        5      [        [        5      -
  -  -   [        [        [        SS5      -  -  [        [        5      S-  -  -  [        [        5      [        SS5      :X  d   e[        [        [        -  [        [        [        -  5      -  [        [        -  [        [        [        -  5      -  -
  [        [        [        -  5      -   [        [        5      S:X  d   e[        [        [        5      [        [        [        5      5      S:X  d   e[        [        [        5      S-  [        [        [        5      5      S:X  d   e[        [        [        -  [        -  [        [        5      S:X  d   e[        [        [        -  [        -  [        [        [        5      S:X  d   e[        [        S-  [        [        5      -  [        [        S-  [        [        5      S-  -   5      -  [        [        5      5      b   e[        [        [        [        5      S-  [        [        [        [        5      [        5      S:X  d   e[        [        [        [        5      S-  [        [        [        5      [        5      b   e[        [        [        [        5      S-  [        [        [        [        5      5      b   e[        [        [        [        5      S-  [        [        [        [        [        5      5      b   e[        [        [        5      [        [        5      [        5      b   e[        [        [        5      * [        -  S[        [        [        5      [        -  5      -  -   [        [        5      [        5      S:X  d   e[        [        S[        -  5      [        [        S-  5      -   [        [        5      b   e[        [        S[        -  5      [        [        5      -   [        [        5      S:X  d   e[        [        [        [        -  5      [        [        5      S:X  d   e[        S[        S[        -  5      -  S[        [        5      -  -   [        [        5      S:X  d   e[        S5      n [        U [        S[        -  5      -  U [        [        5      -  -   [        [        5      S:X  d   e[        [        [        5      R                  [        5      [        [        5      b   e[        [        [        5      R                  [        5      * [        -   [        [        5      b   e[        [        [        5      [        [        5      b   e[        [        [        [        S-  5      -   [        [        5      b   e[        [        [        -  [        5      [        :X  d   e[        [        [        -  [        5      b   e[!        ["        S	 5        g )
Nr   rv   r?   r   r   rP   r   rz   c                  .    [        [        [        -  5      $ r4   )r   rW   r   r6   r7   r8   rr   (test_homogeneous_order.<locals>.<lambda>v  s    015r7   )r   r   r   rW   r   r   r   r   r   r
   r	   r0   r   r   r   r   r*   r5   )rz   s    r8   test_homogeneous_orderr  X  s   S1XAaC0!Q71<<<QTCF3q6M11a8@@@QUQs1Q3xZ/A6!;;;acDA1$551c!fs1vo8NN	Ax1~	d1gqj	(*+,a14<ROD D DQqSQqS\AaCAaCL83qs8CQJaOOOQqT1ad+q000QqT1Wa1.!333QqSUAq)Q...QqSUAq!,111QT!A$YtAqD1Q47N';;QqTBJJJQq!WaZAaGQ71<<<Qq!WaZAaD!4<<<Qq!WaZAaG4<<<Qq!WaZAqAw7???QqT1Q4+333adU1WqQqT1W~5qtQ?1DDDS1XAqD	11a8@@@S1XA.15:::S1Xq!,111Qs1Q3xZ!CF(2Aq9Q>>>sAQs1Q3xZ!CF(2Aq9Q>>>QqTYYq\1a0888adiil]Q.15===QqT1a(000Q1a4[!Q/777QUA&",,,QT1%---
:56r7   c                      [        S[        -   5      n [        U 5      [        U 5      p!UR	                  [
        5      (       a  UR	                  [
        5      (       a   eg g )Nr?   )r   rW   r   r   ry   r   )r   ir   s      r8   )test_noncircularized_real_imaginary_partsr  y  sC    
 	QqS	Aa5"Q%qeu..r7   c                  r    S[        [        S-  5      -   n U [        U [        [        S-  5      5      :X  d   eg )Nr?   rv   r   )r   rW   r   )r   s    r8   $test_collect_respecting_exponentialsr    s2     c!A#h,C'3AaC))))r7   c                  <#   [        [        [        5      [        5      SS0:X  d   e[        [        S[        -  [	        S5      -   5      [        5      S[        S[        -  [	        S5      -   5      [        S[        -  [	        S5      -   5      1S.:X  d   e[        [        [        5      [        [        5      -  [        5      SS0:X  d   e[        [        5      [        [        [        5      -  [        S-  [        [        5      -  [        S-  [        [        5      -  [        [        [        5      -  [        [        5      1n [        [        [        5      [        S-  [        -   S-   -  [        5      SU S.:X  d   e[        [        [        5      [        S-  -  [        [        5      [        -  -   [        [        5      -   [        5      SU S.:X  d   e[        [        S[        -  5      [        [        5      -  [        S-  [        -   S-   -  [        5      S[        S[        -  5      [        [        5      -  [        S-  [        S[        -  5      -  [        [        5      -  [        [        5      [        S[        -  5      -  [        S-  [        [        5      -  [        S[        -  5      -  [        [        [        5      -  [        S[        -  5      -  [        [        S[        -  5      -  [        [        5      -  1S.:X  d   e[        S[        [        5      -  [        5      SS0:X  d   e[        [        [        5      [        5      SS0:X  d   e[        S[        -  [        S-  [        -   S-   -  [        5      SS[        -  [        S[        -  -  [        S-  S[        -  -  1S.:X  d   e[        [        [        -  [        5      SS0:X  d   e[        [        [        5      [        S[        -  S-   5      -  [        5      S[        SS[        -  -   5      1S.:X  d   e[        [        [        5      [        S-  [        -   S-   -  [        5      S[        [        [        5      -  [        [        [        5      -  [        S-  [        [        5      -  [        S-  [        [        5      -  [        [        5      [        [        5      1S.:X  d   e[        [        [        5      [        [        [        5      -   -  [        5      SS0:X  d   e[        [        [        5      [        [        S[        -  5      -   -  [        5      SS0:X  d   e[        [        [        5      [        [        5      -  [        5      SS0:X  d   e[        [        S-  [        [        5      -  [        [        5      -  [        [        [        5      -  -   [        -   [        5      S[        S-  [        [        5      -  [        [        5      -  [        [        [        5      [        R                  [        [        5      [        [        5      -  [        [        5      [        [        [        5      -  [        [        5      -  [        [        [        5      -  [        [        [        5      -  [        [        5      -  [        [        [        5      -  [        [        5      [        [        5      -  [        S-  [        [        5      -  [        [        5      -  1S.:X  d   e[        S	[        -  [        [        S-
  5      -  [        5      [        [        [        S-
  5      -  [        [        [        S-
  5      -  [        [        S-
  5      [        [        S-
  5      1SS
.:X  d   e[        S[        -  [        -  [        5      SS[        -  [        S[        -  -  1S.:X  d   e[        S[        -  [        S[        -  5      -  [        5      SS[        -  [        S[        -  5      -  1S.:X  d   e[        [        [        * 5      [        -  [        5      SS0:X  d   e[        [        S	5      [        5      S[        R                  1S.:X  d   e[        S[        [        5      -  [        5      S[        [        5      1S.:X  d   e[        [        [        [        -  5      [        5      S[        [        [        -  5      1S.:X  d   e[        [        [        5      [        5      S[        [        5      [        [        5      1S.:X  d   e[        [        [        5      [        5      S[        [        5      [        [        5      1S.:X  d   e[        SS[        [        5      -  -   S[        [        5      -  -   [        5      S[        R                  [        [        5      [        [        5      [        [        5      1S.:X  d   e[        [        S-  [        5      S[        R                  [        [        S-  1S.:X  d   e[        S[        -  [        [        5      -  [        [        * 5      -   [        5      S[        [        [        5      -  [        [        5      [        [        * 5      1S.:X  d   e[        S[        S[        -  5      -  [        [        5      -  [        5      S[        S[        -  5      [        [        5      -  [        [        5      [        S[        -  5      -  1S.:X  d   e[        [        [        [        5      -
  [        5      S[        R                  [        [        [        5      [        [        5      1S.:X  d   e[        [        S-  S[        -  -   [        5      S[        R                  [        [        S-  1S.:X  d   e[        S	[        -  [        [        5      -  [        5      S[        [        [        5      -  [        [        [        5      -  [        [        5      [        [        5      1S.:X  d   e[        [        [        S[        -  5      -  [        5      S[        [        S[        -  5      -  [        [        S[        -  5      -  [        S[        -  5      [        S[        -  5      1S.:X  d   e[        [        S-  [        [        * 5      -  [        5      S[        [        [        * 5      -  [        S-  [        [        * 5      -  [        [        * 5      1S.:X  d   e[        S[        [        * 5      -  [        S-  [        [        * 5      -  -
  [        5      S[        [        [        * 5      -  [        S-  [        [        * 5      -  [        [        * 5      1S.:X  d   e[        [        S[        -  5      [        S-  -   [        5      S[        R                  [        [        S-  [        S[        -  5      1S.:X  d   e[        [        [        [        * 5      -  [        5      S[        [        [        * 5      -  [        [        * 5      1S.:X  d   e[        [        [        S[        -  5      -   [        5      S[        R                  [        [        S[        -  5      1S.:X  d   e[        [        [        5      [        [        * 5      -   [        5      S[        [        5      [        [        5      [        [        * 5      1S.:X  d   e[        [        [        5      [        5      S[        [        5      1S.:X  d   e[        [        R                  [        S[        -  5      S-  -
  [        5      S[        R                  [        S[        -  5      [        S[        -  5      1S.:X  d   e[        [        S[        -  5      [        R                  [        S[        -  5      S-  -   -  [        5      S[        S[        -  5      [        S[        -  5      -  [        S[        -  5      [        S[        -  5      -  [        S[        -  5      1S.:X  d   e[        S[        -  [        [        5      -   [        [        5      -   [        5      S[        R                  [        [        [        5      [        [        5      1S.:X  d   e[        [        [        5      S-  [        S[        -  5      S-  -
  [        5      S[        [        5      [        S[        -  5      [        [        5      [        S[        -  5      1S.:X  d   e[        [        [        S-  5      [        5      SS0:X  d   e[        S[        S-  -  [        5      SS0:X  d   eg )NtestFrv   r   T)r
  trialsetr?   r   r   )r  r
        r   	   r   )r&   r1   rW   r   r   r   r   r   r   r   r   Oner   r   )ss    r8   $test_undetermined_coefficients_matchr    sa   +AaD!4GGG+C!d1g,>B1tAwQqS47]!34	66 6 6 ,CF3q6M1=	  	Q3q61a4A;1SVQs1vXs1vFA+CFAqD1HqL,A1E1%& & &+Aq!tc!fQhQ',8<!/LM M M+AaCQAA& 3qs8CF?AqDQqSM#a&4HAs1Q3xAc!fS1X-qQxAaC/@	#ac(
3q6#
   ,Ac!fHa8VUOKKK+CFA665/III+AFAqD1HqL,A1EAqD!AqD&!Q$q!t)#<=> > >+AqD!4GGG+CF3qsQw<,?CCAaCL>23 3 3+CFAqD1HqL,A1EAc!fHaAh1SV	1SVSVSV$% 	&& & & ,CFAAJ,?C	  +CFAAaCL,A1E	  +CF3q6M1=	  +	1SVCFQs1vX%)1 1a4A;s1v#5q#a&!%%As1vs1vqQxA#a&!CF(3q6/	#a&#a&Q-Ac!fSV!3#5
66 6 6 ,AaCAE
NA>s1q5z\1SQZ<QUSQZHC    ,AqDFA6AqD!AqD&>23 3 3+AqDQqSM1=AqDQqSM?34 4 4+CGAIq9	   ,AaD!4AEE7+, , ,+Bs1vIq9CF8,- - -+C!Ha8C!H:./ / /+CFA6CFCF#345 5 5+CFA6CFCF#345 5 5+A#a&L1SV8,CQGAEE3q63q63q6#BCD D D+AqD!4AEE1ad#345 5 5+AaCAJaR,@!DAc!fHc!fc1"g#>?@ @ @+Ac!A#hJs1v,=qAC!HSVOSVC!H_#EFG G G+AAJ:AEE1c!fc!f#=>? ? ?+AqD1Q3J:AEE1ad#345 5 5+AaCAJ:Ac!fHaAhAA#GHI I I+Ac!A#hJ:s1Q3xZ3qs8S1Xs1Q3x8	:: : : ,AqDaRL!<Ac1"gIq!tCG|S!W#EFG G G+Ac1"gI1S!W,DaHAc1"gIq!tCG|S!W#EFG G G+C1I1,<a@AEE1adC1I#>?@ @ @+Ac1"gIq9Ac1"gIsA2w#789 9 9+AAaCL!<AEE1c!A#h#789 9 9+CFS!W,<a@CFCFCG#<=> > >+CFA6CF8,- - - ,AFFS1XaZ,?CAEE3qs8S1X#>?@ @ @ ,AaC!&&3qs8A:%& 3qs8C!H#4c!A#hs1Q3x6GAaC#
  
 ,AaC#a&L3q6,A1EAEE1c!fc!f#=>? ? ? ,CF1Hs1Q3xz,A1ECFC!Hc!fc!A#h#GHI I I+C1Iq9fe_LLL+A1Iq9fe_LLLr7   c                     SSK Jn   [        U [        [        [	        [        5      [        5      -   [	        [        5      -   -  -   [        [	        [        5      [        5      -   [	        [        5      -   S-   n[        U[	        [        5      5      S:X  d   e[        S-  [	        [        5      S-  -   [	        [        5      R                  [        5      -  S[        -  [	        [        5      -  -
  n[        U[	        [        5      5      S:X  d   eg )Nr   )Arv   )rm   rL   rJ   rC   rk   rQ   rN   r   r   rM   rK   rA   rl   r   )
rm   rL   rB   rH   rO   rQ   rN   rM   rR   r@   )	sympy.abcr  rW   r   r0   r   )r  r\   s     r8   test_issue_4785_22462r    s    	
QD1qM!AaD()	)D1qM	9AaD	@1	DBAaD! &F F F F Q$1q.!A$))A,	&1QqT	1BAaD! &= = = =r7   c                     [        [        S 5        [        [        [        [
        5      R                  [        5      [
        [        [        [
        5      -  -
  [        [        5      SS9SS SS.:X  d   e[        [        S 5        [        [        [        5      R                  [        5      [        [
        5      SS9SS SS.:X  d   eg )Nc                      [        [        [        [        5      R	                  [        5      [        [        [        [        5      -  -
  [        [        5      5      $ r4   )r   r0   rW   r   r   r6   r7   r8   rr   !test_issue_4825.<locals>.<lambda>  s,    va1gll1o!Aq'	&A1Q4Hr7   Tr   r   r6   )rV   rU   r   c                  t    [        [        [        5      R                  [        5      [        [        5      5      $ r4   )r   r0   rW   r   r   r6   r7   r8   rr   r    s    vadiilAaD9r7   )r*   r5   r   r0   rW   r   r   r6   r7   r8   test_issue_4825r    s    
:HI!QQ!AaG)3QqTEr:; ; ; :9:!		!ad6r:; ; ;r7   c                     SSK Jn   [        [        [        -  [
        [        -  -   5      [        [        [        -  [
        [        -  -   5      s=:X  a   [        [        -  [
        [        -  -   :X  d   e   e[        [
        [        -   -  [        [        -   -  nU " [        [
        [        /S5       H*  u  p#n[        X#[        -   -  U[        -   -  5      U:X  a  M*   e   g )Nr   )
variationsr   )sympy.utilities.iterablesr  r"   r[   rW   r   r   r   )r  erz   r{   r|   s        r8   'test_constant_renumber_order_issue_5308r    s    4RTBqD[)"Q$A+&
1r!t     	BFR!VAr2rlA.a EAE!23q888 /r7   c                     [        S5      u  pp#X-  X-  X-  -   /n[        US   5      X-  :X  d   e[        US   U/S9[        U-  :X  d   e[        US   U/[        /S9[        U-  :X  d   e[        XBU/S9[        U-  [        U-  [        U-  -   /:X  d   e[        XBU/[        S5      S9[        U-  [        U-  [
        U-  -   /:X  d   eg )Nze1:3 x yr   )	variables)r!  newconstantszC3:5)r   r"   r[   r   r   r   )e1e2rW   r   exprss        r8   test_constant_renumberr&  $  s    :&LBAT24"$;EU1X&"$...U1X!5A===U1X!B4HBqDPPPU!f5"Q$1r!t9LLLLU!f76?SXZ[\X\^`ab^beghiei^iWjjjjr7   c            	         [        SSS9n [        S5      n[        S5      n[        U" U5      R                  US5      U S-  U" U5      -  -
  U" U5      5      n[	        UR
                   Vs/ s H&  oDR                  R                  S5      (       d  M$  UPM(     sn5      S:X  d   e[        [        [        [        5      -  [        [        [        5      -  -   [        [        5      -  [        [        15      [        [        [        5      -  [        [        5      -  :X  d   e[        [        [        [        5      -  [        [        [        5      -  -   [        [        [        5      -  -   [        [        [        15      [        [        [        5      -  [        [        [        5      -  -   :X  d   e[        [        [        [        -   5      [        15      [        [        [        5      -  :X  d   e[        [        [        -   [         -   [        [         15      [        [        -   :X  d   e[        [        [        -   [#        [        [        SS	45      -   [        15      [        [        -   :X  d   eg s  snf )
Nr   Tr.   r   wr   Cr?   rv   )r   r   r   r   lenfree_symbolsname
startswithr#   r[   r   rW   r   r   r   r   r   r   )r   r   r(  r   r  s        r8   test_issue_5770r.  /  s   sAsAA
11a1a4!9,ad
3C3++F+avv/@/@/E+FG1LLLCFRAY.A6RA
3q6	#a&  3q6	Bs1vI-3q6	9BB<H
3q6	Bs1vI  BFbT*bQi777B
RG,Q666B!aAY!77">"q&HHH Gs   +#I,I,c                      [        [        [        5      * [        [        5      -   [        5      b   e[        [        [        [        5      -
  [        [        5      b   eg r4   )r   r   rW   r   r   r6   r7   r8   test_issue_5112_5430r0  >  sA    c!fWuQx/3;;;QQZA.666r7   c                  D   ^  [        S5      m [        [        U 4S j5        g )Nr0   c                  r   > [        T " [        5      R                  [        5      S-  T " [        5      S5      $ )Nrv   fdsjf)r   rW   r   r0   s   r8   rr   !test_issue_5095.<locals>.<lambda>E  s"    vadiilAoqtWEr7   )r   r*   r5   r4  s   @r8   test_issue_5095r6  C  s    A
:EFr7   c            
         [        S5      n [        [        U " [        5      -   5      n[        S[        -  SU " [        5      -  -  5      n[	        [        U " [        5      -  [        SS5      -  5      n[        S[        -  SU " [        5      -  -   SU " [        5      -  S[        -  -   -  5      n[        S[        S-  -  SU " [        5      S-  -  -  5      n[        S[        -  SU " [        5      -  -   SU " [        5      -  S[        -  -   -  [        S[        S-  -  SU " [        5      S-  -  -  5      -   5      n[        S[        -  SU " [        5      -  [        S-  -   -  5      n[        U[        U " [        5      5      S :X  d   e[        U[        U " [        5      5      S:X  d   e[        U[        U " [        5      5      S :X  d   e[        U[        U " [        5      5      S:X  d   e[        U[        U " [        5      5      S:X  d   e[        U[        U " [        5      5      S:X  d   e[        U[        U " [        5      5      S :X  d   eg )Nr0   r   r   r      rv   r   )	r   r   rW   r   r   r	   r   r   r   )r0   eq1eq2eq3eq4eq5r   r   s           r8   test_homogeneous_functionr>  H  s   A
a!A$h-C
qsQqtVn
C
a!fXa^#
$C
qsQqtV|a!fqsl+
,C
qAv!A$'	"
#C
qsQqtV|a!fqsl+c1QT6AadAgI2F.GG
HC
qsQqtVad]#
$CS!QqT*d222S!QqT*a///S!QqT*d222S!QqT*a///S!QqT*a///S!QqT*a///S!QqT*d222r7   c                  "   [         S[        -  S[        [        5      -  -   S-   -  [         S[        -  S[        [        5      -  -   S-   -  pX-  n[        U5      [	        UR                  5       5      -   n[        U5      nUn[        U5      n[        [        U5      5      n[        U5      nS[        SS5      4n	UR                  U[        [        5      5      U	:X  d   eUR                  U[        [        5      5      U	:X  d   eUR                  U[        [        5      5      U	:X  d   eS[        -  [        [        5      -  n
[        U
5      nS[        -  S-   [        -  n[        U5      nS[        -  S[        [        5      -  -   S	-   S[        -  S[        [        5      -  -   S-   -  n[        U5      nS[        -  S[        [        5      -  -   [        S5      -   S[        -  S[        [        5      -  -   S-   -  n[        U5      nUR                  U
[        [        5      5      b   eUR                  U[        [        5      5      b   eUR                  U[        [        5      5      b   eUR                  U[        [        5      5      b   eg )
Nrv   r   r   r8  r     r   ir?   )r   rW   r0   r   r   expandr'   r   r	   _linear_coeff_matchr   )r   dratr9  obj1r:  obj2r;  obj3r   r<  obj4r=  obj5r   obj6r   obj7s                     r8   test_linear_coeff_matchrL  Z  s'   acAadFlQAaC!AaD&L2$5!6q
#C
c(S&
&Cc"D
Cc"D
c#h-Cc"DhsA
C##C1.#555##C1.#555##C1.#555 Q3!*Cc"DQ37A+Cc"DQ31Q4<!acAadFlQ.
/Cc"DQ31Q4<$q'!AaC!AaD&L1$4
5Cc"D##C1.666##C1.666##C1.666##C1.666r7   c            	          [        [        5      S-   n [        [        [	        [        [        5      U -   U [
        -  -   [        /5      5      R                  5      S:X  d   eg )Nrv   )r   r[   r*  r   r#   rW   gens)r|   s    r8   test_constantsimp_take_problemrO  z  sG    B!AtLR1qs!2RD9:??@AEEEr7   c                     [        S5      n [        [        5      R                  [        5      [        [        5      -
  n[	        [        [        5      X [        -  -   U [        S-  -  S-  -   U [        S-  -  S-  -   U [        S-  -  S-  -   U [        S-  -  S-  -   [        [        S-  5      -   5      n[        US	S
9U:X  d   e[        XSS9S   (       d   e[        [        5      R                  [        5      [        [        [        5      -  -
  n[	        [        [        5      U [        S-  -  S-  U [        S-  -  S-  -   U -   [        [        S-  5      -   5      n[        US	S
9U:X  d   e[        XSS9S   (       d   e[        [        5      R                  [        5      [        [        [        [        5      -  5      -
  n[	        [        [        5      [        S-
  S-  S[        S5      -   -  [        S5      -  [        S-
  [        S5      -  -   S-   [        [        S-  5      -   5      n[        US	[        S5      S0SS9U:X  d   eg )Nr[   rv   r   r   r   r   r   x   rQ   r<   r?   )rV   r   r  )r=   re   r   )
r   r0   rW   r   r   r   r   r    r   r   )r[   r\   r   s      r8   test_seriesrR    s   	B	
11!	B
QqT219r!Q$wqy(2ad7194r!Q$wrzAq!tGCKAqD'" #C"-.#555ra(+++	
11!A$	B
QqT2ad719r!Q$wqy(2-!Q$7
8C"-.#555ra(+++	
11AadF	#B
QqTAEA:q#a&y)#a&0AE3q6>AAE!Q$O
PC"-AaD!9BcIIIr7   c            	      
   [        S5      u  p[        [        5      R                  [        S5      [        [        [        5      -  -
  n[	        U5      S:X  d   e[        [        [        5      U[        S-  S-  S-   -  U [        -  [        S-  S-  S-   -  -   [        [        S-  5      -   5      n[        USS	9U:X  d   e[        X#5      S
:X  d   e[        [        [        5      U[        S-   S-  S-  [        S-   S-  S-  -   [        S-   S-  -
  S-   -  U [        [        S-   S-  S-  -   [        S-   S-  S-  -
  [        S5      -   -  -   [        [        S-  5      -   5      n[        USSS9U:X  d   e[        [        [        5      U[        -  U -   [        [        S-  5      -   5      n[        USSS9U:X  d   e[        X#5      S
:X  d   eS[        S-  -   [        [        5      R                  [        S5      -  S[        -  [        [        5      R                  [        5      -  -   S[        [        5      -  -
  n[	        U5      S:X  d   e[        [        [        5      U[        S-  * S-  [        S-  -   S-   -  U [        -  -   [        [        S-  5      -   5      n[        USS	9U:X  d   e[        X#5      S
:X  d   e[        [        5      R                  [        S5      [        [        [        5      R                  [        5      -  -   [        [        5      -   n[	        U5      S:X  d   e[        [        [        5      U[        S-  S-  [        S-  S-  -
  S-   -  U [        -  [        S-  * S-  S-   -  -   [        [        S-  5      -   5      n[        U5      U:X  d   e[        [        5      R                  [        S5      [        [        5      R                  [        5      -   [        [        [        5      -  -
  n[	        U5      S:X  d   e[        [        [        5      U[        S-  * S-  [        S-  S-  -   S-   -  U [        -  [        S-  S-  [        S-  S-  -   [        S-  -
  S-   -  -   [        [        S-  5      -   5      n[        U5      U:X  d   e[        [        5      R                  [        S5      [        [        [        5      -  -   n[	        U5      S:X  d   e[        [        [        5      U[        S-  S-  [        S-  S-  -
  S-   -  U [        -  [        S-  * S-  S-   -  -   [        [        S-  5      -   5      n[        USSS9U:X  d   e[        X#5      S
:X  d   eg )NzC1 C2rv   )2nd_linear_airyr   r   r   r?   r  r   r<   Tr   r   r   )r=   x0)r=   r   )rm   2nd_hypergeometric2nd_hypergeometric_Integralr   )rm   r   r  )r   r      r8  )
r   r0   rW   r   r   r   r   r   r    r   )r[   r   r\   r   s       r8   test_2nd_power_series_ordinaryrZ    s   WFB	
11a1QqT6	!BOOOO
QqT2q!tAvz?RT1a47Q;%77!AqD'A
BC"673>>>r9,,,
QqT2Az!|q1uqjl2a!eaZ?!CD
a1q51*R-1q51*Q,.15
67
AqD' C "62>#EEE QqT2a4"9qAw&
'C"6!<CCCr9,,,
ad(QqTYYq!_	%!QqTYYq\(:	:AadF	BB  ! ! ! ! QqT21uQwA~)*RT1AadG;
<C"673>>>r9,,,	
11a1adiil+	+ad	2BKKKK
QqT2q!tAv1Q*+bdQTE!GaK.@@1QT7J
KC": 
11a1Q499Q<	'!AaD&	0B====
QqT21uRx!Q$q&(1,-dAqDGad1f$qs*Q./023AqD': ;C": 
11a1QqT6	!BOOOO
QqT2q!tCx!Q$q&(1,-1q!teBhl0CCa1gM
NC"6!<CCCr9,,,r7   c                     [        S5      u  pn[        S-  [        [        5      R                  [        S5      -  S[        -  [        [        5      R                  [        5      -  -
  S[        -  S-   [        [        5      -  -   n[	        [        [        5      U [        S-  -  S[        S-  -  S-  S[        S-  -  -   S[        -  -
  S-   -  [        [        S-  5      -   5      n[        US	S
9U:X  d   e[        X45      S:X  d   eS[        S-  -  [        [        5      R                  [        S5      -  S[        S-  -  [        [        5      R                  [        5      -  -
  S[        S-  -  S-   [        [        5      -  -   n[	        [        [        5      U [        [        5      -  [        S-  S-  [        S-  S-  -   [        S-  S-  -   [        -   S-   -  [        [        S-  5      -   5      n[        US	S
9U:X  d   e[        X45      S:X  d   e[        S-  [        [        5      R                  [        S5      -  [        S-  [        [        5      R                  [        5      -  -
  [        S-  S-
  [        [        5      -  -   n[	        [        [        5      U [        S-  * S-  S[        S-  -  S-  -
  [        S-  S-  -
  [        S-  S-  -   [        S-  -   S-   -  [        -  U[        S-  -  [        S-  * S-  [        S-  S-  -   [        S-  -   S-   -  -   [        [        S-  5      -   5      n[        U5      U:X  d   e[        X45      S:X  d   e[        S-  [        [        5      R                  [        S5      -  [        [        [        5      R                  [        5      -  -   [        S-  [        SS5      -
  [        [        5      -  -   n[	        [        [        5      U [        S-  S-  [        S-  S-  -
  S-   -  [        [        5      -  U[        [        5      -  [        S-  S-  [        S-  S-  -
  S-   -  -   [        [        S-  5      -   5      n[        US	S
9U:X  d   e[        X45      S:X  d   e[        [        [        5      R                  [        S5      -  [        [        5      R                  [        5      -   U[        -  [        [        5      -  -
  n[	        [        [        5      XS-  [        S-  -  S-  U[        S-  -  S-  -   S-   -  [        [        S-  5      -   5      n[        U[        [        5      S	S
9U:X  d   e[        X45      S:X  d   e[        [        5      R                  [        S5      S[        -
  [        -  [        [        5      R                  [        5      -  -   U[        -  [        [        5      -  -   n[	        [        [        5      X* [        S-  -  US-
  -  US-
  -  US-
  -  US-
  -  S-  U[        S-  -  US-
  -  US-
  -  US-
  -  S-  -   U[        S-  -  US-
  -  US-
  -  S-  -
  U[        S-  -  US-
  -  S-  -   U[        -  -
  S-   -  [        [        S-  5      -   5      n[        U[        [        5      S	S
9U:X  d   e[        X45      S:X  d   eg )NzC1 C2 arv   r   r   ir  r?   r   2nd_power_series_regularr<   rU  r  r   i  r   P   <      rQ  @   i@8  i@  $   )
r   rW   r0   r   r   r   r   r    r   r	   )r[   r   rz   r\   r   s        r8   test_2nd_power_series_regularrb    s   	"IBA	
AqtyyA	!A#qtyy|"4	4!a1~	EB
QqT2ad7C1HQJ1a4/!A#59:Qq!tWD
EC"56#===r9,,,	
1a411a	!1QT61Q499Q<#8	8AadF	=
Q4< 
B
QqT2d1g:q!tBwAa/!Q$q&81<q@AAadGK
LC"56#===r9,,,	
AqtyyA	!Q$!		!"5	5	1q!A$9 
B
QqT21uSy1QT6"9,q!tAv51Q>1DqHI!Kq!tGadU2X1R'!A#-12356q!tW= >C":r9,,,	
AqtyyA	!QqTYYq\"2	2adXa^6KQqT5Q	QB
QqT2q!tBwAa'!+,T!W4
47
AqDHq!tAv%)*+-.q!tW5 6C"56#===r9,,,	
1Q499Q?	QqTYYq\	)AaC!H	4B
QqT2!tAqDy|a1fQh.23a1g=
>C"ad!;<CCCr9,,,	
11aQUAIqtyy|3	3qsAaDj	@B
QqT2r!Q$wAA.A6A>uD	!Q$AAA&s*+-.q!tVQU^QU-CB-FG	!Q$AqQ3!"# $&'1g. /C "ad!;<CCCr9,,,r7   c                      [        S5      n [        S5      n[        [        S5      [        S5      " U 5      -  5      U:X  d   eg )Nr   r   r[   r   )r   r$   r   )r   r   s     r8   test_issue_15056rd    s9    sA	B!&,$1B"BCrIIIr7   c            	         [         * [        -  S[        -  [        [        5      -  -
  [        [        5      -
  [        [        [        5      [        5      -   n [        [        [        S-  [        -   5      -  [        [        S-  [        -   5      [        [         [        [        S-  * [        -
  5      -  [        -  [        5      -  -   n[        X5      S:X  d   e[         [        [        [        * [        -  5      -  -   n[        [        [        [        5      -  [        5      [        [        5      R                  [        S5      -   n [        X[        [        5      5      S:X  d   eg )Nrv   rU  )
r[   rW   r0   r   r   r   r   r    r   r   r\   r   s     r8   test_issue_15913rg    s    
Q1QqT	AaD	 :adA#6	6B
SA]
SA]8BsAqD519~4Ea4G+KK
KCr9,,,
r#qbd)|
C	AadFA	11a	0Br!%222r7   c                  H    [        [        S 5        [        [        S 5        g )Nc                      [        [        [        5      R                  [        5      [	        [        5      R                  [        5      /[        [        5      [	        [        5      [        [        5      /5      $ r4   )r   r0   rW   r   r1   r2   r6   r7   r8   rr   "test_issue_16146.<locals>.<lambda>  s>    vqtyy|QqTYYq\&BQqT1Q4QRSTQUDVWr7   c                      [        [        [        5      R                  [        5      [	        [        5      R                  [        5      /[        [        5      /5      $ r4   )r   r0   rW   r   r1   r6   r7   r8   rr   rj    s.    vqtyy|QqTYYq\&BQqTFKr7   )r*   r5   r6   r7   r8   test_issue_16146rl    s    
:WX
:KLr7   c                  X   [        [        5      S-
  [        [        5      R                  [        5      -  n [        [        [        5      [        5      n[        U 5      U:X  d   e[        [        5      [        [        5      -
  [        [        5      R                  [        S5      -  n [        [        [        5      [        [        [        -  -   5      [        [        [        5      [        [        5      5      1n[        [        U 5      5      U:X  d   e[        [        5      S-  S[        [        5      -  -
  S-   [        [        5      R                  [        S5      -  n [        [        [        5      [        [        [        -  -   [        [        S-  -  -   5      n[        U 5      U:X  d   eg )Nrv   r?   r   )
r0   rW   r   r   r[   r   r   r   r   r   rf  s     r8   &test_dsolve_remove_redundant_solutionsrn    s   
A$q&!A$))A,	B
QqT2,C":
A$s1v+!		!Q	(BadBAI1Q4Q 0
1Cvbz?c!!!
A$'!AaD&.
AaDIIaO	+B
QqT219r!Q$w&
'C":r7   c                  &   [        S[        S9u  p[        S5      n[        [	        U " U5      U5      U " U5      U" U5      -  5      [        [	        U" U5      U5      U " U5      U" U5      -  5      /n[        U5      n[        X45      SSS/4:X  d   eg )NzA Br   r   Tr   )r   r   r   r   r   r   r    )r  Br   r\   r   s        r8   test_issue_13060rq    s    5h'DAsA
Z!a !A$qt)
,bAaD!1Dad1Q4i.P	QB
*CrD1a&>111r7   c                     [        S5      u  p[        S5      nSU -  [        U S-
  5      -  U" U5      -  SUS-  -  U S-
  -  U SU-  U S-
  -  -
  S-  -   [        U" U5      US45      -  -   n[	        USSS	9nUS
   S   S:X  d   e[        S5      u  pV[        US
S9n[        U5      [        [        S5      5      :X  d   eg )NzN srhog      @r?   r   rv   Tr;   r   r   termsr   zC1,C2r<   a  
        Eq(rho(s), C2*(1 - 4.0*s**4*sqrt(N - 1.0)/N + 0.666666666666667*s**4/N
        - 2.66666666666667*s**3*sqrt(N - 1.0)/N - 2.0*s**2*sqrt(N - 1.0)/N +
        9.33333333333333*s**4*sqrt(N - 1.0)/N**2 - 0.666666666666667*s**4/N**2
        + 2.66666666666667*s**3*sqrt(N - 1.0)/N**2 -
        5.33333333333333*s**4*sqrt(N - 1.0)/N**3) + C1*s*(1.0 -
        1.33333333333333*s**3*sqrt(N - 1.0)/N - 0.666666666666667*s**2*sqrt(N
        - 1.0)/N + 1.33333333333333*s**3*sqrt(N - 1.0)/N**2) + O(s**6)))r   r   r   r   r   r   r-   str)Nr  rs  eqnmatchr[   r   r   s           r8   test_issue_22523ry    s    5>DA
5/C a%QU
CF
"a1fa!enAaCQK!7K&K
SVaV
$&% %C4e4E,-g6!;;;WFB
6
7Cc?j .K *L M M M Mr7   c                  .   [        S[        S9u  p[        SSS9u  p#pEnSu  p4pV[        U[        U " U5      US5      -  X0" U5      -  -   XA" U5      U " U5      -
  -  -
  S5      n[        U[        U" U5      US5      -  XA" U5      U " U5      -
  -  -   S5      nXx/n	[	        X" U5      U" U5      /U " S5      SU " U5      R                  5       R                  US5      SU" S5      S	U" U5      R                  5       R                  US5      S0S
9u  pU
[        U " U5      [        S[        S5      -
  5      [        S5      S[        S5      -  -   -  [        [        S5      U-  [        S[        S5      -
  5      -  S-  5      -  S-  S[        S5      -  [        S5      -   [        [        S5      S-   5      -  [        [        S5      U-  [        [        S5      S-   5      -  S-  5      -  S-  -   5      :X  d   eU[        U" U5      [        S5      S-   [        [        S5      U-  [        S[        S5      -
  5      -  S-  5      -  S-  S[        S5      -
  [        [        S5      U-  [        [        S5      S-   5      -  S-  5      -  S-  -   5      :X  d   eg )Nzx1, x2r   zt k1 k2 m1 m2Tr.   )r?   r?   r?   r?   rv   r   r?   rd   r   r   
   r_  )r   r   r   r   r   r   r   r   )r   x2r   r   r   r   r   r9  r:  eqsx1solx2sols               r8   test_issue_22604r  .  s   XX.FB=A22NBB
RRUAq!!Br!uH,r2a52a5=/AA1
EC
RRUAq!!B11$66
:C*CC"Q%A1aAARARSTUVAWXY8:1aAARARSTUVAWXY8[ \NUBr!ud1tAw;/bAd1gI1EFs4PQ7ST9UYZ[^bcd^eZeUfKfghKhGiijll47
T"X-tDGaK/@@T!WQYtTXYZT[^_T_O`E`abEbAccdffg h h h hBr!utAw{CQ	$q47{:K0KA0M,NNrQUVY]^_Y`U`befjklfmnofoptuyz{u|  @A  vA  qB  gB  CD  gD  cE  UE  FH  UH  H  I  I  I  Ir7   c            	         [        [        [        5      R                  [        5      S[        [        5      S-  -  S[        [        5      -  S-  -
  5      [        [        [        5      R                  [        5      S[        [        5      S-  -  S[        [        5      -  S-  -
  5      4 H"  n S[	        U [        [        5      5      ;   a  M"   e   g )	Nirv   i  i   r   r   r8  rC   )r   r0   rW   r   r   )des    r8   test_issue_22462r  <  s    qtyy|S1q[3qt8D=89qtyy|R!aZ!AaD&(235 l2qt44445r7   c                      [        S5      n [        S5      n[        [        U -  * U" U 5      R	                  5       R	                  5       -  U" U 5      R	                  5       -   S5      n[        U5      S:X  d   eg )NrW   r   r   )ru   nth_order_reducibler   r   )r   r   r   r   r   r   rW   r   r\   s      r8   test_issue_23425r  C  si    AA	QTE!A$))+""$$qtyy{2A	6B	;; ; ;r7   ztoo slow for @slowc                      [        S5      n [        S5      nU" U 5      S-  U" U 5      R                  U S5      -  S-   n[        X!" U 5      5      c   eg )NrW   r   r   rv   1   )r   r   r   r   r  s      r8   test_issue_25820r  L  sP    sAA	
1q11a	 2	%B"ad'''r7   N)wsympy.core.functionr   r   r   r   sympy.core.numbersr   r   r	   r
   sympy.core.relationalr   sympy.core.singletonr   sympy.core.symbolr   r   $sympy.functions.elementary.complexesr   r   &sympy.functions.elementary.exponentialr   r   %sympy.functions.elementary.hyperbolicr   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   r   r   sympy.integrals.integralsr   sympy.polys.polytoolsr   sympy.series.orderr   sympy.simplify.radsimpr   sympy.solvers.oder   r   r   sympy.solvers.ode.subscheckr    sympy.solvers.ode.oder!   r"   r#   r$   r%    sympy.solvers.ode.nonhomogeneousr&   sympy.solvers.ode.singler'   sympy.solvers.deutilsr(   sympy.testing.pytestr)   r*   r+   r,   sympy.utilities.miscr-   C0r[   r   r   r   C5C6C7C8C9C10urW   r   r   r0   r1   r2   r9   rb   rg   r~   r   r   r   r   r   r  r  r  r  r  r  r  r&  r.  r0  r6  r>  rL  rO  rR  rZ  rb  rd  rg  rl  rn  rq  ry  r  r  r  r  r6   r7   r8   <module>r     s   B B 3 3 $ " / 9 = 7 9 K K . &   *  4H H N 7 + : : + /6g.> +BBBBBW4(
1aSMSMSM%
#3L8 D? D?N\~i$V-*`Y?vF47B / /*lM^=,;9kI7
G
3$7@F
J( /- /-d$-NJ3M
2M,I5; ( (r7   