o
    jg|½  ã                   @   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=m>Z> d dl?m@Z@ edƒ\ZAZBZCZDZEZFZGZHZIZJZKeddd\ZLZMZNZOedƒZPedƒZQedƒZRdd„ ZSd d!„ ZTd"d#„ ZUe=d$d%„ ƒZVd&d'„ ZWd(d)„ ZXd*d+„ ZYd,d-„ ZZd.d/„ Z[d0d1„ Z\e;d2d3„ ƒZ]d4d5„ Z^d6d7„ Z_d8d9„ Z`d:d;„ Zad<d=„ Zbd>d?„ Zcd@dA„ ZddBdC„ ZedDdE„ ZfdFdG„ ZgdHdI„ ZhdJdK„ ZidLdM„ Zje=dNdO„ ƒZkdPdQ„ ZldRdS„ ZmdTdU„ ZndVdW„ ZodXdY„ ZpdZd[„ Zqd\d]„ Zrd^d_„ Zsd`da„ Ztdbdc„ Zue>ddƒdedf„ ƒZvdgS )hé    )Ú
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                   C   s6   t tƒ td ƒ W d   ƒ d S 1 sw   Y  d S ©N)r)   Ú
ValueErrorr#   © r4   r4   úX/var/www/html/zoom/venv/lib/python3.10/site-packages/sympy/solvers/ode/tests/test_ode.pyÚtest_get_numbered_constants0   s   

"ÿr6   c               
   C   s  t tƒ t¡} t| dd}|d }|jjd d }|d }|jjd jd d }i dtt tƒtt	dtƒ ƒ“dtt tƒtƒ“d	tt tƒtƒ“d
