a
    {þd·¼  ã                   @   sÊ  d dl mZmZmZmZ d dlmZmZmZm	Z	 d dl
mZ d dlmZ d dlmZmZ d dlmZmZ d dlmZmZ d dlmZ d d	lmZ d d
lmZmZmZmZ d dl m!Z! d dl"m#Z# d dl$m%Z% d dl&m'Z' d dl(m)Z)m*Z*m+Z+ d dl,m-Z- d dl.m/Z/m0Z0m1Z1m2Z2m3Z3 d dl4m5Z5 d dl6m7Z7 d dl8m9Z9 d dl:m;Z;m<Z<m=Z= d dl>m?Z? edƒ\Z@ZAZBZCZDZEZFZGZHZIZJeddd\ZKZLZMZNedƒZOedƒZPedƒZQdd„ ZRd d!„ ZSd"d#„ ZTe=d$d%„ ƒZUd&d'„ ZVd(d)„ ZWd*d+„ ZXd,d-„ ZYd.d/„ ZZd0d1„ Z[e;d2d3„ ƒZ\d4d5„ Z]d6d7„ Z^d8d9„ Z_d:d;„ Z`d<d=„ Zad>d?„ Zbd@dA„ ZcdBdC„ ZddDdE„ ZedFdG„ ZfdHdI„ ZgdJdK„ ZhdLdM„ Zie=dNdO„ ƒZjdPdQ„ ZkdRdS„ ZldTdU„ ZmdVdW„ ZndXdY„ ZodZd[„ Zpd\d]„ Zqd^d_„ Zrd`da„ Zsdbdc„ ZtddS )eé    )Ú
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)Ú
filldedentzC0:11zu,x:zT©ÚrealÚfÚgÚhc                   C   s4   t tƒ td ƒ W d   ƒ n1 s&0    Y  d S ©N)r)   Ú
ValueErrorr#   © r3   r3   úi/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/sympy/solvers/ode/tests/test_ode.pyÚtest_get_numbered_constants0   s    
r5   c                  C   sØ  t tƒ t¡} t| dd}|d }|jjd d }|d }|jjd jd d }tt tƒtt	dtƒ ƒtt tƒtƒtt tƒtƒtt tƒtƒtt tƒtƒtt tƒtƒtt tƒtƒtt tƒtƒtt tƒtƒtt tƒtƒtt tƒtt	dtƒ ƒtt tƒtƒtt
t	dtƒt	d|ƒ |t tƒƒtƒtt tƒtƒtt tƒtƒtttƒtt	d| |t tƒt fƒ ƒtt tƒtƒtt	d|t tƒfƒtt	dtƒ ƒtt tƒtƒtt tƒtƒdddd	œ}||ks´J ‚t| d
dtt tƒtƒksÔJ ‚d S )NÚall©ÚhintÚseparable_Integralé   r   Ú11st_homogeneous_coeff_subs_dep_div_indep_IntegraléÿÿÿÿÚnth_algebraic)ÚBernoulli_IntegralÚ1st_homogeneous_coeff_bestÚ	Bernoullir=   Ú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_indepr;   Ú1st_power_seriesr9   Ú11st_homogeneous_coeff_subs_indep_div_dep_IntegralÚbestÚ	best_hintÚdefaultÚorderrN   )r.   Úxr   r   ÚlhsÚargsÚrhsr
   ÚC1r   r   r   )ÚeqÚoutputZsol1Z_yZ_u1Úexpectedr3   r3   r4   Útest_dsolve_all_hint5   s@    $& êrZ   c                   C   sV   t tƒ: tttƒ t¡tttƒƒ tdƒdid W d   ƒ n1 sH0    Y  d S )Nr:   ©Úics)r)   ÚNotImplementedErrorr   r.   rR   r   r   r3   r3   r3   r4   Útest_dsolve_ics[   s    
r^   c               
      sˆ  t tt ƒ t ¡ tt ƒ ‰ tˆ dd} tˆ ddd}tˆ dd}g d¢}g d¢}t|  ¡ ƒ|ksdJ ‚| d tˆ tt ƒƒks~J ‚| d	 ttt ƒtt  ƒksœJ ‚tˆ d	dttt ƒtt  ƒks¾J ‚| d
 dksÎJ ‚| d dksÞJ ‚| d  	t
¡rðJ ‚| d  	t
¡rJ ‚| d  	t
¡rJ ‚| d  	t
¡r,J ‚| d  	t
¡r@J ‚| d  	t
¡rTJ ‚| d  	t
¡shJ ‚| d  	t
¡s|J ‚| d  	t
¡sJ ‚| d  	t
¡s¤J ‚| d  	t
¡s¸J ‚t| ¡ ƒ|ksÎJ ‚|d tˆ tt ƒƒksêJ ‚|d	 ttt ƒtt  ƒks
J ‚tˆ d	ddttt ƒtt  ƒks0J ‚|d
 dksBJ ‚|d dksTJ ‚| d |d ksjJ ‚| d |d ks€J ‚| d |d ks–J ‚|d  	t
¡rªJ ‚|d  	t
¡r¾J ‚|d  	t
¡rÒJ ‚|d  	t
¡ræJ ‚|d  	t
¡rúJ ‚|d  	t
¡rJ ‚|d  	t
¡s"J ‚|d  	t
¡s6J ‚|d  	t
¡sJJ ‚|d  	t
¡s^J ‚|d  	t
¡srJ ‚t| ¡ ƒ|ksˆJ ‚tt‡ fdd„ƒ tt‡ fdd„ƒ ttt ƒ t ¡dtt ƒd   ddd	 ttt ƒ t ¡dtt ƒd   d	dksJ ‚ttt ƒtt ƒ t ¡ tt ƒ t ¡ d tt ƒddttt ƒtt
tt ƒ t ¡ d tt
dt ƒƒ t ƒ tt
dt ƒ ƒ ƒks„J ‚d S )Nr6   r7   F)r8   ÚsimplifyZall_Integral)rH   rI   r?   rK   r;   rD   rM   rF   rG   r@   r>   Úalmost_linearÚalmost_linear_IntegralrN   rO   rP   Ú
factorablerJ   rA   rQ   rC   r9   )rI   r;   rM   rG   r>   ra   rN   rO   rP   rb   rA   rQ   r9   rQ   rN   rP   rb   rO   rH   rC   r?   rK   rD   rF   rG   rI   r;   rM   r9   c                      s   t ˆ ddS )NZnotarealhintr7   ©r   r3   ©rW   r3   r4   Ú<lambda>Ÿ   ó    z%test_dsolve_options.<locals>.<lambda>c                      s   t ˆ ddS )NÚ	Liouviller7   rc   r3   rd   r3   r4   re       rf   r:   é   )rR   r.   r   r   ÚsortedÚkeysr'   r
   rV   Úhasr   r)   r2   r   r   )ÚaÚbÚcrj   ZIntegral_keysr3   rd   r4   Útest_dsolve_optionsa   s€    
