Ë
    âQ(h#`  ã                   óP  — d Z ddlZddlmZmZmZmZmZmZm	Z	m
Z
mZmZmZ ddlmZmZmZmZmZmZ ddlZddlmZ ddlmZmZmZ  G d„ d«      Z G d	„ d
«      Z G d„ de«      Z G d„ de«      Z G d„ d«      Z  G d„ d«      Z! G d„ d«      Z" G d„ de"«      Z# G d„ de"«      Z$ G d„ de"«      Z% G d„ de"«      Z&e#e$e%e&gZ'd„ Z(d„ Z)d„ Z*d „ Z+d!„ Z,d"„ Z-d#„ Z.d$„ Z/ G d%„ d&«      Z0 G d'„ d(e0«      Z1 G d)„ d*e0«      Z2 G d+„ d,e0«      Z3 G d-„ d.e0«      Z4 G d/„ d0e0«      Z5d1„ Z6d2„ Z7d3„ Z8d4„ Z9d5„ Z:y)6z"
Tests for numerical integration.
é    N)ÚarangeÚzerosÚarrayÚdotÚsqrtÚcosÚsinÚeyeÚpiÚexpÚallclose)Úassert_Úassert_array_almost_equalÚassert_allcloseÚassert_array_equalÚassert_equalÚassert_warns)Úraises)ÚodeintÚodeÚcomplex_odec                   ó   — e Zd Zd„ Zd„ Zy)Ú
TestOdeintc                 ó\  ‡— t        d‰j                  d«      }t        ‰j                  ‰j                  |d¬«      \  }}t        ‰j                  ||«      «       t        ˆfd„‰j                  |dd¬«      \  }}t        ‰j                  ||«      «       t        ‰d«      rŒt        ‰j                  ‰j                  |‰j                  d¬«      \  }}t        ‰j                  ||«      «       t        ˆfd	„‰j                  |ˆfd
„dd¬«      \  }}t        ‰j                  ||«      «       y y )Nç        gš™™™™™©?T©Úfull_outputc                 ó(   •— ‰j                  || «      S ©N©Úf©ÚtÚyÚproblems     €úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/integrate/tests/test_integrate.pyú<lambda>z(TestOdeint._do_problem.<locals>.<lambda>    s   ø€ ¨'¯)©)°A°q«/€ ó    )r   ÚtfirstÚjac)ÚDfunr   c                 ó(   •— ‰j                  || «      S r   r    r"   s     €r&   r'   z(TestOdeint._do_problem.<locals>.<lambda>+   s   ø€ ¨g¯i©i¸¸1«o€ r(   c                 ó(   •— ‰j                  || «      S r   ©r*   r"   s     €r&   r'   z(TestOdeint._do_problem.<locals>.<lambda>,   s   ø€ °7·;±;¸qÀ!Ó3D€ r(   )r+   r   r)   )	r   Ústop_tr   r!   Úz0r   ÚverifyÚhasattrr*   )Úselfr%   r#   ÚzÚinfodicts    `   r&   Ú_do_problemzTestOdeint._do_problem   sù   ø€ Ü�3˜Ÿ™¨Ó-ˆô ˜WŸY™Y¨¯
©
°AÀ4ÔH‰ˆˆ8Ü�—‘˜q !Ó$Ô%ô Ó9¸7¿:¹:ÀqØ)-°dô<‰ˆˆ8ä�—‘˜q !Ó$Ô%ä�7˜EÔ"ä  §¡¨G¯J©J¸ÀÇÁØ-1ô3‰KˆAˆxä�G—N‘N 1 aÓ(Ô)ô !Ó!=¸w¿z¹zÈ1Û&DØ-1¸$ô@‰KˆAˆxô �G—N‘N 1 aÓ(Õ)ð #r(   c                 ód   — t         D ]'  } |«       }|j                  rŒ| j                  |«       Œ) y r   ©ÚPROBLEMSÚcmplxr6   ©r3   Úproblem_clsr%   s      r&   Útest_odeintzTestOdeint.test_odeint0   s0   € Ü#ò 	&ˆKÙ!“mˆGØ�}Š}ØØ×Ñ˜WÕ%ñ		&r(   N)Ú__name__Ú
__module__Ú__qualname__r6   r=   © r(   r&   r   r      s   „ ò*ó0&r(   r   c                   ó   — e Zd ZdZdd„Zy)ÚTestODEClassNc                 ó¢  ‡— ˆfd„}d }t        ‰d«      rˆfd„}i }‰j                  €‰j                  �‰j                  |d<   ‰j                  |d<   | j                  ||«      } |j                  |f‰j
                  dz  ‰j                  dz  |dœ|¤Ž |j                  ‰j                  d¬	«       |j                  ‰j                  «      }t        ||j                  «       t        |j                  «       ‰|f«       t        |j                  «       d
kD  ‰|f«       t        ‰j!                  t#        |g«      ‰j                  «      ‰|f«       y )Nc                 ó(   •— ‰j                  || «      S r   r    ©r#   r4   r%   s     €r&   r!   z#TestODEClass._do_problem.<locals>.f?   s   ø€ Ø—9‘9˜Q “?Ð"r(   r*   c                 ó(   •— ‰j                  || «      S r   r.   rF   s     €r&   r*   z%TestODEClass._do_problem.<locals>.jacC   s   ø€ Ø—{‘{ 1 aÓ(Ð(r(   ÚubandÚlbandé
   )ÚatolÚrtolÚmethodr   )r#   r   )r2   rI   rH   Ú	ode_classÚset_integratorrK   rL   Úset_initial_valuer0   Ú	integrater/   r   r$   r   Ú