tt tƒtƒ“dtt tƒtƒ“dtt tƒtƒ“dtt tƒtƒ“dtt tƒtƒ“dtt tƒtƒ“dtt tƒtƒ“dtt tƒtt	dtƒ ƒ“dtt tƒtƒ“dtt
t	dtƒt	d|ƒ |t tƒƒtƒ“dtt tƒtƒ“dtt tƒtƒ“dtttƒtt	d| |t tƒt fƒ ƒ“d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Ú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ÚorderrO   )r/   Úxr   r   ÚlhsÚargsÚrhsr
   ÚC1r   r   r   )ÚeqÚoutputÚsol1Ú_yÚ_u1Úexpectedr4   r4   r5   Útest_dsolve_all_hint5   s`   ÿþýüûúùø	÷
öõ&ôóò(ñð ê$r^   c                   C   sX   t tƒ tttƒ t¡tttƒƒ tdƒdid W d   ƒ d S 1 s%w   Y  d S )Nr;   ©Úics)r)   ÚNotImplementedErrorr   r/   rS   r   r   r4   r4   r4   r5   Útest_dsolve_ics[   s   
,"ÿrb   c               
      sn  t tt ƒ t ¡ tt ƒ ‰ tˆ dd} tˆ ddd}tˆ dd}g d¢}g d¢}t|  ¡ ƒ|ks2J ‚| d tˆ tt ƒƒks?J ‚| d	 ttt ƒtt  ƒksNJ ‚tˆ d	dttt ƒtt  ƒks_J ‚| d
 dksgJ ‚| d dksoJ ‚| d  	t
¡rxJ ‚| d  	t
¡rJ ‚| d  	t
¡rŠJ ‚| d  	t
¡r“J ‚| d  	t
¡rœJ ‚| d  	t
¡r¥J ‚| d  	t
¡s®J ‚| d  	t
¡s·J ‚| d  	t
¡sÀJ ‚| 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sJ ‚|d
 dksJ ‚|d dksJ ‚| d |d ks(J ‚| d |d ks3J ‚| d |d ks>J ‚|d  	t
¡rHJ ‚|d  	t
¡rRJ ‚|d  	t
¡r\J ‚|d  	t
¡rfJ ‚|d  	t
¡rpJ ‚|d  	t
¡rzJ ‚|d  	t
¡s„J ‚|d  	t
¡sŽJ ‚|d  	t
¡s˜J ‚|d  	t
¡s¢J ‚|d  	t
¡s¬J ‚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s5J ‚d S )Nr7   r8   F)r9   ÚsimplifyÚall_Integral)rH   rI   r>   rK   r<   rD   rN   rF   rG   r?   r=   Úalmost_linearÚalmost_linear_IntegralrO   rP   rQ   Ú
factorablerJ   rA   rR   rC   r:   )rI   r<   rN   rG   r=   rf   rO   rP   rQ   rg   rA   rR   r:   rR   rO   rQ   rg   rP   rH   rC   r>   rK   rD   rF   rG   rI   r<   rN   r:   c                      ó   t ˆ ddS )NÚnotarealhintr8   ©r   r4   ©rX   r4   r5   Ú<lambda>Ÿ   ó    z%test_dsolve_options.<locals>.<lambda>c                      rh   )NÚ	Liouviller8   rj   r4   rk   r4   r5   rl       rm   r;   é   )rS   r/   r   r   ÚsortedÚkeysr'   r
   rW   Úhasr   r)   r3   r   r   )ÚaÚbÚcrq   ÚIntegral_keysr4   rk   r5   Útest_dsolve_optionsa   s€   
"&
ÿ
ÿ($
ÿ.ÿÿÿÿþrw   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s1J ‚t ttƒ t¡d ttƒƒdksCJ ‚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s˜J ‚|dksžJ ‚|dks¤J ‚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sEJ ‚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szJ ‚t tdtd  ttƒ t¡ dƒttƒƒdks”J ‚t tdttƒd  ttƒ t¡ dƒttƒƒdks°J ‚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s,J ‚t ttƒ t¡tttƒt ƒ ttƒƒ} | dksGJ ‚d S )Nro   )r@   rB   rA   rn   Ú2nd_power_series_ordinaryrE   ÚLiouville_Integral)r@   rE   r   )r@   rC   rH   rF   r?   r>   rD   rK   rM   rJ   rB   rA   rE   r:   rI   rG   r=   rN   r<   )rg   r@   rC   rH   rF   r?   r>   rD   rK   rM   rJ   rA   rE   r:   rI   rG   r=   rN   r<   )rH   rF   r?   re   rM   rJ   Ú3nth_linear_constant_coeff_undetermined_coefficientsÚ1nth_linear_constant_coeff_variation_of_parametersrI   rG   r=   rf   Ú:nth_linear_constant_coeff_variation_of_parameters_Integral)
rg   rF   r?   rM   rJ   rz   r{   rG   r=   r|   r;   )rg   rH   r?   re   rJ   rI   r=   rf   ÚRiccati_special_minus2é   éþÿÿÿc                   S   s&   t ttttƒ t¡ t¡ tttƒƒS r2   )r   rS   r/   Úyr   r4   r4   r4   r5   rl     s
    ÿÿz#test_classify_ode.<locals>.<lambda>Úk)rg   rC   rH   rF   r?   rM   rJ   r:   rI   rG   r=   )rg   r@   rC   rH   rF   r?   r>   rD   rK   rM   rJ   rz   Ú<nth_linear_euler_eq_nonhomogeneous_undetermined_coefficientsr{   Ú:nth_linear_euler_eq_nonhomogeneous_variation_of_parametersrE   r:   rI   rG   r=   rN   r<   r|   ÚCnth_linear_euler_eq_nonhomogeneous_variation_of_parameters_IntegralT)Úprep)rg   r@   rC   rH   rF   r?   rM   rJ   rA   rE   r:   rI   rG   r=   )rg   r@   rC   rH   rF   r?   rM   rJ   rE   r:   rI   rG   r=   )rM   rJ   é   ©Údict)rQ   rB   rR   r?   ©rˆ   r9   )r?   r=   rQ   rR   Úordered_hints)rC   rH   rM   rJ   r:   rI   )r   r/   rS   r   r
   r   r)   r3   r   ÚzÚ
isinstancerˆ   rp   rq   )rs   rt   ru   r   Úansr4   r4   r5   Ú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                      ó   t ˆ ttƒˆdS ©Nr_   ©r   r/   rS   r4   ©rX   r`   r4   r5   rl   N  ó    z'test_classify_ode_ics.<locals>.<lambda>r   c                      r   r   r‘   r4   r’   r4   r5   rl   X  r“   c                      r   r   r‘   r4   r’   r4   r5   rl   \  r“   c                      r   r   r‘   r4   r’   r4   r5   rl   `  r“   c                      r   r   r‘   r4   r’   r4   r5   rl   d  r“   r_   c                      r   r   r‘   r4   r’   r4   r5   rl   u  r“   c                      r   r   r‘   r4   r’   r4   r5   rl   y  r“   c                      r   r   r‘   r4   r’   r4   r5   rl   }  r“   c                      r   r   r‘   r4   r’   r4   r5   rl     r“   c                      r   r   r‘   r4   r’   r4   r5   rl   …  r“   c                      r   r   r‘   r4   r’   r4   r5   rl   ‰  r“   c                      r   r   r‘   r4   r’   r4   r5   rl   ™  r“   c                      r   r   r‘   r4   r’   r4   r5   rl     r“   c                      r   r   r‘   r4   r’   r4   r5   rl   ¡  r“   c                      r   r   r‘   r4   r’   r4   r5   rl   ¥  r“   c                      r   r   r‘   r4   r’   r4   r5   rl   ©  r“   )r/   rS   r   r)   r3   r0   r   Úsubsr€   r   r‹   r4   r4   r’   r5   Útest_classify_ode_icsH  sZ   	,r•   c            *      C   sL  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sšJ ‚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s¤J ‚d S )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Útro   r   r;   Útype2F)Úno_of_equationÚ
func_coeffÚtype_of_equationÚfuncÚ	is_linearrX   rR   rL   Útype3Útype4)rž   rŸ   r   rX   rœ   rR   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ÚR2rS   r€   r‹   r™   Úx1Úy1Úeq6Úsol6Úeq7Úsol7Úeq8Úsol8Úeq11Úsol11Úeq13Úsol13r4   r4   r5   Ú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s'J ‚t ttƒ t¡ttƒ ttƒtdƒdidtttƒttƒƒksHJ ‚t ttƒ t¡ttƒ ttƒttƒ t¡ td¡didtttƒttƒƒkspJ ‚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s¡J ‚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s(J ‚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sŸJ ‚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sJ ‚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sJJ ‚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sqJ ‚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s°J ‚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s4J ‚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soJ ‚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sªJ ‚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rhtdtdt|d | d|  t| | d
|  ikskJ ‚ 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;   ro   r_   r   rH   F)r`   r9   rc   r~   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/   rS   rW   r   ÚC2r   r	   r4   r4   r4   r5   rl     s   H 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 )Nro   r   )r$   r
   r/   rS   r   rW   r   r”   r4   r4   r4   r5   rl     s   D zEI q Lé   é   )r   r/   rS   r   r
   r   r   r”   r   r   r0   r   ÚHalfr   r$   rW   rÊ   r	   Úsetr   r)   r3   ÚC3ÚC4r   )rX   ÚKr´   Úf0ÚsolÚEIr³   ÚLÚsolsÚfuncsÚ	constantsÚics1Úics2Úsolved_constants1Úsolved_constants2r`   r4   r4   r5   Útest_solve_icsâ  sÀ   .ÿBP&ÿÿ< ÿ2ÿ ÿÿ.ÿÿ6