" &ÿ
ÿ
($ÿ
.ÿÿÿÿþro   c                  C   sœ  t ttƒ td¡ttƒƒdks"J ‚t ttƒttƒƒdks<J ‚t tttƒ t¡dƒttƒƒdksbJ ‚t ttƒ t¡d ttƒƒdks†J ‚t tttƒ t¡ttƒ tƒttƒƒ} t ttƒ t¡ttƒ ttƒttƒ  tttƒ  ttƒƒ}t ttƒ t¡ttƒ ttƒttƒ  tttƒ  ttƒƒ}| dks2J ‚|dks@J ‚|dksNJ ‚t dt ttƒ ttƒ t¡ d	t ttƒd   ttƒ ttƒƒd
ksœJ ‚dt dttƒ t¡ ttƒd  ttƒt  dtd   ttƒƒv sæJ ‚ttdd„ ƒ tdƒ}t ttƒ t¡|ttƒ |t ttƒ   dttƒ |ttƒ |t ttƒ    tttƒ t¡ |ttƒ |t ttƒ    t	 ttƒƒdks”J ‚d}t tttƒt tƒtttƒtƒ ƒ|ksÆJ ‚t tttƒt tƒtttƒtƒ ttƒdd|ksþJ ‚t tdtd  ttƒ t¡ dƒttƒƒdks2J ‚t tdttƒd  ttƒ t¡ dƒttƒƒdksjJ ‚t ttttƒtƒttƒt  dƒttƒƒdksžJ ‚t
t tttƒdƒttƒddtƒsÆJ ‚tt tttƒ t¡dƒttƒdd ¡ ƒg d¢ksþJ ‚t dt ttƒ ttƒ t¡ d	t ttƒd   ttƒ ttƒddd} t|  ¡ ƒg d¢ksbJ ‚t ttƒ t¡tttƒt ƒ ttƒƒ} | dks˜J ‚d S )Nrh   )r=   rB   rA   rg   Ú2nd_power_series_ordinaryrE   ÚLiouville_Integral)r=   rE   r   )r=   rC   rH   rF   r@   r?   rD   rK   rL   rJ   rB   rA   rE   r9   rI   rG   r>   rM   r;   )rb   r=   rC   rH   rF   r@   r?   rD   rK   rL   rJ   rA   rE   r9   rI   rG   r>   rM   r;   )rH   rF   r@   r`   rL   rJ   Ú3nth_linear_constant_coeff_undetermined_coefficientsÚ1nth_linear_constant_coeff_variation_of_parametersrI   rG   r>   ra   Ú:nth_linear_constant_coeff_variation_of_parameters_Integral)
rb   rF   r@   rL   rJ   rr   rs   rG   r>   rt   r:   )rb   rH   r@   r`   rJ   rI   r>   ra   ZRiccati_special_minus2é   éþÿÿÿc                   S   s&   t ttttƒ t¡ t¡ tttƒƒS r1   )r   rR   r.   Úyr   r3   r3   r3   r4   re     s   ÿÿz#test_classify_ode.<locals>.<lambda>Úk)rb   rC   rH   rF   r@   rL   rJ   r9   rI   rG   r>   )rb   r=   rC   rH   rF   r@   r?   rD   rK   rL   rJ   rr   Z<nth_linear_euler_eq_nonhomogeneous_undetermined_coefficientsrs   Z:nth_linear_euler_eq_nonhomogeneous_variation_of_parametersrE   r9   rI   rG   r>   rM   r;   rt   ZCnth_linear_euler_eq_nonhomogeneous_variation_of_parameters_IntegralT)Úprep)rb   r=   rC   rH   rF   r@   rL   rJ   rA   rE   r9   rI   rG   r>   )rb   r=   rC   rH   rF   r@   rL   rJ   rE   r9   rI   rG   r>   )rL   rJ   é   ©Údict)rP   rB   rQ   r@   ©r|   r8   )r@   r>   rP   rQ   Úordered_hints)rC   rH   rL   rJ   r9   rI   )r   r.   rR   r   r
   r   r)   r2   r   ÚzÚ