successfulÚget_return_coder1   r   )	r3   r%   Ú
integratorrM   r!   r*   Úintegrator_paramsÚigr4   s	    `       r&   r6   zTestODEClass._do_problem<   s.  ø€ ô	#àˆÜ�7˜EÔ"ô)ð ÐØ�=‰=Ð$¨¯©Ð(AØ)0¯©Ð˜gÑ&Ø)0¯©Ð˜gÑ&à�^‰^˜A˜sÓ#ˆØˆ×Ñ˜*ð 	/Ø&Ÿ|™|¨B™Ø&Ÿ|™|¨B™Ø!'ñ	/ð .ò		/ð 	×Ñ˜WŸZ™Z¨3ÐÔ/Ø�L‰L˜Ÿ™Ó(ˆä˜1˜bŸd™dÔ#Ü�—‘“ '¨6Ð!2Ô3Ü�×"Ñ"Ó$ qÑ(¨7°FÐ*;Ô<Ü�—‘œu a S›z¨7¯>©>Ó:¸WÀfÐ<MÕNr(   )Úadams)r>   r?   r@   rN   r6   rA   r(   r&   rC   rC   8   s   „ à€IôOr(   rC   c                   ól   — e Zd ZeZd„ Zd„ Zd„ Zd„ Zd„ Z	e
j                  j                  d„ «       Zd„ Zy)	ÚTestOdec                 ó¦   — t         D ]H  } |«       }|j                  rŒ|j                  s| j                  |dd«       | j                  |dd«       ŒJ y ©NÚvoderW   Úbdf)r9   r:   Ústiffr6   r;   s      r&   Ú	test_vodezTestOde.test_vode_   sM   € ä#ò 	5ˆKÙ!“mˆGØ�}Š}ØØ—=’=Ø× Ñ  ¨&°'Ô:Ø×Ñ˜W f¨eÕ4ñ	5r(   c                 óŒ   — t         D ];  } |«       }|j                  s| j                  |dd«       | j                  |dd«       Œ= y )NÚzvoderW   r]   ©r9   r^   r6   r;   s      r&   Ú
test_zvodezTestOde.test_zvodei   sC   € ä#ò 	6ˆKÙ!“mˆGØ—=’=Ø× Ñ  ¨'°7Ô;Ø×Ñ˜W g¨uÕ5ñ		6r(   c                 óf   — t         D ](  } |«       }|j                  rŒ| j                  |d«       Œ* y ©NÚlsodar8   r;   s      r&   Ú
test_lsodazTestOde.test_lsodaq   s2   € ä#ò 	/ˆKÙ!“mˆGØ�}Š}ØØ×Ñ˜W gÕ.ñ		/r(   c                 óš   — t         D ]B  } |«       }|j                  rŒ|j                  rŒ$t        |d«      rŒ1| j	                  |d«       ŒD y ©Nr*   Údopri5©r9   r:   r^   r2   r6   r;   s      r&   Útest_dopri5zTestOde.test_dopri5y   óI   € ä#ò 	0ˆKÙ!“mˆGØ�}Š}ØØ�}Š}ØÜ�w Ô&ØØ×Ñ˜W hÕ/ñ	0r(   c                 óš   — t         D ]B  } |«       }|j                  rŒ|j                  rŒ$t        |d«      rŒ1| j	                  |d«       ŒD y ©Nr*   Údop853rk   r;   s      r&   Útest_dop853zTestOde.test_dop853…   rm   r(   c                 ó�  — dD ]Á  }d„ }t        |«      j                  |«      }|j                  dd«       t        |«      j                  |«      }|j                  dd«       |j                  |j                  dz   «       |j                  |j                  dz   «       t        t        |j                  |j                  dz   «       ŒÃ y )N)r\   ra   rf   c                  ó   — y©Nç      ð?rA   ©r#   r$   s     r&   r!   z'TestOde.test_concurrent_fail.<locals>.f”   s   € Ør(   r   çš™™™™™¹?)r   rO   rP   rQ   r#   Úassert_raisesÚRuntimeError)r3   Úsolr!   ÚrÚr2s        r&   Útest_concurrent_failzTestOde.test_concurrent_fail‘   s¢   € à-ò 	@ˆCòô �A“×%Ñ% cÓ*ˆAØ×Ñ  1Ô%ä�Q“×&Ñ& sÓ+ˆBØ× Ñ   AÔ&à�K‰K˜Ÿ™˜c™	Ô"Ø�L‰L˜Ÿ™ ™Ô$äœ,¨¯©°Q·S±S¸3±YÕ?ñ	@r(   c                 óR  — d„ }t        d«      D �]  }dD ]ê  }|dv r|dkD  rŒt        |«      j                  |«      }|j                  dd«       t        |«      j                  |«      }|j                  dd«       |j	                  |j
                  dz   «       |j	                  |j
                  dz   «       |j	                  |j
                  dz   «       t        |j                  d«       t        |j                  d«       Œì d	D �]  }t        |«      j                  |«      }|j                  dd«       t        |«      j                  |«      }|j                  dd«       |j	                  |j
                  dz   «       |j	                  |j
                  dz   «       |j	                  |j
                  dz   «       |j	                  |j
                  dz   «       |j	                  |j
                  dz   «       t        |j                  d
«       t        |j                  d«       �Œ  �Œ y )Nc                  ó   — yrt   rA   rv   s     r&   r!   z%TestOde.test_concurrent_ok.<locals>.f£   s   € Ør(   é   )r\   ra   rf   rj   rp   >   r\   rf   ra   é   r   rw   gš™™™™™É?©rj   rp   g333333Ó?)Úranger   rO   rP   rQ   r#   r   r$   )r3   Únum_parallel_threadsr!   Úkrz   r{   r|   s          r&   Útest_concurrent_okzTestOde.test_concurrent_ok¢   s¹  € ò	ô �q“ó 	+ˆAØEò +�ØÐ4Ñ4Ð9MÐPQÒ9QØÜ˜“F×)Ñ)¨#Ó.�Ø×#Ñ# A qÔ)ä˜“V×*Ñ*¨3Ó/�Ø×$Ñ$ Q¨Ô*à—‘˜AŸC™C #™IÔ&Ø—‘˜RŸT™T C™ZÔ(Ø—‘˜RŸT™T C™ZÔ(ä §¡ SÔ)Ü §¡ cÕ*ð+ð  ,ó +�Ü˜“F×)Ñ)¨#Ó.�Ø×#Ñ# A qÔ)ä˜“V×*Ñ*¨3Ó/�Ø×$Ñ$ Q¨Ô*à—‘˜AŸC™C #™IÔ&Ø—‘˜AŸC™C #™IÔ&Ø—‘˜RŸT™T C™ZÔ(Ø—‘˜AŸC™C #™IÔ&Ø—‘˜RŸT™T C™ZÔ(ä §¡ SÔ)Ü §¡ cÖ*ò+ñ#	+r(   N)r>   r?   r@   r   rN   r_   rc   rg   rl   rq   ÚpytestÚmarkÚthread_unsafer}   r†   rA   r(   r&   rY   rY   [   sE   „ à€Iò5ò6ò/ò
0ò
0ð ‡[�[×Ññ@ó ð@ó #+r(   rY   c                   ó(   — e Zd ZeZd„ Zd„ Zd„ Zd„ Zy)ÚTestComplexOdec                 óŽ   — t         D ]<  } |«       }|j                  s| j                  |dd«       Œ*| j                  |dd«       Œ> y r[   rb   r;   s      r&   r_   zTestComplexOde.test_vodeÌ   sC   € ä#ò 	9ˆKÙ!“mˆGØ—=’=Ø× Ñ  ¨&°'Õ:à× Ñ  ¨&°%Õ8ñ	9r(   c                 óL   — t         D ]  } |«       }| j                  |d«       Œ y re   )r9   r6   r;   s      r&   rg   zTestComplexOde.test_lsodaÕ   s*   € ô $ò 	/ˆKÙ!“mˆGØ×Ñ˜W gÕ.ñ	/r(   c                 ó€   — t         D ]5  } |«       }|j                  rŒt        |d«      rŒ$| j                  |d«       Œ7 y ri   ©r9   r^   r2   r6   r;   s      r&   rl   zTestComplexOde.test_dopri5Ü   ó?   € ä#ò 	0ˆKÙ!“mˆGØ�}Š}ØÜ�w Ô&ØØ×Ñ˜W hÕ/ñ	0r(   c                 ó€   — t         D ]5  } |«       }|j                  rŒt        |d«      rŒ$| j                  |d«       Œ7 y ro   r�   r;   s      r&   rq   zTestComplexOde.test_dop853æ   r�   r(   N)	r>   r?   r@   r   rN   r_   rg   rl   rq   rA   r(   r&   r‹   r‹   È   s   „ à€Iò9ò/ò0ó0r(   r‹   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú
TestSoloutc                 óF  ‡	‡
— g Š	g Š
d}d}ddg}ˆ	ˆ
fd„}d„ }t        |«      j                  |«      }|j                  |«       |j                  ||«       |j	                  |«      }t        ‰
d   |«       t        ‰
d   |«       t        ‰	d   |«       t        ‰	d   |«       y )	Nr   ç      $@ru   ç       @c                 óf   •— ‰j                  | «       ‰j                  |j                  «       «       y r   ©ÚappendÚcopy©r#   r$   ÚtsÚyss     €€r&   Úsoloutz+TestSolout._run_solout_test.<locals>.soloutû   ó    ø€ Ø�I‰I�aŒLØ�I‰I�a—f‘f“hÕr(   c                 ó*   — |d   |d   z   |d   dz   gS ©Nr   r�   é   rA   rv   s     r&   Úrhsz(TestSolout._run_solout_test.<locals>.rhsÿ   ó#   € Ø�a‘D˜1˜Q™4‘K ! A¡$¨¡' Ð*Ð*r(   r   éÿÿÿÿ)r   rO   Ú
set_soloutrP   rQ   r   r   ©r3   rT   Út0ÚtendÚy0rž   r£   rV   Úretrœ   r�   s            @@r&   Ú_run_solout_testzTestSolout._run_solout_testó   s¢   ù€ àˆØˆØˆØˆØ�3ˆZˆõ	 ò	+ô �‹X×$Ñ$ ZÓ0ˆØ
�‰�fÔØ
×Ñ˜R Ô$Ø�l‰l˜4Ó ˆÜ˜2˜a™5 "Ô%Ü˜2˜b™6 3Ô'Ü�R˜‘U˜BÔÜ�R˜‘V˜TÕ"r(   c                 ó4   — dD ]  }| j                  |«       Œ y ©Nr‚   ©r¬   ©r3   rT   s     r&   Útest_soloutzTestSolout.test_solout  ó   € Ø.ò 	.ˆJØ×!Ñ! *Õ-ñ	.r(   c                 óF  ‡	‡
— g Š	g Š
d}d}ddg}ˆ	ˆ
fd„}d„ }t        |«      j                  |«      }|j                  ||«       |j                  |«       |j	                  |«      }t        ‰
d   |«       t        ‰
d   |«       t        ‰	d   |«       t        ‰	d   |«       y )	Nr   r•   ru   r–   c                 óf   •— ‰j                  | «       ‰j                  |j                  «       «       y r   r˜   r›   s     €€r&   rž   z9TestSolout._run_solout_after_initial_test.<locals>.solout  rŸ   r(   c                 ó*   — |d   |d   z   |d   dz   gS r¡   rA   rv   s     r&   r£   z6TestSolout._run_solout_after_initial_test.<locals>.rhs  r¤   r(   r   r¥   )r   rO   rP   r¦   rQ   r   r   r§   s            @@r&   Ú_run_solout_after_initial_testz)TestSolout._run_solout_after_initial_test  s¢   ù€ àˆØˆØˆØˆØ�3ˆZˆõ	 ò	+ô �‹X×$Ñ$ ZÓ0ˆØ
×Ñ˜R Ô$Ø
�‰�fÔØ�l‰l˜4Ó ˆÜ˜2˜a™5 "Ô%Ü˜2˜b™6 3Ô'Ü�R˜‘U˜BÔÜ�R˜‘V˜TÕ"r(   c                 ó4   — dD ]  }| j                  |«       Œ y r®   )r¶   r°   s     r&   Útest_solout_after_initialz$TestSolout.test_solout_after_initial'  s   € Ø.ò 	<ˆJØ×/Ñ/°
Õ;ñ	<r(   c                 óv  ‡‡	‡
— g Š	g Š
d}dŠddg}ˆˆ	ˆ
fd„}d„ }t        |«      j                  |«      }|j                  |«       |j                  ||«       |j	                  ‰«      }t        ‰
d   |«       t        ‰
d   |«       t        ‰	d   |«       t        ‰	d   ‰dz  kD  «       t        ‰	d   ‰k  «       y )	Nr   r•   ru   r–   c                 óx   •— ‰j                  | «       ‰j                  |j                  «       «       | ‰dz  kD  ryy ©Nr–   r¥   r˜   ©r#   r$   r©   rœ   r�   s     €€€r&   rž   z1TestSolout._run_solout_break_test.<locals>.solout3  ó3   ø€ Ø�I‰I�aŒLØ�I‰I�a—f‘f“hÔØ�4˜‘8Š|Øð r(   c                 ó*   — |d   |d   z   |d   dz   gS r¡   rA   rv   s     r&   r£   z.TestSolout._run_solout_break_test.<locals>.rhs9  r¤   r(   r   r¥   )r   rO   r¦   rP   rQ   r   r   r   ©r3   rT   r¨   rª   rž   r£   rV   r«   r©   rœ   r�   s           @@@r&   Ú_run_solout_break_testz!TestSolout._run_solout_break_test+  s¹   ú€ àˆØˆØˆØˆØ�3ˆZˆö	ò	+ô �‹X×$Ñ$ ZÓ0ˆØ
�‰�fÔØ
×Ñ˜R Ô$Ø�l‰l˜4Ó ˆÜ˜2˜a™5 "Ô%Ü˜2˜b™6 3Ô'Ü�R˜‘U˜BÔÜ��2‘˜˜c™Ñ!Ô"Ü��2‘˜‘Õr(   c                 ó4   — dD ]  }| j                  |«       Œ y r®   ©rÀ   r°   s     r&   Útest_solout_breakzTestSolout.test_solout_breakF  ó   € Ø.ò 	4ˆJØ×'Ñ'¨
Õ3ñ	4r(   N)	r>   r?   r@   r¬   r±   r¶   r¸   rÀ   rÃ   rA   r(   r&   r“   r“   ñ   s    „ ò#ò0.ò#ò0<òó64r(   r“   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestComplexSoloutc                 óD  ‡	‡
— g Š	g Š
d}d}dg}ˆ	ˆ
fd„}d„ }t        |«      j                  |«      }|j                  |«       |j                  ||«       |j	                  |«      }t        ‰
d   |«       t        ‰
d   |«       t        ‰	d   |«       t        ‰	d   |«       y )Nr   ç      4@c                 óf   •— ‰j                  | «       ‰j                  |j                  «       «       y r   r˜   r›   s     €€r&   rž   z2TestComplexSolout._run_solout_test.<locals>.soloutU  rŸ   r(   c                 ó   — d| dz
  dz
  z  gS ©Nru   r•   ù              ð?rA   rv   s     r&   r£   z/TestComplexSolout._run_solout_test.<locals>.rhsY  ó   € Ø˜˜T™ B™Ñ'Ð(Ð(r(   r   r¥   )r   rO   r¦   rP   rQ   r   r   r§   s            @@r&   r¬   z"TestComplexSolout._run_solout_testM  s¡   ù€ àˆØˆØˆØˆØˆUˆõ	 ò	)ô ˜Ó×,Ñ,¨ZÓ8ˆØ
�‰�fÔØ
×Ñ˜R Ô$Ø�l‰l˜4Ó ˆÜ˜2˜a™5 "Ô%Ü˜2˜b™6 3Ô'Ü�R˜‘U˜BÔÜ�R˜‘V˜TÕ"r(   c                 ó4   — dD ]  }| j                  |«       Œ y r®   r¯   r°   s     r&   r±   zTestComplexSolout.test_soloute  r²   r(   c                 ót  ‡‡	‡
— g Š	g Š
d}dŠdg}ˆˆ	ˆ
fd„}d„ }t        |«      j                  |«      }|j                  |«       |j                  ||«       |j	                  ‰«      }t        ‰
d   |«       t        ‰
d   |«       t        ‰	d   |«       t        ‰	d   ‰dz  kD  «       t        ‰	d   ‰k  «       y )Nr   rÈ   c                 óx   •— ‰j                  | «       ‰j                  |j                  «       «       | ‰dz  kD  ryy r»   r˜   r¼   s     €€€r&   rž   z8TestComplexSolout._run_solout_break_test.<locals>.soloutq  r½   r(   c                 ó   — d| dz
  dz
  z  gS rË   rA   rv   s     r&   r£   z5TestComplexSolout._run_solout_break_test.<locals>.rhsw  rÍ   r(   r   r¥   r–   )r   rO   r¦   rP   rQ   r   r   r   r¿   s           @@@r&   rÀ   z(TestComplexSolout._run_solout_break_testi  s¸   ú€ àˆØˆØˆØˆØˆUˆö	ò	)ô ˜Ó×,Ñ,¨ZÓ8ˆØ
�‰�fÔØ
×Ñ˜R Ô$Ø�l‰l˜4Ó ˆÜ˜2˜a™5 "Ô%Ü˜2˜b™6 3Ô'Ü�R˜‘U˜BÔÜ��2‘˜˜c™Ñ!Ô"Ü��2‘˜‘Õr(   c                 ó4   — dD ]  }| j                  |«       Œ y r®   rÂ   r°   s     r&   rÃ   z#TestComplexSolout.test_solout_break„  rÄ   r(   N)r>   r?   r@   r¬   r±   rÀ   rÃ   rA   r(   r&   rÆ   rÆ   K  s   „ ò#ò0.òó64r(   rÆ   c                   ó0   — e Zd ZdZdZdZdZg ZdZdZ	dZ
dZy)ÚODEz
    ODE problem
    Fr�   Ng�íµ ÷Æ°>gñhãˆµøä>)r>   r?   r@   Ú__doc__r^   r:   r/   r0   rI   rH   rK   rL   rA   r(   r&   rÔ   rÔ   Ž  s1   „ ñð €EØ€EØ€FØ	€Bà€EØ€Eà€DØ�Dr(   rÔ   c                   ó>   — e Zd ZdZdZ eddge«      ZdZdZ	d„ Z
d„ Zy)	ÚSimpleOscillatorzÇ
    Free vibration of a simple oscillator::
        m \ddot{u} + k u = 0, u(0) = u_0 \dot{u}(0) \dot{u}_0
    Solution::
        u(t) = u_0*cos(sqrt(k/m)*t)+\dot{u}_0*sin(sqrt(k/m)*t)/sqrt(k/m)
    gq=
×£pñ?ru   rw   g      @c                 ó~   — t        dt        «      }d|d<   | j                   | j                  z  |d<   t	        ||«      S )N)r¢   r¢   ru   ©r   r�   )r�   r   )r   Úfloatr…   Úmr   )r3   r4   r#   Útmps       r&   r!   zSimpleOscillator.f«  s;   € Ü�FœEÓ"ˆØˆˆD‰	Ø—V‘V�G˜dŸf™fÑ$ˆˆD‰	Ü�3˜‹{Ðr(   c                 ó  — t        | j                  | j                  z  «      }| j                  d   t	        ||z  «      z  | j                  d   t        ||z  «      z  |z  z   }t        ||d d …df   | j                  | j                  ¬«      S )Nr   r�   ©rK   rL   )	r   r…   rÛ   r0   r   r	   r   rK   rL   )r3   Úzsr#   ÚomegaÚus        r&   r1   zSimpleOscillator.verify±  sr   € Ü�T—V‘V˜dŸf™f‘_Ó%ˆØ�G‰G�A‰J”s˜5 ™7“|Ñ# d§g¡g¨a¡j´°U¸1±W³Ñ&=¸eÑ&CÑCˆÜ˜˜2ša ˜d™8¨$¯)©)¸$¿)¹)ÔDÐDr(   N)r>   r?   r@   rÕ   r/   r   rÚ   r0   r…   rÛ   r!   r1   rA   r(   r&   r×   r×   ž  s3   „ ñð €FÙ	��Sˆz˜5Ó	!€Bà€AØ€AòóEr(   r×   c                   óD   — e Zd ZdZdez  Z eg d¢«      ZdZd„ Z	d„ Z
d„ Zy)	Ú
ComplexExpzThe equation :lm:`\dot u = i u`g®Gáz®ó?)rÌ   y               @y              @y              @y              @Tc                 ó   — d|z  S )NrÌ   rA   ©r3   r4   r#   s      r&   r!   zComplexExp.f½  s   € Ø�!‰tˆr(   c                 ó   — dt        d«      z  S )NrÌ   é   )r
   rå   s      r&   r*   zComplexExp.jacÀ  s   € Ø”#�a“&‰yÐr(   c                 ó~   — | j                   t        d|z  «      z  }t        ||| j                  | j                  ¬«      S )NrÌ   rÞ   )r0   r   r   rK   rL   ©r3   rß   r#   rá   s       r&   r1   zComplexExp.verifyÃ  s1   € Ø�G‰G”c˜"˜Q™$“iÑˆÜ˜˜2 D§I¡I°D·I±IÔ>Ð>r(   N)r>   r?   r@   rÕ   r   r/   r   r0   r:   r!   r*   r1   rA   r(   r&   rã   rã   ·  s-   „ Ù*Ø�"‰W€FÙ	Ò!Ó	"€BØ€Eòòó?r(   rã   c                   ó*   — e Zd ZdZdZdgZdZd„ Zd„ Zy)ÚPiz'Integrate 1/(t + 1j) from t=-10 to t=10é   r   Tc                 ó,   — t        d|dz
  dz   z  g«      S )Nru   rJ   rÌ   ©r   rå   s      r&   r!   zPi.fÎ  s   € Ü�b˜!˜b™& 2™+Ñ&Ð'Ó(Ð(r(   c                 ó†   — dt        j                  d«      z  }t        ||dd d …f   | j                  | j                  ¬«      S )Ny       €       ÀrJ   r¥   rÞ   )ÚnpÚarctanr   rK   rL   ré   s       r&   r1   z	Pi.verifyÑ  s5   € Ø”"—)‘)˜B“-ÑˆÜ˜˜2˜b¢!˜e™9¨4¯9©9¸4¿9¹9ÔEÐEr(   N)	r>   r?   r@   rÕ   r/   r0   r:   r!   r1   rA   r(   r&   rë   rë   È  s!   „ Ù2Ø€FØ
ˆ€BØ€Eò)óFr(   rë   c                   óB   — e Zd ZdZdZdZg d¢ZdZdZg d¢Z	d„ Z
d	„ Zd
„ Zy)ÚCoupledDecayze
    3 coupled decays suited for banded treatment
    (banded mode makes it necessary when N>>3)
    Tç      à?)g      @g      @g      *@r�   r   )gÃõ(\�ÂÅ?gq=
×£pÍ?g�Âõ(\�Ò?c                 ó¶   — | j                   }t        j                  |d    |d   z  |d    |d   z  |d   |d   z  z   |d    |d   z  |d   |d   z  z   g«      S r¡   )Úlmbdrð   r   )r3   r4   r#   rö   s       r&   r!   zCoupledDecay.fä  su   € Ø�y‰yˆÜ�x‰x˜$˜q™'˜ ! A¡$™Ø˜q™'˜ ! A¡$™¨¨a©°°1±©Ñ5Ø˜q™'˜ ! A¡$™¨¨a©°°1±©Ñ5ð7ó 8ð 	8r(   c                 ó  ‡ ‡— ‰ j                   }t        j                  ‰ j                  ‰ j                  z   dz   dfd¬«      Šˆˆ fd„} |dd|d    «        |dd|d   «        |dd|d    «        |dd|d   «        |dd|d    «       ‰S )Nr�   r€   ÚF©Úorderc                 ó4   •— |‰‰j                   | z   |z
  |f<   y r   )rH   )ÚriÚciÚvalÚjr3   s      €€r&   Úset_jzCoupledDecay.jac.<locals>.set_jú  s   ø€ Ø*-ˆAˆd�j‰j˜2‰o Ñ" BÐ&Ò'r(   r   r¢   )rö   rð   r   rI   rH   )r3   r4   r#   rö   r   rÿ   s   `    @r&   r*   zCoupledDecay.jacê  s•   ù€ ð �y‰yˆÜ�H‰H�d—j‘j 4§:¡:Ñ-°Ñ1°1Ð5¸SÔAˆõ	.áˆa��T˜!‘W�HÔÙˆa��D˜‘GÔÙˆa��T˜!‘W�HÔÙˆa��D˜‘GÔÙˆa��T˜!‘W�HÔØˆr(   c           
      ó  — t        j                  | j                  «      }|d   |d   z
  }|d   |d   z
  }|d   |d   z
  }t        j                  |d    |z  «      }t        j                  |d    |z  «      }t        j                  |d    |z  «      }	t        j                  | j
                  d   |z  | j
                  d   |z  | j
                  d   |d   z  |z  ||z
  z  z   | j
                  d   |	z  | j
                  d   |d   z  |z  ||	z
  z  z   |d   |d   z  | j
                  d   z  |z  d|z  ||	z
  z  d|z  ||	z
  z  z
  z  z   f«      j                  «       }