ÿ*
ÿ
ÿ*
ÿ@2ÿ

ÿ2 ÿ

ÿ>
ÿJ*
ÿ4*
ÿFLJ"
ÿJ"
ÿD
ýýüD8$6ÿrÝ   c                  C   sR  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saJ ‚tt|t| |ƒƒ ||ƒ| |ƒƒdksvJ ‚tt|t|t| |ƒƒ ||ƒ |ƒ| |ƒƒdksJ ‚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ksëJ ‚tt|| |ƒ |ƒ| |ƒƒdksýJ ‚t|tt|| |ƒd  ||ƒƒ | |ƒƒdksJ ‚tt|t|t| |ƒƒ ||ƒ |ƒ||ƒƒdks2J ‚tt| |ƒ||ƒ||ƒƒdksDJ ‚tt|t| |ƒƒ ||ƒ| |ƒƒdksZJ ‚tt| |ƒ||ƒt||ƒ|ƒ ||ƒƒdkssJ ‚tt|t| |ƒ||ƒ |ƒ| |ƒƒdksŠJ ‚t|tt|t| |ƒ|ƒd  ||ƒƒ | |ƒƒdks§J ‚d S )Nr/   r0   rS   r~   r   r;   ro   )r   r   r'   r   r   r   r   )r/   r0   rS   r4   r4   r5   Útest_ode_order=  s0   &@D*4"004$46$,2.*ÿÿrÞ   c                  C   sZ  t ttt ƒttt ƒ ttƒdksJ ‚t td ttƒttƒ  ttƒd u s(J ‚t tt tttt ƒ  ttƒdks<J ‚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spJ ‚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s J ‚t ttƒd tttƒƒdks°J ‚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 s#J ‚t tttƒd tttttƒƒd u s7J ‚t ttƒttƒtƒd u sFJ ‚t ttƒ t dtttƒt ƒ  ttƒtƒdksbJ ‚t tdt ƒttd ƒ ttƒd u swJ ‚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s°J ‚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 s$J ‚ttd	d
„ ƒ d S )Nr   ro   r;   rË   r~   rL   rÉ   rs   c                   S   s   t tt ƒS r2   )r   rS   r€   r4   r4   r4   r5   rl   u  rm   z(test_homogeneous_order.<locals>.<lambda>)r   r   r€   rS   r   r   r   r   r   r	   r   r/   r‹   r   r   r   r)   r3   )rs   r4   r4   r5   Útest_homogeneous_orderW  sF   (((4ÿÿÿD :&&&(8*&.. &"rß   c                  C   s>   t dt ƒ} t| ƒt| ƒ}}| t¡r| t¡rJ ‚d S d S )Nr;   )r   rS   r   r   rr   r   )r€   Úir´   r4   r4   r5   Ú)test_noncircularized_real_imaginary_partsx  s    rá   c                  C   s.   dt td ƒ } | t| t td ƒƒksJ ‚d S )Nr;   ro   r~   )r   rS   r   )rÓ   r4   r4   r5   Ú$test_collect_respecting_exponentials‚  s   râ   c                  C   sx  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s3J ‚t ttƒttƒ tƒddiksDJ ‚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szJ ‚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s8J ‚t tt tƒddiksFJ ‚t ttƒtdt d ƒ tƒdtddt  ƒhdœksdJ ‚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s™J ‚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sjJ ‚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s¡J ‚t tt ƒt tƒddiks²J ‚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sJ ‚t ddttƒ  dttƒ  tƒdt
jttƒttƒttƒhdœks;J ‚t td tƒdt
jttd hdœksPJ ‚t dt ttƒ tt ƒ tƒdtttƒ ttƒtt ƒhdœkstJ ‚t dtdt ƒ ttƒ tƒdtdt ƒttƒ ttƒtdt ƒ hdœksJ ‚t tttƒ tƒdt
jtttƒttƒhdœks·J ‚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sDJ ‚t dtt ƒ td tt ƒ  tƒdttt ƒ td tt ƒ tt ƒhdœksqJ ‚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sJ ‚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sQJ ‚t dt ttƒ ttƒ tƒdt
jtttƒttƒhdœksqJ ‚t ttƒd tdt ƒd  tƒdttƒtdt ƒttƒtdt ƒhdœksšJ ‚t ttd ƒtƒddiksªJ ‚t dtd  tƒddiksºJ ‚d S )NÚtestFro   r†   T)rã   Útrialsetr;   r~   rË   )rä   rã   é   é   rÉ   é	   r   )r%   r0   rS   r   r   r   r   r   r€   r   r   ÚOner   rÍ   )Úsr4   r4   r5   Ú$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sSJ ‚d S )Nr   )ÚAro   )rg   rH   rF   r?   re   rM   rJ   rz   r{   rI   rG   r=   rf   r|   )
rg   rH   r>   rD   rK   rM   rJ   rI   rN   r<   )Ú	sympy.abcrë   rS   r   r/   r   )rë   rX   r4   r4   r5   Ú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s%J ‚t tdd„ ƒ tttƒ t¡ttƒdddd ddœksBJ ‚d S )	Nc                   S   s(   t tttƒ t¡ttttƒ  ttƒƒS r2   )r   r/   rS   r€   r   r4   r4   r4   r5   rl     ó   ( z!test_issue_4825.<locals>.<lambda>Tr‡   r   r4   )rR   rQ   rŠ   c                   S   s   t ttƒ t¡ttƒƒS r2   )r   r/   rS   r   r€   r4   r4   r4   r5   rl     s    )r)   r3   r   r/   rS   r€   r   r4   r4   r4   r5   Útest_issue_4825  s   *
ÿ
ÿrï   c                  C   s¨   ddl m}  ttt tt  ƒttt tt  ƒ  kr'tt tt  ks*J ‚ J ‚ttt  tt  }| tttgdƒD ]\}}}t||t  |t  ƒ|ksQJ ‚q<d S )Nr   )Ú
variationsr~   )Úsympy.utilities.iterablesrð   r!   rW   rS   rÊ   r€   rÏ   )rð   Úers   rt   ru   r4   r4   r5   Ú'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sVJ ‚t|||gt dƒdt| t| t|  gksoJ ‚d S )Nze1:3 x yr   )Ú	variables)rô   ÚnewconstantszC3:5)r   r!   rW   rÊ   rÏ   rÐ   )Úe1Úe2rS   r€   Úexprsr4   r4   r5   Útest_constant_renumber#  s   ",6rù   c                  C   sf  t ddd} t dƒ}tdƒ}t||ƒ |d¡| d ||ƒ  ||ƒƒ}tdd„ |jD ƒƒdks1J ‚tttt	ƒ t
tt	ƒ  tt	ƒ tt
hƒttt	ƒ tt	ƒ ksRJ ‚tttt	ƒ t
tt	ƒ  ttt	ƒ  tt
thƒttt	ƒ ttt	ƒ  ksxJ ‚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s±J ‚d S )Nr   Tr-   r™   ÚwrÉ   c                 S   s   g | ]
}|j  d ¡r|‘qS )ÚC)ÚnameÚ
startswith)Ú.0ré   r4   r4   r5   Ú
<listcomp>3  s    z#test_issue_5770.<locals>.<listcomp>r;   ro   )r   r   r   r   ÚlenÚfree_symbolsr"   rW   r   rS   rÊ   r   rÏ   r   r€   r   )r   r™   rú   rÓ   r4   r4   r5   Útest_issue_5770.  s   *(ÿ.ÿ$"0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 r2   )r   r   rS   r   r€   r4   r4   r4   r5   Ú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 )Nro   Úfdsjf)r   rS   r   r4   ©r/   r4   r5   rl   D  s    z!test_issue_5095.<locals>.<lambda>)r   r)   r3   r4   r4   r  r5   Ú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sJ ‚t|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ƒƒdksÉJ ‚t|t| tƒƒd ksÕJ ‚d S )Nr/   r~   rË   r†   é   ro   r   )	r   r   rS   r   r   r   r   r   r   )r/   Úeq1Úeq2Úeq3Úeq4Úeq5r¾   rÀ   r4   r4   r5   Ú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sRJ ‚| 	|ttƒ¡|	ks^J ‚| 	|ttƒ¡|	ksjJ ‚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 )
Nro   r~   r†   r  rç   é   rË   ióÿÿÿr;   )r‹   rS   r/   r   r   Úexpandr&   r   r   Ú_linear_coeff_matchr   )r¥   ÚdÚratr  Úobj1r	  Úobj2r
  Úobj3r   r  Úobj4r  Úobj5r¾   Úobj6rÀ   Úobj7r4   r4   r5   Ú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 )Nro   )r   rW   r   r   r"   rS   Úgens)ru   r4   r4   r5   Útest_constantsimp_take_problemy  s   2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sJJ ‚t||ddd sUJ ‚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 )NrW   ro   r~   rÉ   rË   rÌ   r†   éx   rM   r8   r;   )rR   r   ræ   )r9   r`   r¥   )