isinstancer|   ri   rj   )rl   rm   rn   rx   Úansr3   r3   r4   Útest_classify_ode©   sr    ÿ
&$&<<
>ÿþ
>ÿ
>ÿ,ÿÿÿþ
.&ÿÿ
(ÿ
,ÿ
(ÿ
((ÿ
J(r‚   c                      sÎ  t tƒ tt¡t tƒ ‰ tdi‰tt‡ ‡fdd„ƒ tdƒdi‰tt‡ ‡fdd„ƒ t tƒdi‰tt‡ ‡fdd„ƒ t ddƒdi‰tt‡ ‡fdd„ƒ t dƒt tƒi‰tt‡ ‡fdd„ƒ t dƒt dƒi‰tˆ t tƒˆd	 t dƒdi‰tˆ t tƒˆd	 ttƒ t¡ td¡di‰tt‡ ‡fd
d„ƒ t tƒ t¡ tt¡di‰tt‡ ‡fdd„ƒ t tƒ t¡ td¡di‰tt‡ ‡fdd„ƒ t ttƒ t¡ td¡di‰tt‡ ‡fdd„ƒ t	t tƒttƒ td¡di‰tt‡ ‡fdd„ƒ t tƒ t¡ td¡t tƒi‰tt‡ ‡fdd„ƒ t tƒ t¡ td¡t tƒ t¡ td¡i‰tˆ t tƒˆd	 t tƒ t¡ td¡di‰tˆ t tƒˆd	 ttƒ t¡ tt¡di‰tt‡ ‡fdd„ƒ t tƒ t¡ tt¡di‰tt‡ ‡fdd„ƒ t ttƒ t¡ tt¡di‰tt‡ ‡fdd„ƒ t	t tƒtt
ƒ tt¡di‰tt‡ ‡fdd„ƒ t tƒ t¡ tt¡t tƒi‰tt‡ ‡fdd„ƒ t tƒ t¡ td¡t dƒi‰tˆ t tƒˆd	 t tƒ t¡ tt¡di‰tˆ t tƒˆd	 d S )Nr:   c                      s   t ˆ ttƒˆdS ©Nr[   ©r   r.   rR   r3   ©rW   r\   r3   r4   re   N  rf   z'test_classify_ode_ics.<locals>.<lambda>r   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re   X  rf   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re   \  rf   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re   `  rf   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re   d  rf   r[   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re   u  rf   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re   y  rf   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re   }  rf   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re     rf   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re   …  rf   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re   ‰  rf   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re   ™  rf   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re     rf   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re   ¡  rf   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re   ¥  rf   c                      s   t ˆ ttƒˆdS rƒ   r„   r3   r…   r3   r4   re   ©  rf   )r.   rR   r   r)   r2   r/   r   Úsubsrw   r   r   r3   r3   r…   r4   Útest_classify_ode_icsH  sZ    	,r‡   c            *      C   sN  t ddd\} }}}t ddd\	}}}}}}	}
}}t dtd\}}}}}}t dtd\}}}}}}}t dtd\}}}t d	ƒ}t||ƒ|ƒ}t||ƒ|ƒ}t|t| ||ƒ ƒ|||ƒ||ƒƒ ƒt||||ƒƒ|||ƒ||ƒƒ ƒf} d
d||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdid||ƒ||ƒgd|||ƒ||ƒƒ t| ||ƒ ƒ t||ƒ|ƒ |||ƒ||ƒƒ |||ƒƒ t||ƒ|ƒ g||ƒd||ƒdidœ}!t| ƒ|!ksôJ ‚t|||ƒd
 ||ƒ||ƒ  ƒt|||ƒ||ƒ ƒf}"d
d||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfd||ƒ d||ƒdfdd||ƒdfd||ƒ d||ƒdfdid||ƒ||ƒgd||ƒd
  t||ƒ|ƒ ||ƒ||ƒ  ||ƒ ||ƒ t||ƒ|ƒ g||ƒd||ƒdidœ}#t|"ƒ|#ks6J ‚t||||ƒƒ|||ƒƒ |||ƒ||ƒ|ƒ ƒt||||ƒƒ|||ƒƒ |||ƒ||ƒ|ƒ ƒf}$||ƒ||ƒgdd|||ƒƒ |||ƒƒ |||ƒ||ƒ|ƒ t||ƒ|ƒ |||ƒƒ |||ƒƒ |||ƒ||ƒ|ƒ t||ƒ|ƒ gd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdi||ƒd||ƒdid
dœ}%t|$ƒ|%ksÀJ ‚t|||ƒ||ƒd  ƒt|||ƒd ƒf}&d
d||ƒdf||ƒd  d||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdid||ƒ||ƒgd||ƒ ||ƒd  t||ƒ|ƒ ||ƒd  t||ƒ|ƒ g||ƒd||ƒdidœ}'t|&ƒ|'ksäJ ‚t|||ƒ||ƒ t|ƒd
  ƒt|||ƒd
 t|ƒd
  ƒf}(d
d||ƒdf||ƒ t|ƒd
  d||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdfdd||ƒdf||ƒ t|ƒd
  d||ƒdfdid||ƒ||ƒgd||ƒ ||ƒ t|ƒd
  t||ƒ|ƒ ||ƒd
  t|ƒd
  t||ƒ|ƒ g||ƒd||ƒdidœ})t|(ƒ|)ksJJ ‚d S )Nz
k, l, m, nT)Z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Útrh   r   r:   Ztype2F)Úno_of_equationÚ
func_coeffÚtype_of_equationÚfuncÚ	is_linearrW   rQ   r<   Ztype3Ztype4)rŽ   r   r   rW   rŒ   rQ   r‹   ru   rz   Ztype1)r   r   r   r
   r   r   r    r   )*rx   ÚlÚmÚnÚk1Úk2Zk3Úl1Úl2Úl3Úm1Úm2Zm3ÚPÚQÚRÚpÚqÚrZP1ZP2ZP3ZQ1ZQ2ZR1ZR2rR   rw   r   rŠ   Úx1Úy1Úeq6Zsol6Úeq7Zsol7Zeq8Zsol8Zeq11Zsol11Zeq13Zsol13r3   r3   r4   Útest_classify_sysode³  s„    L:8ÿHÿ
ÿÿý8:HÿJÿýdfÿ88ÿý,6Fÿ4ÿý@>Xÿ.ÿ&ÿýr¤   c                  C   sÌ	  t ttƒ t¡dttƒ  ttƒtdƒdidtttƒtdt d ƒƒksNJ ‚t ttƒ t¡ttƒ ttƒtdƒdidtttƒttƒƒksJ ‚t ttƒ t¡ttƒ ttƒttƒ t¡ td¡didtttƒttƒƒksàJ ‚t ttƒ tt¡ttƒ ttƒtdƒdttƒ t¡ td¡didtttƒttƒt	tƒ ƒksDJ ‚t ttƒ t¡ttƒ t
tƒ t
tƒ t¡t
tƒ ttƒ gttƒt
tƒgtdƒdt
dƒdidtttƒttƒt	tƒ ƒtt
tƒttƒttƒ ƒgksàJ ‚td ttƒd  t  t¡} t | ttƒtdƒdidtttƒttd ƒ t ƒtttƒttd ƒt ƒgksTJ ‚t | ttƒttƒ t¡ td¡didtttƒtttj ƒ t ƒtttƒtttj ƒt ƒgks¼J ‚t	ttƒƒttttƒƒ ttƒd  ttƒ t¡  } t | ttƒtdƒdidddttt	ttƒƒ ttƒd d  tddƒƒksBJ ‚t | ttƒtdƒdidd	dttt	ttƒƒ ttƒd d  tddƒƒks’J ‚ttttƒtttƒ ƒgttƒgtgtdƒdiƒtdiksÒJ ‚ttttƒtttƒ tt	tƒ  ƒgttƒgttgtdƒdttd ƒdiƒtdtdiks0J ‚ttttƒtttƒ tt	tƒ  ƒgttƒgttgtdƒdttƒ t¡ td¡diƒtdtdiks˜J ‚ttttƒtttƒ tt	tƒ  ƒgttƒgttgtdƒdiƒtdiksæJ ‚tt ttƒ t¡ttƒ td¡t  tdƒdttƒ t¡ td¡didƒtttƒdƒtttƒtd d
 td  ƒhksdJ ‚tt ttƒ t¡ttƒ td¡t  tdƒdidƒtttƒdƒtttƒtt td d
  ƒhksÌJ ‚tdƒ\}}}tttƒ|| t|t ƒ | | |t|t ƒ | |  d   ƒ}t tttƒ t¡|ttƒ dttƒ|   ƒttƒtdƒ|id|kslJ ‚tt ttƒ t¡ttƒ td¡t  ttƒ t¡ td¡dtdƒdidƒtttƒdƒtttƒtd d
 ƒhksâJ ‚tt ttƒ t¡ttƒ td¡t  tdƒdttƒ t¡ td¡didƒtttƒdƒtttƒtd d
 ƒhksXJ ‚ttdd„ ƒ ttdd„ ƒ tdƒ\}}}tttƒttt  ttd   ttd   |td  d|   ƒg}ttƒg}	ttttg}