t        |
|| j                  | j                  ¬«      S )Nr�   r   r¢   rÞ   )
rð   r   rö   r   Úvstackr0   Ú	transposer   rK   rL   )r3   rß   r#   rö   Úd10Úd21Úd20Úe0Úe1Úe2rá   s              r&   r1   zCoupledDecay.verify  s�  € ä�x‰x˜Ÿ	™	Ó"ˆØ�1‰g˜˜Q™ÑˆØ�1‰g˜˜Q™ÑˆØ�1‰g˜˜Q™ÑˆÜ�V‰V�T˜!‘W�H˜q‘LÓ!ˆÜ�V‰V�T˜!‘W�H˜q‘LÓ!ˆÜ�V‰V�T˜!‘W�H˜q‘LÓ!ˆÜ�I‰IØ�G‰G�A‰J˜‰OØ�G‰G�A‰J˜‰O˜dŸg™g a™j¨4°©7Ñ2°SÑ8¸BÀ¹GÑDÑDØ�G‰G�A‰J˜‰O˜dŸg™g a™j¨4°©7Ñ2°SÑ8¸BÀ¹GÑDÑDØ�‰G�d˜1‘gÑ §¡¨¡
Ñ*¨SÑ0Ø�‰W˜˜R™Ñ  1 s¡7¨b°2©gÑ#6Ñ6ñ8ñ8ð9ó :÷
 ;D¹)»+ð 	