r   r/   rS   r   r
   r   r   r   r   r   )rW   rX   rÓ   r4   r4   r5   Útest_series~  s    Bÿ
ÿ:J$r  c                  C   s,  t dƒ\} }ttƒ td¡tttƒ  }t|ƒdksJ ‚tttƒ|td d d  | t td d d   ttd ƒ ƒ}t|dd	|ksGJ ‚t||ƒd
ksPJ ‚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s˜J ‚tttƒ|t |  ttd ƒ ƒ}t|ddd|ks´J ‚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sJ ‚ttƒ td¡tttƒ t¡  ttƒ }t|ƒdks5J ‚tttƒ|td d td d  d  | t td  d d   ttd ƒ ƒ}t|ƒ|ksfJ ‚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sJ ‚d S )NzC1 C2ro   )Ú2nd_linear_airyrx   r~   rÉ   r;   rå   rx   r8   ©Tr   rË   r   )r9   Úx0)r9   r¥   )rg   Ú2nd_hypergeometricÚ2nd_hypergeometric_Integralrx   )rg   rx   ræ   )rx   rÌ   é´   r  )
r   r/   rS   r   r   r
   r   r   r   r   )rW   rÊ   rX   rÓ   r4   r4   r5   Ú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sWJ ‚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s¸J ‚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s4J ‚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s¨J ‚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sJ ‚t||ƒdks‹J ‚d S )NzC1 C2 aro   r~   rË   iðÿÿÿrç   r;   rÉ   Ú2nd_power_series_regularr8   r   ræ   rÌ   iÐ  r†   éP   é<   é   r  é@   i@8  i@  é$   )