tdƒdttƒ t¡ td¡dt|ƒ |d¡dt|ƒ |d¡di}tdƒdttƒ t¡ td¡dtttƒ td¡t|ƒdtttƒ td¡t|ƒdi}t||	|
|ƒ}t||	|
|ƒ}||  krÒtdtdt|d | d|  t| | d
|  iksØn J ‚tdƒtdƒi}t ttƒ t¡ttƒ ttƒ|dtttƒtdƒttƒ ƒk	s,J ‚ttƒ t¡ td¡ttƒ t¡ td¡tdƒtdƒi}t ttƒ tt¡ttƒ ttƒ|dtttƒtdƒt	tƒ ttƒ t¡ td¡ttƒ  ƒk	sÈJ ‚d S )Nr:   rh   r[   r   rH   F)r\   r8   r_   ru   Té   zK r f0c                   S   sH   t tttƒtttƒ tttƒ  ƒgttƒgttgtdƒdttƒdiƒS )Nr   r:   )	r$   r
   r.   rR   rV   r   ÚC2r   r	   r3   r3   r3   r4   re     rf   z test_solve_ics.<locals>.<lambda>c                   S   sD   t tttƒtttd  ƒƒgttƒgtgttƒ t¡ td¡diƒS )Nrh   r   )r$   r
   r.   rR   r   rV   r   r†   r3   r3   r3   r4   re     rf   zEI q Lé   é   )r   r.   rR   r   r
   r   r   r†   r   r   r/   r   ÚHalfr   r$   rV   r¦   r	   Úsetr   r)   r2   ÚC3ÚC4r   )rW   ÚKrŸ   Zf0ÚsolZEIrž   ÚLZsolsÚfuncsÚ	constantsZics1Zics2Zsolved_constants1Zsolved_constants2r\   r3   r3   r4   Útest_solve_icsâ  sÀ    .ÿBP&ÿÿ
< ÿ2ÿ
 ÿÿ.ÿÿ6
ÿ*ÿ