ô ˜˜2 D§I¡I°D·I±IÔ>Ð>r(   N)r>   r?   r@   rÕ   r^   r/   r0   rI   rH   rö   r!   r*   r1   rA   r(   r&   ró   ró   Ö  s6   „ ñð
 €EØ€FÚ	€BØ€EØ€Eâ€Dò8òó2?r(   ró   c                 ó   — |d   |d    g}|S ©Nr�   r   rA   )r#   ÚxÚdxdts      r&   r!   r!     s   € Øˆa‰D�1�Q‘4�%ˆ=€DØ€Kr(   c                 ó(   — t        ddgddgg«      }|S )Nr   ru   ç      ð¿rî   )r#   r  rÿ   s      r&   r*   r*     s#   € Ü��SˆzØ�cˆ{ðó 	€Aà€Hr(   c                 ó(   — ||d   z  | |d   z  g}|S r  rA   ©r#   r  rà   r  s       r&   Úf1r  %  s#   € Ø�!�A‘$‰J˜˜˜q ™t™Ð$€DØ€Kr(   c                 ó*   — t        d|g| dgg«      }|S ©Nr   rî   ©r#   r  rà   rÿ   s       r&   Újac1r  *  s%   € Ü��Uˆ|Ø�˜ˆ}ðó 	€Aà€Hr(   c                 ó(   — ||d   z  | |d   z  g}|S r  rA   )r#   r  Úomega1Úomega2r  s        r&   Úf2r  0  s#   € Ø�1�Q‘4‰K˜&˜  1¡™Ð&€DØ€Kr(   c                 ó*   — t        d|g| dgg«      }|S r  rî   )r#   r  r  r  rÿ   s        r&   Újac2r  5  s%   € Ü��Vˆ}Ø�˜ˆ~ðó 	 €Aà€Hr(   c                 ó4   — |d   |d   z  |d    |d   z  g}|S )Nr   r�   rA   r  s       r&   Úfvr  ;  s+   € Ø�!‰H�Q�q‘T‰M˜E !™H˜9 Q q¡T™>Ð*€DØ€Kr(   c                 ó6   — t        d|d   g|d    dgg«      }|S )Nr   r   r�   rî   r  s       r&   Újacvr   @  s.   € Ü��U˜1‘XˆØ�q‘�	˜3Ðð!ó 	"€Aà€Hr(   c                   ót   — e Zd ZdZdZdZd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zej                  j                  d