r   rS   r/   r   r
   r   r   r   r   r   )rW   rÊ   rs   rX   rÓ   r4   r4   r5   Ú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sJ ‚d S )Nr™   rÏ   rW   rÊ   )r   r#   r   )r™   rÏ   r4   r4   r5   Ú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sCJ ‚t ttt t ƒ  }ttttƒ tƒttƒ 	td¡ } t| |ttƒƒdkskJ ‚d S )Nro   r   )
rW   rS   r/   r   rÊ   r   r   r   r€   r   ©rX   rÓ   r4   r4   r5   Ú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 r2   )r   r/   rS   r   r0   r1   r4   r4   r4   r5   rl   ü  s   4 z"test_issue_16146.<locals>.<lambda>c                   S   s(   t ttƒ t¡ttƒ t¡gttƒgƒS r2   )r   r/   rS   r   r0   r4   r4   r4   r5   rl   ý  rî   )r)   r3   r4   r4   r4   r5   Útest_issue_16146û  s   r0  c                  C   sö   t tƒd t tƒ t¡ } tt tƒtƒ}t| ƒ|ksJ ‚t tƒttƒ t tƒ td¡ } tt tƒttt  ƒtt tƒttƒƒh}tt| ƒƒ|ksJJ ‚t tƒd dt tƒ  d t tƒ td¡ } tt tƒttt  t	td   ƒ}t| ƒ|ksyJ ‚d S )Nro   r;   r~   )
r/   rS   r   r
   rW   r   r   rÊ   rÎ   rÏ   r.  r4   r4   r5   Ú&test_dsolve_remove_redundant_solutions   s    (,"r1  c                  C   s~   t dtd\} }tdƒ}tt| |ƒ|ƒ| |ƒ||ƒ ƒtt||ƒ|ƒ| |ƒ||ƒ ƒg}t|ƒ}t||ƒdddgfks=J ‚d S )NzA Br—   r™   Tr   )r   r   r   r
   r   r   r   )rë   ÚBr™   rX   rÓ   r4   r4   r5   Útest_issue_13060  s
   @r3  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sHJ ‚t dƒ\}}t|d