ÿ*ÿ
@2ÿ
ÿ
2 ÿ
ÿ
>ÿ
J*ÿ
4*ÿ
FLJ"ÿ
J"ÿ
D
ýýüD8$6ÿr²   c                  C   s^  t dƒ} t dƒ}tdƒ}td| t| |ƒƒ | |ƒƒdks>J ‚t|t| |ƒ|ƒ d| | |ƒ  t|ƒ|  | |ƒƒdks~J ‚t|d | |ƒ ||¡ |t| |ƒ|ƒ  | |ƒ | |ƒƒdksÂJ ‚tt|t| |ƒƒ ||ƒ| |ƒƒdksìJ ‚tt|t|t| |ƒƒ ||ƒ |ƒ| |ƒƒdks"J ‚tt| |ƒ||ƒ||ƒƒdksFJ ‚tt| |ƒ||ƒt||ƒ|ƒ | |ƒƒdksxJ ‚tt| |ƒ||ƒt||ƒ|ƒ ||ƒƒdksªJ ‚tt|t|t| |ƒƒ ||ƒ |ƒ||ƒƒdksàJ ‚tt|| |ƒ |ƒ| |ƒƒdksJ ‚t|tt|| |ƒd  ||ƒƒ | |ƒƒdks:J ‚tt|t|t| |ƒƒ ||ƒ |ƒ||ƒƒdkspJ ‚tt| |ƒ||ƒ||ƒƒdks”J ‚tt|t| |ƒƒ ||ƒ| |ƒƒdksÀJ ‚tt| |ƒ||ƒt||ƒ|ƒ ||ƒƒdksòJ ‚tt|t| |ƒ||ƒ |ƒ| |ƒƒdks J ‚t|tt|t| |ƒ|ƒd  ||ƒƒ | |ƒƒdksZJ ‚d S )Nr.   r/   rR   ru   r   r:   rh   )r   r   r'   r   r   r   r   )r.   r/   rR   r3   r3   r4   Útest_ode_order=  s0    &@D*6$226&46$,2.*ÿÿr³   c                  C   sh  t ttt ƒttt ƒ ttƒdks(J ‚t td ttƒttƒ  ttƒd u sPJ ‚t tt tttt ƒ  ttƒdksxJ ‚t tt ttd td  ƒ td ttƒttƒ   t	tt
ddƒ  ttƒd   ttƒt
ddƒksàJ ‚t tt ttt ƒ tt ttt ƒ  ttt ƒ ttƒdks&J ‚t ttƒtttƒƒdksDJ ‚t ttƒd tttƒƒdksfJ ‚t tt t ttƒdks„J ‚t tt t tttƒdks¤J ‚t td ttƒ ttd ttƒd  ƒ ttƒƒd u sàJ ‚t tttƒd ttttƒtƒdksJ ‚t tttƒd tttƒtƒd u s.J ‚t tttƒd ttttƒƒd u sTJ ‚t tttƒd tttttƒƒd u s|J ‚t ttƒttƒtƒd u sšJ ‚t ttƒ t dtttƒt ƒ  ttƒtƒdksÒJ ‚t tdt ƒttd ƒ ttƒd u süJ ‚t tdt ƒttƒ ttƒdks"J ‚t ttt ƒttƒdks@J ‚t dtdt ƒ dttƒ  ttƒdksnJ ‚tdƒ} t | tdt ƒ | ttƒ  ttƒdks¤J ‚t ttƒ t¡ttƒd u sÄJ ‚t ttƒ t¡ t ttƒd u sêJ ‚t ttƒttƒd u sJ ‚t tttd ƒ ttƒd u s&J ‚t tt	 tƒt	ks>J ‚t tt tƒd u sVJ ‚ttd	d
„ ƒ d S )Nr   rh   r:   r§   ru   r<   r¥   rl   c                   S   s   t tt ƒS r1   )r   rR   rw   r3   r3   r3   r4   re   u  rf   z(test_homogeneous_order.<locals>.<lambda>)r   r   rw   rR   r   r   r   r   r   r	   r   r.   r   r   r   r   r)   r2   )rl   r3   r3   r4   Útest_homogeneous_orderW  sF    (((4ÿÿÿF" <(&&(8*&.. &"r´   c                  C   s:   t dt ƒ} t| ƒt| ƒ }}| t¡r6| t¡r6J ‚d S )Nr:   )r   rR   r   r   rk   r   )rw   ÚirŸ   r3   r3   r4   Ú)test_noncircularized_real_imaginary_partsx  s    r¶   c                  C   s.   dt td ƒ } | t| t td ƒƒks*J ‚d S )Nr:   rh   ru   )r   rR   r   )r®   r3   r3   r4   Ú$test_collect_respecting_exponentials‚  s    r·   c                  C   s|  t ttƒtƒddiksJ ‚t tdt tdƒ ƒtƒdtdt tdƒ ƒtdt tdƒ ƒhdœksfJ ‚t ttƒttƒ tƒddiksˆJ ‚ttƒtttƒ td ttƒ td ttƒ tttƒ ttƒh} t ttƒtd t d  tƒd| dœksôJ ‚t ttƒtd  ttƒt  ttƒ tƒd| dœks.J ‚t tdt ƒttƒ td t d  tƒdtdt ƒttƒ td tdt ƒ ttƒ ttƒtdt ƒ td ttƒ tdt ƒ tttƒ tdt ƒ ttdt ƒ ttƒ hdœksìJ ‚t dttƒ tƒddiksJ ‚t ttƒtƒddiks(J ‚t dt td t d  tƒddt tdt  td dt  hdœkstJ ‚t tt tƒddiksJ ‚t ttƒtdt d ƒ tƒdtddt  ƒhdœksÌJ ‚t ttƒtd t d  tƒdtttƒ tttƒ td ttƒ td ttƒ ttƒttƒhdœks6J ‚t ttƒtttƒ  tƒddiks^J ‚t ttƒttdt ƒ  tƒddiksŠJ ‚t ttƒt	tƒ tƒddiks®J ‚t td ttƒ ttƒ tttƒ  t tƒdtd ttƒ ttƒ tttƒt
jttƒttƒ ttƒtttƒ ttƒ tttƒ tttƒ ttƒ tttƒ ttƒttƒ td ttƒ ttƒ hdœks~J ‚t d	t ttd ƒ tƒtttd ƒ tttd ƒ ttd ƒttd ƒhdd
œksØJ ‚t dt t tƒddt tdt  hdœks
J ‚t dt tdt ƒ tƒddt tdt ƒ hdœksFJ ‚t tt ƒt tƒddikshJ ‚t t
d	ƒtƒdt
jhdœksŠJ ‚t dttƒ tƒdttƒhdœks²J ‚t ttt ƒtƒdttt ƒhdœksÞJ ‚t ttƒtƒdttƒttƒhdœksJ ‚t ttƒtƒdttƒttƒhdœks2J ‚t ddttƒ  dttƒ  tƒdt
jttƒttƒttƒhdœkszJ ‚t td tƒdt
jttd hdœks¤J ‚t dt ttƒ tt ƒ tƒdtttƒ ttƒtt ƒhdœksìJ ‚t dtdt ƒ ttƒ tƒdtdt ƒttƒ ttƒtdt ƒ hdœks>J ‚t tttƒ tƒdt
jtttƒttƒhdœksrJ ‚t td dt  tƒdt
jttd hdœks¤J ‚t d	t ttƒ tƒdtttƒ tttƒ ttƒttƒhdœksêJ ‚t ttdt ƒ tƒdttdt ƒ ttdt ƒ tdt ƒtdt ƒhdœks@J ‚t td tt ƒ tƒdttt ƒ td tt ƒ tt ƒhdœksŒJ ‚t dtt ƒ td tt ƒ  tƒdttt ƒ td tt ƒ tt ƒhdœksæJ ‚t tdt ƒtd  tƒdt
jttd tdt ƒhdœk	s&J ‚t ttt ƒ tƒdttt ƒ tt ƒhdœk	s^J ‚t ttdt ƒ tƒdt
jttdt ƒhdœk	s”J ‚t ttƒtt ƒ tƒdttƒttƒtt ƒhdœk	sÐJ ‚t ttƒtƒdttƒhdœk	sôJ ‚t t
jtdt ƒd  tƒdt
jtdt ƒtdt ƒhdœk
s8J ‚t tdt ƒt
jtdt ƒd   tƒdtdt ƒtdt ƒ tdt ƒtdt ƒ tdt ƒhdœk
s¦J ‚t dt ttƒ ttƒ tƒdt
jtttƒttƒhdœk
sæJ ‚t ttƒd tdt ƒd  tƒdttƒtdt ƒttƒtdt ƒhdœks8J ‚t ttd ƒtƒddiksXJ ‚t dtd  tƒddiksxJ ‚d S )NÚtestFrh   rz   T)r¸   Útrialsetr:   ru   r§   )r¹   r¸   é   é   r¥   é	   rv   )r%   r/   rR   r   r   r   r   r   rw   r   r   ZOner   r©   )Úsr3   r3   r4   Ú$test_undetermined_coefficients_match‰  s2   &ÿÿÿ@ÿ$ÿÿ
$ÿ.Bþÿþ
 &ÿ