„ «       Zy)ÚODECheckParameterUsez=Call an ode-class solver with several cases of parameter use.Ú Fc                 óÈ   — t        ||«      }| j                  r+|j                  | j                  dd| j                  ¬«       |S |j                  | j                  dd¬«       |S )Ng•Ö&è.>gH¯¼šò×z>)rK   rL   Úwith_jacobianrÞ   )r   Úsolver_uses_jacrO   Úsolver_name)r3   r!   r*   Úsolvers       r&   Ú_get_solverz ODECheckParameterUse._get_solverO  sh   € Ü�Q˜“ˆØ×ÒØ×!Ñ! $×"2Ñ"2¸ÀDØ04×0DÑ0Dð "ô Fð ˆð ×!Ñ! $×"2Ñ"2¸ÀDÐ!ÔIØˆr(   c                 óŠ   — ddg}|j                  |d«       |j                  t        «       t        |j                  ddg«       y )Nru   r   r  )rP   rQ   r   r   r$   ©r3   r(  Úics      r&   Ú_check_solverz"ODECheckParameterUse._check_solver[  s;   € Ø�3ˆZˆØ× Ñ   SÔ)Ø×ÑœÔÜ! &§(¡(¨T°3¨KÕ8r(   c                 óZ   — | j                  t        t        «      }| j                  |«       y r   )r)  r!   r*   r-  )r3   r(  s     r&   Útest_no_paramsz#ODECheckParameterUse.test_no_paramsa  s"   € Ø×!Ñ!¤!¤SÓ)ˆØ×Ñ˜6Õ"r(   c                 óº   — | j                  t        t        «      }d}|j                  |«       | j                  r|j                  |«       | j                  |«       y rt   )r)  r  r  Úset_f_paramsr&  Úset_jac_paramsr-  ©r3   r(  rà   s      r&   Útest_one_scalar_paramz*ODECheckParameterUse.test_one_scalar_parame  sL   € Ø×!Ñ!¤"¤dÓ+ˆØˆØ×Ñ˜EÔ"Ø×ÒØ×!Ñ! %Ô(Ø×Ñ˜6Õ"r(   c                 óÂ   — | j                  t        t        «      }d}d}|j                  ||«       | j                  r|j                  ||«       | j                  |«       y rt   )r)  r  r  r1  r&  r2  r-  )r3   r(  r  r  s       r&   Útest_two_scalar_paramsz+ODECheckParameterUse.test_two_scalar_paramsm  sU   € Ø×!Ñ!¤"¤dÓ+ˆØˆØˆØ×Ñ˜F FÔ+Ø×ÒØ×!Ñ! &¨&Ô1Ø×Ñ˜6Õ"r(   c                 ó¾   — | j                  t        t        «      }ddg}|j                  |«       | j                  r|j                  |«       | j                  |«       y rt   )r)  r  r   r1  r&  r2  r-  r3  s      r&   Útest_vector_paramz&ODECheckParameterUse.test_vector_paramv  sP   € Ø×!Ñ!¤"¤dÓ+ˆØ�c�
ˆØ×Ñ˜EÔ"Ø×ÒØ×!Ñ! %Ô(Ø×Ñ˜6Õ"r(   c                 óÜ   — | j                  t        t        «      }|j                  | j                  d¬«       ddg}|j                  |d«       t        t        |j                  t        «       y )Nr�   )Únstepsru   r   )
r)  r!   r*   rO   r'  rP   r   ÚUserWarningrQ   r   r+  s      r&   Útest_warns_on_failurez*ODECheckParameterUse.test_warns_on_failure~  sZ   € ð ×!Ñ!¤!¤SÓ)ˆØ×Ñ˜d×.Ñ.°qÐÔ9Ø�3ˆZˆØ× Ñ   SÔ)Ü”[ &×"2Ñ"2´BÕ7r(   N)r>   r?   r@   rÕ   r'  r&  r)  r-  r/  r4  r6  r8  r‡   rˆ   r‰   r<  rA   r(   r&   r"  r"  F  sM   „ ÙGð
 €KØ€Oò
ò9ò#ò#ò#ò#ð ‡[�[×Ññ8ó ñ8r(   r"  c                   ó   — e Zd ZdZdZy)ÚTestDOPRI5CheckParameterUserj   FN©r>   r?   r@   r'  r&  rA   r(   r&   r>  r>  ˆ  ó   „ Ø€KØ�Or(   r>  c                   ó   — e Zd ZdZdZy)ÚTestDOP853CheckParameterUserp   FNr?  rA   r(   r&   rB  rB  �  r@  r(   rB  c                   ó   — e Zd ZdZdZy)ÚTestVODECheckParameterUser\   TNr?  rA   r(   r&   rD  rD  ’  s   „ Ø€KØ�Or(   rD  c                   ó   — e Zd ZdZdZy)ÚTestZVODECheckParameterUsera   TNr?  rA   r(   r&   rF  rF  —  ó   „ Ø€KØ�Or(   rF  c                   ó   — e Zd ZdZdZy)ÚTestLSODACheckParameterUserf   TNr?  rA   r(   r&   rI  rI  œ  rG  r(   rI  c                  óv   — d} dg}t        d„ | |d¬«      \  }}t        |t        j                  | gg«      «       y )Nr�   r   c                 ó   — |  S r   rA   )r$   r#   s     r&   r'   z*test_odeint_trivial_time.<locals>.<lambda>¦  s   €  1 "€ r(   Tr   )r   r   rð   r   )rª   r#   r$   Úinfos       r&   Útest_odeint_trivial_timerM  ¡  s;   € ð 
€BØ	
ˆ€AÜ‘_ b¨!¸Ô>�G€A€tÜ�qœ"Ÿ(™( R D 6Ó*Õ+r(   c                  óx  ‡‡‡— d„ Šd„ Šd„ } d„ Šˆfd„}t        g d¢g d¢g d¢g d	¢g«      }t        j                  d
«      }t        j                   g d¢«      }t        ‰|||fdddd‰¬«	      \  }}t        ‰|||fdddd| d¬«
      \  }}t        ‰|||fdddd‰dd¬«      \  }	}