d}t|ƒttdƒƒks`J ‚d S )NzN sÚrhog      @r;   rË   ro   Tr7   r‰   rx   Útermsr†   zC1,C2r8   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é   r4  ÚeqnÚmatchrW   rÊ   rÓ   r4   r4   r5   Ú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;   ro   r   r;   r_   r~   r†   é
   r)  éûÿÿÿ)r   r   r
   r   r   r”   r   r   )r¼   Úx2r™   r¦   r§   r¬   r­   r  r	  ÚeqsÚx1solÚx2solr4   r4   r5   Útest_issue_22604-  s   :..ÿTJÿ€rA  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 ‚q0d S )	Niìÿÿÿro   iô  i   r   r†   r  r?   )r
   r/   rS   r   r   )Úder4   r4   r5   Útest_issue_22462;  s
   ..þýrC  c                  C   sP   t dƒ} tdƒ}tt|   || ƒ ¡  ¡  || ƒ ¡  dƒ}t|ƒdks&J ‚d S )NrS   r€   r   )rn   Únth_order_reduciblerx   ry   )r   r   r
   r   r   r   ©rS   r€   rX   r4   r4   r5   Útest_issue_23425B  s   ,ÿrF  ztoo slow for @slowc                  C   sJ   t dƒ} tdƒ}|| ƒd || ƒ | d¡ d }t||| ƒƒd us#J ‚d S )NrS   r€   r~   ro   é1   )r   r   r   r   rE  r4   r4   r5   Útest_issue_25820K  s    rH  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,   ÚC0rW   rÊ   rÏ   rÐ   ÚC5ÚC6ÚC7ÚC8ÚC9ÚC10ÚurS   r€   r‹   r/   r0   r1   r6   r^   rb   rw   rŽ   r•   rÈ   rÝ   rÞ   rß   rá   râ   rê   rí   rï   ró   rù   r  r  r  r  r  r  r  r%  r,  r-  r/  r0  r1  r3  r:  rA  rC  rF  rH  r4   r4   r4   r5   Ú<module>   sˆ    &
G  k/[!
	o
 
2'		