ÿ
$ÿÿ
ÿ
ÿ
ÿ
(ÿ$B.þÿþ
2þÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
 ÿ
ÿ
 ÿ
,ÿ
ÿ
ÿ
(ÿ
2ÿÿ
,ÿ
$,ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
 ÿ
"ÿ.
ÿÿþ
ÿ
 (ÿ
 r¾   c                  C   sª   ddl m}  t| ttttƒtƒ ttƒ   tttƒtƒ ttƒ d }t|ttƒƒdks^J ‚td ttƒd  ttƒ t¡ dt ttƒ  }t|ttƒƒdks¦J ‚d S )Nr   )ÚArh   )rb   rH   rF   r@   r`   rL   rJ   rr   rs   rI   rG   r>   ra   rt   )
rb   rH   r?   rD   rK   rL   rJ   rI   rM   r;   )Z	sympy.abcr¿   rR   r   r.   r   )r¿   rW   r3   r3   r4   Útest_issue_4785_22462ø  s
    <2rÀ   c                   C   sˆ   t tdd„ ƒ ttttƒ t¡ttttƒ  ttƒdddd ddœksJJ ‚t tdd„ ƒ tttƒ t¡ttƒdddd ddœks„J ‚d S )	Nc                   S   s(   t tttƒ t¡ttttƒ  ttƒƒS r1   )r   r.   rR   rw   r   r3   r3   r3   r4   re     rf   z!test_issue_4825.<locals>.<lambda>Tr{   r   r3   )rQ   rP   r~   c                   S   s   t ttƒ t¡ttƒƒS r1   )r   r.   rR   r   rw   r3   r3   r3   r4   re     rf   )r)   r2   r   r.   rR   rw   r   r3   r3   r3   r4   Útest_issue_4825  s    *
ÿ
ÿrÁ   c                  C   s¦   ddl m}  ttt tt  ƒttt tt  ƒ  krLtt tt  ksRn J ‚ttt  tt  }| tttgdƒD ]*\}}}t||t  |t  ƒ|ksvJ ‚qvd S )Nr   )Ú
variationsru   )Zsympy.utilities.iterablesrÂ   r!   rV   rR   r¦   rw   r«   )rÂ   Úerl   rm   rn   r3   r3   r4   Ú'test_constant_renumber_order_issue_5308  s    ÿþrÄ   c                  C   sâ   t dƒ\} }}}|| | | ||  g}t|d ƒ|| ks@J ‚t|d |gdt| ks^J ‚t|d |gtgdt| ks€J ‚t|||gdt| t| t|  gks¬J ‚t|||gt dƒdt| t| t|  gksÞJ ‚d S )Nze1:3 x yr   )Ú	variables)rÅ   ZnewconstantszC3:5)r   r!   rV   r¦   r«   r¬   )Úe1Úe2rR   rw   Úexprsr3   r3   r4   Útest_constant_renumber#  s    ",rÉ   c                  C   sl  t ddd} t dƒ}tdƒ}t||ƒ |d¡| d ||ƒ  ||ƒƒ}tdd„ |jD ƒƒdksbJ ‚tttt	ƒ t
tt	ƒ  tt	ƒ tt
hƒttt	ƒ tt	ƒ ks¤J ‚tttt	ƒ t
tt	ƒ  ttt	ƒ  tt
thƒttt	ƒ ttt	ƒ  ksðJ ‚tttt	 ƒthƒttt	ƒ ksJ ‚tt	t t tthƒtt	 ks:J ‚tt	t tt	t	d	d
fƒ thƒtt	 kshJ ‚d S )Nrx   Tr,   rŠ   Úwr¥   c                 S   s   g | ]}|j  d ¡r|‘qS )ÚC)ÚnameÚ
startswith)Ú.0r½   r3   r3   r4   Ú
<listcomp>3  rf   z#test_issue_5770.<locals>.<listcomp>r:   rh   )r   r   r   r   ÚlenZfree_symbolsr"   rV   r   rR   r¦   r   r«   r   rw   r   )rx   rŠ   rÊ   r®   r3   r3   r4   Útest_issue_5770.  s    *(ÿ.ÿ&$rÑ   c                   C   s@   t ttƒ ttƒ tƒd u s J ‚t tttƒ ttƒd u s<J ‚d S r1   )r   r   rR   r   rw   r3   r3   r3   r4   Útest_issue_5112_5430=  s     rÒ   c                      s   t dƒ‰ tt‡ fdd„ƒ d S )Nr.   c                      s   t ˆ tƒ t¡d ˆ tƒdƒS )Nrh   Zfdsjf)r   rR   r   r3   ©r.   r3   r4   re   D  rf   z!test_issue_5095.<locals>.<lambda>)r   r)   r2   r3   r3   rÓ   r4   Útest_issue_5095B  s    rÔ   c                  C   s¼  t dƒ} tt| tƒ ƒ}tdt d| tƒ  ƒ}tt| tƒ tddƒ ƒ}tdt d| tƒ  d| tƒ dt   ƒ}tdtd  d| tƒd   ƒ}tdt d| tƒ  d| tƒ dt   tdtd  d| tƒd   ƒ ƒ}tdt d| tƒ td   ƒ}t|t| tƒƒd ksJ ‚t|t| tƒƒdks6J ‚t|t| tƒƒd ksPJ ‚t|t| tƒƒdksjJ ‚t|t| tƒƒdks„J ‚t|t| tƒƒdksžJ ‚t|t| tƒƒd ks¸J ‚d S )Nr.   ru   r§   rz   é   rh   r   )	r   r   rR   r   r   r   r   r   r   )r.   Úeq1Úeq2Úeq3Úeq4Úeq5r¢   r£   r3   r3   r4   Útest_homogeneous_functionG  s    , L rÛ   c                  C   sä  t dt dttƒ  d  t dt dttƒ  d   } }| | }t|ƒt| ¡ ƒ }t|ƒ}|}t|ƒ}tt|ƒƒ}t|ƒ}dtddƒf}	| 	|ttƒ¡|	ks¤J ‚| 	|ttƒ¡|	ks¼J ‚| 	|ttƒ¡|	ksÔJ ‚dt ttƒ }
t|
ƒ}dt d t }t|ƒ}dt dttƒ  d	 dt dttƒ  d  }t|ƒ}dt dttƒ  t
dƒ dt dttƒ  d  }t|ƒ}| 	|
ttƒ¡d u s’J ‚| 	|ttƒ¡d u s¬J ‚| 	|ttƒ¡d u sÆJ ‚| 	|ttƒ¡d u sàJ ‚d S )
Nrh   ru   rz   rÕ   r¼   é   r§   ióÿÿÿr:   )r   rR   r.   r   r   Úexpandr&   r   r   Z_linear_coeff_matchr   )r’   ÚdZratrÖ   Zobj1r×   Úobj2rØ   Zobj3r   rÙ   Zobj4rÚ   Zobj5r¢   Zobj6r£   Zobj7r3   r3   r4   Útest_linear_coeff_matchY  s0    :04rà   c                  C   s>   t tƒd } tttt tƒ|  | t  tgƒƒjƒdks:J ‚d S )Nrh   )r   rV   rÐ   r   r"   rR   Zgens)rn   r3   r3   r4   Útest_constantsimp_take_problemy  s    rá   c                  C   sº  t dƒ} ttƒ t¡ttƒ }tttƒ| | t  | td  d  | td  d  | td  d  | td  d  ttd ƒ ƒ}t|d	d
|ks”J ‚t||ddd sªJ ‚ttƒ t¡tttƒ  }tttƒ| td  d | td  d  |  ttd ƒ ƒ}t|d	d
|ksJ ‚t||ddd s,J ‚ttƒ t¡ttttƒ ƒ }tttƒtd d dtdƒ  t	dƒ td tdƒ  d ttd ƒ ƒ}t|d	tdƒdidd|ks¶J ‚d S )NrV   rh   ru   r¥   r§   r¨   rz   éx   rL   r7   r:   )rQ   r   r»   )r8   r\   r’   )
r   r.   rR   r   r
   r   r   r   r   r   )rV   rW   r®   r3   r3   r4   Útest_series~  s     Bÿ
ÿ:Jrã   c                  C   s4  t dƒ\} }ttƒ td¡tttƒ  }t|ƒdks8J ‚tttƒ|td d d  | t td d d   ttd ƒ ƒ}t|dd	|ksŽJ ‚t||ƒd
ks J ‚tttƒ|td d d td d d  td d  d  | ttd d d  td d d  t	dƒ   ttd ƒ ƒ}t|ddd|ks2J ‚tttƒ|t |  ttd ƒ ƒ}t|ddd|kslJ ‚t||ƒd
ks€J ‚dtd  ttƒ td¡ dt ttƒ t¡  dttƒ  }t|ƒdksÐJ ‚tttƒ|td  d td  d  | t  ttd ƒ ƒ}t|dd	|ks"J ‚t||ƒd
ks6J ‚ttƒ td¡tttƒ t¡  ttƒ }t|ƒdksrJ ‚tttƒ|td d td d  d  | t td  d d   ttd ƒ ƒ}t|ƒ|ksÔJ ‚ttƒ td¡ttƒ t¡ tttƒ  }t|ƒdksJ ‚tttƒ|td  d td d  d  | t td d td d  td  d   ttd ƒ ƒ}t|ƒ|ks†J ‚ttƒ td¡tttƒ  }t|ƒdks´J ‚tttƒ|td d td d  d  | t td  d d   ttd ƒ ƒ}t|ddd|ksJ ‚t||ƒd
ks0J ‚d S )NzC1 C2rh   )Z2nd_linear_airyrp   ru   r¥   r:   rº   rp   r7   ©Tr   r§   rv   )r8   Zx0)r8   r’   )rb   Z2nd_hypergeometricZ2nd_hypergeometric_Integralrp   )rb   rp   r»   )rp   r¨   é´   rÕ   )
r   r.   rR   r   r   r
   r   r   r   r   )rV   r¦   rW   r®   r3   r3   r4   Útest_2nd_power_series_ordinary’  sJ    B:.ÿ
þ"><*P*(*ÿ
ÿPræ   c                  C   s  t dƒ\} }}td ttƒ td¡ dt ttƒ t¡  dt d ttƒ  }tttƒ| td  dtd  d dtd   dt  d  ttd ƒ ƒ}t|d	d
|ks®J ‚t||ƒdksÀJ ‚dtd  ttƒ td¡ dtd  ttƒ t¡  dtd  d ttƒ  }tttƒ| ttƒ td d td d  td d  t d  ttd ƒ ƒ}t|d	d
|ksrJ ‚t||ƒdks†J ‚td ttƒ td¡ td ttƒ t¡  td d ttƒ  }tttƒ| td  d dtd  d  td d  td d  td  d  t |td  td  d td d  td  d   ttd ƒ ƒ}t|ƒ|kslJ ‚t||ƒdks€J ‚td ttƒ td¡ tttƒ t¡  td t	ddƒ ttƒ  }tttƒ| td d td d  d  ttƒ |ttƒ td d td d  d   ttd ƒ ƒ}t|d	d
|ks@J ‚t||ƒdksTJ ‚tttƒ td¡ ttƒ t¡ |t ttƒ  }tttƒ| |d td  d |td  d  d  ttd ƒ ƒ}t|ttƒd	d
|ksäJ ‚t||ƒdksøJ ‚ttƒ td¡dt t ttƒ t¡  |t ttƒ  }tttƒ| | td  |d  |d  |d  |d  d |td  |d  |d  |d  d  |td  |d  |d  d  |td  |d  d  |t  d  ttd ƒ ƒ}t|ttƒd	d
|ksJ ‚t||ƒdksJ ‚d S )NzC1 C2 arh   ru   r§   iðÿÿÿr¼   r:   r¥   Z2nd_power_series_regularr7   rä   r»   r¨   iÐ  rz   éP   é<   é   râ   é@   i@8  i@  é$   )
r   rR   r.   r   r
   r   r   r   r   r   )rV   r¦   rl   rW   r®   r3   r3   r4   Útest_2nd_power_series_regularÅ  sf    BJ>ÿÿN,ÿP0ÿ
ÿD.&ÿ
ÿ2B::&ÿÿþþþ
þrì   c                  C   s4   t dƒ} t dƒ}tt dƒtdƒ| ƒ ƒ|ks0J ‚d S )NrŠ   r«   rV   r¦   )r   r#   r   )rŠ   r«   r3   r3   r4   Útest_issue_15056ì  s    rí   c                  C   sÚ   t  t dt ttƒ  ttƒ tttƒtƒ } tttd t ƒ ttd t ƒtt ttd  t ƒ t tƒ  }t| |ƒdks†J ‚t ttt t ƒ  }ttttƒ tƒttƒ 	td¡ } t| |ttƒƒdksÖJ ‚d S )Nrh   rä   )
rV   rR   r.   r   r¦   r   r   r   rw   r   ©rW   r®   r3   r3   r4   Útest_issue_15913ò  s    0D"rï   c                   C   s    t tdd„ ƒ t tdd„ ƒ d S )Nc                   S   s4   t ttƒ t¡ttƒ t¡gttƒttƒttƒgƒS r1   )r   r.   rR   r   r/   r0   r3   r3   r3   r4   re   ü  rf   z"test_issue_16146.<locals>.<lambda>c                   S   s(   t ttƒ t¡ttƒ t¡gttƒgƒS r1   )r   r.   rR   r   r/   r3   r3   r3   r4   re   ý  rf   )r)   r2   r3   r3   r3   r4   Útest_issue_16146û  s    rð   c                  C   sö   t tƒd t tƒ t¡ } tt tƒtƒ}t| ƒ|ks8J ‚t tƒttƒ t tƒ td¡ } tt tƒttt  ƒtt tƒttƒƒh}tt| ƒƒ|ks”J ‚t tƒd dt tƒ  d t tƒ td¡ } tt tƒttt  t	td   ƒ}t| ƒ|ksòJ ‚d S )Nrh   r:   ru   )
r.   rR   r   r
   rV   r   r   r¦   rª   r«   rî   r3   r3   r4   Ú&test_dsolve_remove_redundant_solutions   s     (,"rñ   c                  C   s~   t dtd\} }tdƒ}tt| |ƒ|ƒ| |ƒ||ƒ ƒtt||ƒ|ƒ| |ƒ||ƒ ƒg}t|ƒ}t||ƒdddgfkszJ ‚d S )NzA Brˆ   rŠ   Tr   )r   r   r   r
   r   r   r   )r¿   ÚBrŠ   rW   r®   r3   r3   r4   Útest_issue_13060  s
    @ró   c                  C   sÄ   t dƒ\} }tdƒ}d|  t| d ƒ ||ƒ d|d  | d  | d| | d   d  t||ƒ|dfƒ  }t|ddd	}|d
 d dksJ ‚t dƒ\}}t|d
d}t|ƒttdƒƒksÀJ ‚d S )NzN sÚrhog      @r:   r§   rh   Tr6   r}   rp   Ztermsrz   zC1,C2r7   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½   rô   ZeqnÚmatchrV   r¦   r®   r3   r3   r4   Útest_issue_22523  s    Dÿrø   c                  C   s$  t dtd\} }t ddd\}}}}}d\}}}}t|t| |ƒ|dƒ || |ƒ  |||ƒ| |ƒ   dƒ}t|t||ƒ|dƒ |||ƒ| |ƒ   dƒ}||g}	t|	| |ƒ||ƒg| dƒd| |ƒ ¡  |d¡d|dƒd	||ƒ ¡  |d¡did
\}
}|
t| |ƒtdtdƒ ƒtdƒdtdƒ   ttdƒ| tdtdƒ ƒ d ƒ d dtdƒ tdƒ ttdƒd ƒ ttdƒ| ttdƒd ƒ d ƒ d  ƒks¤J ‚|t||ƒtdƒd ttdƒ| tdtdƒ ƒ d ƒ d dtdƒ ttdƒ| ttdƒd ƒ d ƒ d  ƒks J ‚d S )Nzx1, x2rˆ   zt k1 k2 m1 m2Tr,   )r:   r:   r:   r:   rh   r   r:   r[   ru   rz   é
   ré   éûÿÿÿ)r   r   r
   r   r   r†   r   r   )r    Zx2rŠ   r“   r”   r˜   r™   rÖ   r×   ZeqsZx1solZx2solr3   r3   r4   Útest_issue_22604-  s    :..ÿTJÿrû   c                  C   s€   t ttƒ t¡dttƒd  dttƒ d  ƒt ttƒ t¡dttƒd  dttƒ d  ƒfD ]} dt| ttƒƒv s`J ‚q`d S )	Niìÿÿÿrh   iô  i   rv   rz   rÕ   r@   )r
   r.   rR   r   r   )Úder3   r3   r4   Útest_issue_22462;  s    ..þrý   c                  C   sP   t dƒ} tdƒ}tt|   || ƒ ¡  ¡  || ƒ ¡  dƒ}t|ƒdksLJ ‚d S )NrR   rw   r   )rg   Znth_order_reduciblerp   rq   )r   r   r
   r   r   r   )rR   rw   rW   r3   r3   r4   Útest_issue_23425B  s    ,ÿrþ   N)uZsympy.core.functionr   r   r   r   Zsympy.core.numbersr   r   r   r	   Zsympy.core.relationalr
   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Z$sympy.functions.elementary.complexesr   r   Z&sympy.functions.elementary.exponentialr   r   Z%sympy.functions.elementary.hyperbolicr   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr   r   r   r   Zsympy.integrals.integralsr   Zsympy.polys.polytoolsr   Zsympy.series.orderr   Zsympy.simplify.radsimpr   Zsympy.solvers.oder   r   r   Zsympy.solvers.ode.subscheckr   Zsympy.solvers.ode.oder    r!   r"   r#   r$   Z sympy.solvers.ode.nonhomogeneousr%   Zsympy.solvers.ode.singler&   Zsympy.solvers.deutilsr'   Zsympy.testing.pytestr(   r)   r*   Zsympy.utilities.miscr+   ZC0rV   r¦   r«   r¬   ZC5ZC6ZC7ZC8ZC9ZC10ÚurR   rw   r   r.   r/   r0   r5   rZ   r^   ro   r‚   r‡   r¤   r²   r³   r´   r¶   r·   r¾   rÀ   rÁ   rÄ   rÉ   rÑ   rÒ   rÔ   rÛ   rà   rá   rã   ræ   rì   rí   rï   rð   rñ   ró   rø   rû   rý   rþ   r3   r3   r3   r4   Ú<module>   s‚   &
G  k/[!
	o
 
2'	