t        ‰|||fdddd|ddd¬«      \  }}t	        ||d¬«       t	        ||	dd¬«       t	        |	|d¬«       t        |d   |d   «       t        |
d   |d   «       t        ˆfd„|||fddddˆfd„d¬«
      \  }}t	        ||dd ¬!«       y )"Nc                 ó$   — |j                  | «      S r   )r   ©r$   r#   Úcs      r&   Úfuncz)test_odeint_banded_jacobian.<locals>.func­  s   € Ø�u‰u�Q‹xˆr(   c                 ó   — |S r   rA   rP  s      r&   r*   z(test_odeint_banded_jacobian.<locals>.jac°  s   € Øˆr(   c                 ó:   — |j                   j                  d¬«      S ©NÚCrù   ©ÚTrš   rP  s      r&   Újac_transposez2test_odeint_banded_jacobian.<locals>.jac_transpose³  s   € Ø�s‰s�x‰x˜cˆxÓ"Ð"r(   c           
      óJ  — t        j                  t         j                  dt        j                  |d«      f   t        j                  |«      t         j                  t        j                  |d«      df   t         j                  t        j                  |d«      ddf   f«      }|S )Nr   r�   r¥   éþÿÿÿ)rð   r  Úr_Údiag)r$   r#   rQ  r*   s       r&   Ú	bjac_rowsz.test_odeint_banded_jacobian.<locals>.bjac_rows¶  sy   € Ü�i‰iœŸ™˜q¤"§'¡'¨!¨Q£-Ð/Ñ0ÜŸG™G A›JÜŸE™E¤"§'¡'¨!¨R£.°!Ð"3Ñ4ÜŸE™E¤"§'¡'¨!¨R£.°!°QÐ"6Ñ7ð9ó :ˆð ˆ
r(   c                 óL   •—  ‰| ||«      j                   j                  d¬«      S rU  rW  )r$   r#   rQ  r^  s      €r&   Ú	bjac_colsz.test_odeint_banded_jacobian.<locals>.bjac_cols½  s&   ø€ Ù˜˜A˜qÓ!×#Ñ#×(Ñ(¨sÐ(Ó3Ð3r(   )i3ÿÿÿç{®Gáz„?r   r   )rw   g      Àg{®Gáz”?r   )gü©ñÒMbP?ra  g       Àra  )r   r   rw   r  é   )r   rç   rJ   éd   Tg‚vIhÂ%<=g•dyáý¥=i'  )Úargsr   rK   rL   Úmxstepr+   )rd  r   rK   rL   re  r+   Ú	col_derivr¢   r�   )rd  r   rK   rL   re  r+   ÚmlÚmu)	rd  r   rK   rL   re  r+   rg  rh  rf  zsol1 != sol2)Úerr_msgçê-�™—q=zsol1 != sol3)rK   ri  zsol3 != sol4Únjec                 ó   •—  ‰|| |«      S r   rA   )r#   r$   rQ  rR  s      €r&   r'   z-test_odeint_banded_jacobian.<locals>.<lambda>é  s   ø€ ©T°!°Q¸«]€ r(   c                 ó   •—  ‰|| |«      S r   rA   )r#   r$   rQ  r*   s      €r&   r'   z-test_odeint_banded_jacobian.<locals>.<lambda>ì  s   ø€ ±#°a¸¸A³,€ r(   )rd  r   rK   rL   re  r+   r)   zsol1 != sol1ty)rL   ri  )r   rð   Úonesr   r   r   )rY  r`  rQ  rª   r#   Úsol1Úinfo1Úsol2Úinfo2Úsol3Úinfo3Úsol4Úinfo4Úsol1tyÚinfo1tyr^  rR  r*   s                  @@@r&   Útest_odeint_banded_jacobianry  ª  s…  ú€ òòò#òô4ô 	Ò&Ú&Ú'Ú&ð(ó 	)€Aô
 
�‰�‹€BÜ
�‰’Ó!€Aô ˜˜r 1¨A¨4¸TØ#¨%¸Ø!ô#�K€Dˆ%ô
 ˜˜r 1¨A¨4¸TØ#¨%¸Ø+°tô=�K€Dˆ%ô
 ˜˜r 1¨A¨4¸TØ#¨%¸Ø'¨A°!ô5�K€Dˆ%ô
 ˜˜r 1¨A¨4¸TØ#¨%¸Ø'¨A°!¸tôE�K€Dˆ%ô �D˜$¨Õ7Ü�D˜$ U°NÕCÜ�D˜$¨Õ7ô �u˜U‘| U¨5¡\Ô2Ü�u˜U‘| U¨5¡\Ô2ô Ó:¸BÀÈÈØ)-°EÀØ$)Û">ÀtôM�O€FˆGô �D˜& uÐ6FÖGr(   c                  ó8  — d„ } d„ }d„ }d„ }d„ }d„ }d„ }t        t        t        |dd	d
g«       t        t        t        |dd	d
g«       t        t        t        | dd	d
g|¬«       t        t        t        | dd	d
g|¬«       t        t        t        |ddgd	d
g|¬«       y )Nc                 ó   — d| z  S ©NéœÿÿÿrA   ©r  r#   s     r&   Úsys1dz!test_odeint_errors.<locals>.sys1dô  ó   € Ø�A‰vˆr(   c                 ó   — ddz  S ©Nru   r   rA   r~  s     r&   Úbad1z test_odeint_errors.<locals>.bad1÷  ó   € Ø�1‰uˆr(   c                  ó   — y©NÚfoorA   r~  s     r&   Úbad2z test_odeint_errors.<locals>.bad2ú  s   € Ør(   c                 ó   — ddz  S r‚  rA   r~  s     r&   Úbad_jac1z$test_odeint_errors.<locals>.bad_jac1ý  r„  r(   c                 ó
   — dggS r†  rA   r~  s     r&   Úbad_jac2z$test_odeint_errors.<locals>.bad_jac2   s   € Ø�ˆyÐr(   c                 ó"   — d| d   z  d| d   z  gS )Nr}  r   çš™™™™™¹¿r�   rA   r~  s     r&   Úsys2dz!test_odeint_errors.<locals>.sys2d  s   € Ø�Q�q‘T‘	˜4  !¡™9Ð%Ð%r(   c                 ó   — ddz  dgddggS )Nru   r   rŽ  rA   r~  s     r&   Úsys2d_bad_jacz)test_odeint_errors.<locals>.sys2d_bad_jac  s   € Ø�Q‘˜�
˜Q ˜IÐ&Ð&r(   ru   r   r�   ©r+   )rx   ÚZeroDivisionErrorr   Ú
ValueError)r  rƒ  rˆ  rŠ  rŒ  r�  r‘  s          r&   Útest_odeint_errorsr•  ó  s›   € òòòòòò&ò'ô Ô#¤V¨T°3¸¸A¸Ô?Ü”*œf d¨C°!°Q°Ô8äÔ#¤V¨U°C¸!¸Q¸ÀhÕOÜ”*œf e¨S°1°a°&¸xÕHäÔ#¤V¨U°S¸#°JÀÀAÀØ$ö&r(   c                  ó  — d„ } d„ }d„ }ddgddgg}t        t        t        ||ddg«       ddgddgg}t        t        t        |dg|«       t        t        t        | d	ddg«       t        t        t        |d	d	gddg|¬
«       y )Nc                 ó
   — ddgS )Nr�   r¥   rA   r~  s     r&   Úbadrhsz&test_odeint_bad_shapes.<locals>.badrhs  s   € Ø�2ˆwˆr(   c                 ó   — d| z  S r|  rA   r~  s     r&   Úsys1z$test_odeint_bad_shapes.<locals>.sys1  r€  r(   c                 ó   — g d¢gS )N)r   r   r   rA   r~  s     r&   Úbadjacz&test_odeint_bad_shapes.<locals>.badjac  s
   € Úˆ{Ðr(   r   r�   r¢   r€   r•   rJ   r’  )rx   r”  r   ry   )r˜  rš  rœ  Úbad_y0Úbad_ts        r&   Útest_odeint_bad_shapesrŸ    s‘   € òòòð �!ˆf�q˜!�fÐ€FÜ”*œf d¨F°Q¸°FÔ;ð �ˆV�a˜�VÐ€EÜ”*œf d¨T¨F°EÔ:ô ”,¤¨°°Q¸°FÔ;ô ”,¤¨¨r°2¨h¸¸A¸ÀVÖLr(   c                  ó’  — d„ } t        j                  d«      }t        | dg|«      }t        |t        j                  t        |«      df«      «       dt        j                  d«      z  }dgdz  |d|z  d|z  d	|z  gz   }t        | ddg|d
d
¬«      }t        j                  ddggdz  ddgddgddgddggz   «      }t        ||«       t        | dgg «      }t        |t        j                  g t         j                  ¬«      j                  d«      «       t        t        t        | dgg d¢«       t        t        t        | g d¢g d¢«       y)zRegression test for gh-8217.c                 ó   — d| z  S )Ng      Ð¿rA   r~  s     r&   rR  z$test_repeated_t_values.<locals>.func1  s   € Ø�Q‰wˆr(   rJ   ru   r�   rb  r¢   r   é	   r€   rj  )rL   rK   r–   rô   g      Ð?g      À?)ÚdtyperÙ   )r   r�   rô   r   )r�   r¢   r€   )r   r¥   r[  r€   N)rð   r   r   r   rn  ÚlenÚlogr   r   Úfloat64Úreshaperx   r”  )rR  r#   rz   ÚtauÚexpected_sols        r&   Útest_repeated_t_valuesrª  .  s3  € òô 	�‰�‹€AÜ
�˜�t˜QÓ
€CÜ�sœBŸG™G¤S¨£V¨Q KÓ0Ô1à
ŒB�F‰F�1‹I‰+€CØ	
ˆˆA‰��a˜‘e˜Q˜s™U A c¡EÐ*Ñ*€AÜ
�˜˜1�v˜q u°5Ô
9€CÜ—8‘8˜c 3˜Z˜L¨™NØ! 3˜ZØ" C˜[Ø" C˜[Ø# T˜]ð,ñ,ó -€Lô
 �C˜Ô&ô �˜�t˜RÓ
 €CÜ�sœBŸH™H R¬r¯z©zÔ:×BÑBÀ6ÓJÔKô ”*œf d¨R¨D².ÔAÜ”*œf dªI²~ÕFr(   );rÕ   Únumpyrð   r   r   r   r   r   r   r	   r
   r   r   r   Únumpy.testingr   r   r   r   r   r   r‡   r   rx   Úscipy.integrater   r   r   r   rC   rY   r‹   r“   rÆ   rÔ   r×   rã   rë   ró   r9   r!   r*   r  r  r  r  r  r   r"  r>  rB  rD  rF  rI  rM  ry  r•  rŸ  rª  rA   r(   r&   ú<module>r®     sk  ðñó ÷÷ ÷ ñ ÷E÷ Eó Ý *ß 4Ñ 4÷ &ñ  &÷F Oñ  OôFj+ˆlô j+ôZ&0�\ô &0÷RW4ñ W4÷t;4ñ ;4÷Fñ ô E�sô Eô2?�ô ?ô"Fˆô Fô<?�3ô <?ð~ ˜j¨"¨lÐ;€ò
ò
òò
òò
òò
÷?8ñ ?8ôDÐ"6ô ô
Ð"6ô ô
Ð 4ô ô
Ð!5ô ô
Ð!5ô ò
,òFHòR&ò@Mó6Gr(   