Ë
    qwj÷`  ã                   óL  — 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 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&«      Z/ G d'„ d(e/«      Z0 G d)„ d*e/«      Z1 G d+„ d,e/«      Z2 G d-„ d.e/«      Z3 G d/„ d0e/«      Z4d1„ Z5d2„ Z6d3„ Z7d4„ Z8d5„ Z9y)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)Ú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     €úi/var/www/html/newmanjeet/manjet/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¬or'   c                 ó(   •— ‰j                  || «      S r   ©r)   r!   s     €r%   r&   z(TestOdeint._do_problem.<locals>.<lambda>,   s   ø€ °7·;±;¸qÀ!Ô3Dr'   )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Úcmplxr5   ©r2   Úproblem_clsr$   s      r%   Útest_odeintzTestOdeint.test_odeint0   s+   € ß#ˆKÙ!“mˆGØ�}Š}ØØ×Ñ˜WÕ%ñ	 $r'   N)Ú__name__Ú
__module__Ú__qualname__r5   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"   r3   r$   s     €r%   r    z#TestODEClass._do_problem.<locals>.f?   s   ø€ Ø—9‘9˜Q “?Ð"r'   r)   c                 ó(   •— ‰j                  || «      S r   r-   rE   s     €r%   r)   z%TestODEClass._do_problem.<locals>.jacC   s   ø€ Ø—{‘{ 1 aÓ(Ð(r'   ÚubandÚlbandé
   )ÚatolÚrtolÚmethodr   )r"   r   )r1   rH   rG   Ú	ode_classÚset_integratorrJ   rK   Úset_initial_valuer/   Ú	integrater.   r   r#   r   Ú
successfulÚget_return_coder0   r   )	r2   r$   Ú
integratorrL   r    r)   Úintegrator_paramsÚigr3   s	    `       r%   r5   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?   rM   r5   r@   r'   r%   rB   rB   8   s   „ à€IôOr'   rB   c                   ó:   — e Zd ZeZd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zy)	ÚTestOdec                 ó¦   — t         D ]H  } |«       }|j                  rŒ|j                  s| j                  |dd«       | j                  |dd«       ŒJ y ©NÚvoderV   Úbdf)r8   r9   Ústiffr5   r:   s      r%   Ú	test_vodezTestOde.test_vode_   sH   € ç#ˆKÙ!“mˆGØ�}Š}ØØ—=’=Ø× Ñ  ¨&°'Ô:Ø×Ñ˜W f¨eÕ4ñ $r'   c                 óŒ   — t         D ];  } |«       }|j                  s| j                  |dd«       | j                  |dd«       Œ= y )NÚzvoderV   r\   ©r8   r]   r5   r:   s      r%   Ú
test_zvodezTestOde.test_zvodei   s>   € ç#ˆKÙ!“mˆGØ—=’=Ø× Ñ  ¨'°7Ô;Ø×Ñ˜W g¨uÕ5ñ	 $r'   c                 óf   — t         D ](  } |«       }|j                  rŒ| j                  |d«       Œ* y ©NÚlsodar7   r:   s      r%   Ú
test_lsodazTestOde.test_lsodaq   s-   € ç#ˆKÙ!“mˆGØ�}Š}ØØ×Ñ˜W gÕ.ñ	 $r'   c                 óš   — t         D ]B  } |«       }|j                  rŒ|j                  rŒ$t        |d«      rŒ1| j	                  |d«       ŒD y ©Nr)   Údopri5©r8   r9   r]   r1   r5   r:   s      r%   Útest_dopri5zTestOde.test_dopri5y   óD   € ç#ˆKÙ!“mˆGØ�}Š}ØØ�}Š}ØÜ�w Ô&ØØ×Ñ˜W hÕ/ñ $r'   c                 óš   — t         D ]B  } |«       }|j                  rŒ|j                  rŒ$t        |d«      rŒ1| j	                  |d«       ŒD y ©Nr)   Údop853rj   r:   s      r%   Útest_dop853zTestOde.test_dop853…   rl   r'   c                 ó   — 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                  «       rŒÉJ ‚ y )N)r[   r`   re   c                  ó   — y©Nç      ð?r@   ©r"   r#   s     r%   r    z'TestOde.test_concurrent_fail.<locals>.f–   s   € Ør'   r   çš™™™™™¹?)r   rN   rO   rP   r"   rQ   )r2   Ú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˜Ÿ™ ™Ô$ð �K‰K˜Ÿ™˜c™	Ô"Ø—<‘<•>Ð!�>ñ .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rs   r@   ru   s     r%   r    z%TestOde.test_concurrent_ok.<locals>.f§   s   € Ør'   é   )r[   r`   re   ri   ro   >   r[   re   r`   é   r   rv   gš™™™™™É?©ri   ro   g333333Ó?)Úranger   rN   rO   rP   r"   r   r#   )r2   Únum_parallel_threadsr    Úkrw   rx   ry   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ô  ,�Ü˜“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   rM   r^   rb   rf   rk   rp   rz   rƒ   r@   r'   r%   rX   rX   [   s*   „ à€Iò5ò6ò/ò
0ò
0ò"ó*#+r'   rX   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 rZ   ra   r:   s      r%   r^   zTestComplexOde.test_vodeÐ   s>   € ç#ˆKÙ!“mˆGØ—=’=Ø× Ñ  ¨&°'Õ:à× Ñ  ¨&°%Õ8ñ $r'   c                 óL   — t         D ]  } |«       }| j                  |d«       Œ y rd   )r8   r5   r:   s      r%   rf   zTestComplexOde.test_lsodaÙ   s%   € ÷ $ˆKÙ!“mˆGØ×Ñ˜W gÕ.ñ $r'   c                 ó€   — t         D ]5  } |«       }|j                  rŒt        |d«      rŒ$| j                  |d«       Œ7 y rh   ©r8   r]   r1   r5   r:   s      r%   rk   zTestComplexOde.test_dopri5à   ó:   € ç#ˆKÙ!“mˆGØ�}Š}ØÜ�w Ô&ØØ×Ñ˜W hÕ/ñ $r'   c                 ó€   — t         D ]5  } |«       }|j                  rŒt        |d«      rŒ$| j                  |d«       Œ7 y rn   r‰   r:   s      r%   rp   zTestComplexOde.test_dop853ê   rŠ   r'   N)	r=   r>   r?   r   rM   r^   rf   rk   rp   r@   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   ç      $@rt   ç       @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~   é   r@   ru   s     r%   Úrhsz(TestSolout._run_solout_test.<locals>.rhs  ó#   € Ø�a‘D˜1˜Q™4‘K ! A¡$¨¡' Ð*Ð*r'   r   éÿÿÿÿ)r   rN   Ú
set_soloutrO   rP   r   r   ©r2   rS   Út0ÚtendÚy0r˜   r�   rU   Ú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¦   ©r2   rS   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�   rt   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›   r@   ru   s     r%   r�   z6TestSolout._run_solout_after_initial_test.<locals>.rhs  rž   r'   r   rŸ   )r   rN   rO   r    rP   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�   rt   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>.solout7  ó3   ø€ Ø�I‰I�aŒLØ�I‰I�a—f‘f“hÔØ�4˜‘8Š|Øð r'   c                 ó*   — |d   |d   z   |d   dz   gS r›   r@   ru   s     r%   r�   z.TestSolout._run_solout_break_test.<locals>.rhs=  rž   r'   r   rŸ   )r   rN   r    rO   rP   r   r   r   ©r2   rS   r¢   r¤   r˜   r�   rU   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_breakJ  ó   € Û.ˆJØ×'Ñ'¨
Õ3ñ /r'   N)	r=   r>   r?   r¦   r«   r°   r²   rº   r½   r@   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>.soloutY  r™   r'   c                 ó   — d| dz
  dz
  z  gS ©Nrt   r�   ù              ð?r@   ru   s     r%   r�   z/TestComplexSolout._run_solout_test.<locals>.rhs]  ó   € Ø˜˜T™ B™Ñ'Ð(Ð(r'   r   rŸ   )r   rN   r    rO   rP   r   r   r¡   s            @@r%   r¦   z"TestComplexSolout._run_solout_testQ  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_solouti  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>.soloutu  r·   r'   c                 ó   — d| dz
  dz
  z  gS rÅ   r@   ru   s     r%   r�   z5TestComplexSolout._run_solout_break_test.<locals>.rhs{  rÇ   r'   r   rŸ   r�   )r   rN   r    rO   rP   r   r   r   r¹   s           @@@r%   rº   z(TestComplexSolout._run_solout_break_testm  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½   r@   r'   r%   rÀ   rÀ   O  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]   r9   r.   r/   rH   rG   rJ   rK   r@   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ñ?rt   rv   g      @c                 ó~   — t        dt        «      }d|d<   | j                   | j                  z  |d<   t	        ||«      S )N)rœ   rœ   rt   ©r   r~   )r~   r   )r   Úfloatr‚   Úmr   )r2   r3   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~   ©rJ   rK   )	r   r‚   rÕ   r/   r   r	   r   rJ   rK   )r2   Úzsr"   ÚomegaÚus        r%   r0   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Ô   r/   r‚   rÕ   r    r0   r@   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Æ   r@   ©r2   r3   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Ø   )r/   r   r   rJ   rK   ©r2   rÙ   r"   rÛ   s       r%   r0   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   r/   r9   r    r)   r0   r@   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 )Nrt   rI   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       €       ÀrI   rŸ   rØ   )ÚnpÚarctanr   rJ   rK   rã   s       r%   r0   z	Pi.verifyÕ  s5   € Ø”"—)‘)˜B“-ÑˆÜ˜˜2˜b¢!˜e™9¨4¯9©9¸4¿9¹9ÔEÐEr'   N)	r=   r>   r?   rÏ   r.   r/   r9   r    r0   r@   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   )r2   r3   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   )rG   )ÚriÚciÚvalÚjr2   s      €€r%   Úset_jzCoupledDecay.jac.<locals>.set_jþ  s   ø€ Ø*-ˆAˆd�j‰j˜2‰o Ñ" BÐ&Ò'r'   r   rœ   )rð   rê   r   rH   rG   )r2   r3   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   Úvstackr/   Ú	transposer   rJ   rK   )r2   rÙ   r"   rð   Úd10Úd21Úd20Úe0Úe1Úe2rÛ   s              r%   r0   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.   r/   rH   rG   rð   r    r)   r0   r@   r'   r%   rí   rí   Ú  s6   „ ñð
 €EØ€FÚ	€BØ€EØ€Eâ€Dò8òó2?r'   rí   c                 ó   — |d   |d    g}|S ©Nr~   r   r@   )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   rt   ç      ð¿rè   )r"   r  rù   s      r%   r)   r)   #  s#   € Ü��SˆzØ�cˆ{ðó 	€Aà€Hr'   c                 ó(   — ||d   z  | |d   z  g}|S r  r@   ©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  r@   )r"   r  Úomega1Úomega2r  s        r%   Úf2r  4  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  9  s%   € Ü��Vˆ}Ø�˜ˆ~ðó 	 €Aà€Hr'   c                 ó4   — |d   |d   z  |d    |d   z  g}|S )Nr   r~   r@   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  D  s.   € Ü��U˜1‘XˆØ�q‘�	˜3Ðð!ó 	"€Aà€Hr'   c                   óB   — e Zd ZdZdZdZd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Z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>)rJ   rK   Úwith_jacobianrØ   )r   Úsolver_uses_jacrN   Úsolver_name)r2   r    r)   Úsolvers       r%   Ú_get_solverz ODECheckParameterUse._get_solverS  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 )Nrt   r   r	  )rO   rP   r   r   r#   ©r2   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'  )r2   r"  s     r%   Útest_no_paramsz#ODECheckParameterUse.test_no_paramse  s"   € Ø×!Ñ!¤!¤SÓ)ˆØ×Ñ˜6Õ"r'   c                 óº   — | j                  t        t        «      }d}|j                  |«       | j                  r|j                  |«       | j                  |«       y rs   )r#  r  r  Úset_f_paramsr   Úset_jac_paramsr'  ©r2   r"  rÚ   s      r%   Útest_one_scalar_paramz*ODECheckParameterUse.test_one_scalar_parami  sL   € Ø×!Ñ!¤"¤dÓ+ˆØˆØ×Ñ˜EÔ"Ø×ÒØ×!Ñ! %Ô(Ø×Ñ˜6Õ"r'   c                 óÂ   — | j                  t        t        «      }d}d}|j                  ||«       | j                  r|j                  ||«       | j                  |«       y rs   )r#  r  r  r+  r   r,  r'  )r2   r"  r  r  s       r%   Útest_two_scalar_paramsz+ODECheckParameterUse.test_two_scalar_paramsq  sU   € Ø×!Ñ!¤"¤dÓ+ˆØˆØˆØ×Ñ˜F FÔ+Ø×ÒØ×!Ñ! &¨&Ô1Ø×Ñ˜6Õ"r'   c                 ó¾   — | j                  t        t        «      }ddg}|j                  |«       | j                  r|j                  |«       | j                  |«       y rs   )r#  r  r  r+  r   r,  r'  r-  s      r%   Útest_vector_paramz&ODECheckParameterUse.test_vector_paramz  sP   € Ø×!Ñ!¤"¤dÓ+ˆØ�c�
ˆØ×Ñ˜EÔ"Ø×ÒØ×!Ñ! %Ô(Ø×Ñ˜6Õ"r'   c                 ó$  — | j                  t        t        «      }|j                  | j                  d¬«       ddg}|j                  |d«       t        j                  t        «      5  |j                  t        «       d d d «       y # 1 sw Y   y xY w)Nr~   )Únstepsrt   r   )r#  r    r)   rN   r!  rO   ÚpytestÚwarnsÚUserWarningrP   r   r%  s      r%   Útest_warns_on_failurez*ODECheckParameterUse.test_warns_on_failure‚  sl   € à×!Ñ!¤!¤SÓ)ˆØ×Ñ˜d×.Ñ.°qÐÔ9Ø�3ˆZˆØ× Ñ   SÔ)Ü�\‰\œ+Õ&Ø×ÑœRÔ ÷ '×&Ñ&ús   Á'BÂBN)r=   r>   r?   rÏ   r!  r   r#  r'  r)  r.  r0  r2  r8  r@   r'   r%   r  r  J  s4   „ ÙGð
 €KØ€Oò
ò9ò#ò#ò#ò#ó!r'   r  c                   ó   — e Zd ZdZdZy)ÚTestDOPRI5CheckParameterUseri   FN©r=   r>   r?   r!  r   r@   r'   r%   r:  r:  Œ  ó   „ Ø€KØ�Or'   r:  c                   ó   — e Zd ZdZdZy)ÚTestDOP853CheckParameterUsero   FNr;  r@   r'   r%   r>  r>  ‘  r<  r'   r>  c                   ó   — e Zd ZdZdZy)ÚTestVODECheckParameterUser[   TNr;  r@   r'   r%   r@  r@  –  s   „ Ø€KØ�Or'   r@  c                   ó   — e Zd ZdZdZy)ÚTestZVODECheckParameterUser`   TNr;  r@   r'   r%   rB  rB  ›  ó   „ Ø€KØ�Or'   rB  c                   ó   — e Zd ZdZdZy)ÚTestLSODACheckParameterUsere   TNr;  r@   r'   r%   rE  rE     rC  r'   rE  c                  óv   — d} dg}t        d„ | |d¬«      \  }}t        |t        j                  | gg«      «       y )Nr~   r   c                 ó   — |  S r   r@   )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_timerI  ¥  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   r@   rL  s      r%   r)   z(test_odeint_banded_jacobian.<locals>.jac´  s   € Øˆr'   c                 ó:   — |j                   j                  d¬«      S ©NÚCró   ©ÚTr”   rL  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"   rM  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 rQ  rS  )r#   r"   rM  rZ  s      €r%   Ú	bjac_colsz.test_odeint_banded_jacobian.<locals>.bjac_colsÁ  s&   ø€ Ù˜˜A˜qÓ!×#Ñ#×(Ñ(¨sÐ(Ó3Ð3r'   )i3ÿÿÿç{®Gáz„?r   r   )rv   g      Àg{®Gáz”?r   )gü©ñÒMbP?r]  g       Àr]  )r   r   rv   r	  é   )r   rá   rI   éd   Tg‚vIhÂ%<=g•dyáý¥=i'  )Úargsr   rJ   rK   Úmxstepr*   )r`  r   rJ   rK   ra  r*   Ú	col_derivrœ   r~   )r`  r   rJ   rK   ra  r*   ÚmlÚmu)	r`  r   rJ   rK   ra  r*   rc  rd  rb  zsol1 != sol2)Úerr_msgçê-�™—q=zsol1 != sol3)rJ   re  zsol3 != sol4Únjec                 ó   •—  ‰|| |«      S r   r@   )r"   r#   rM  rN  s      €r%   r&   z-test_odeint_banded_jacobian.<locals>.<lambda>í  s   ø€ ©T°!°Q¸¬]r'   c                 ó   •—  ‰|| |«      S r   r@   )r"   r#   rM  r)   s      €r%   r&   z-test_odeint_banded_jacobian.<locals>.<lambda>ð  s   ø€ ±#°a¸¸A´,r'   )r`  r   rJ   rK   ra  r*   r(   zsol1 != sol1ty)rK   re  )r   rê   Úonesr   r   r   )rU  r\  rM  r¤   r"   Úsol1Úinfo1Úsol2Úinfo2Úsol3Úinfo3Úsol4Úinfo4Úsol1tyÚinfo1tyrZ  rN  r)   s                  @@@r%   Útest_odeint_banded_jacobianru  ®  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éœÿÿÿr@   ©r  r"   s     r%   Úsys1dz!test_odeint_errors.<locals>.sys1dø  ó   € Ø�A‰vˆr'   c                 ó   — ddz  S ©Nrt   r   r@   rz  s     r%   Úbad1z test_odeint_errors.<locals>.bad1û  ó   € Ø�1‰uˆr'   c                  ó   — y©NÚfoor@   rz  s     r%   Úbad2z test_odeint_errors.<locals>.bad2þ  s   € Ør'   c                 ó   — ddz  S r~  r@   rz  s     r%   Úbad_jac1z$test_odeint_errors.<locals>.bad_jac1  r€  r'   c                 ó
   — dggS r‚  r@   rz  s     r%   Úbad_jac2z$test_odeint_errors.<locals>.bad_jac2  s   € Ø�ˆyÐr'   c                 ó"   — d| d   z  d| d   z  gS )Nry  r   çš™™™™™¹¿r~   r@   rz  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 )Nrt   r   rŠ  r@   rz  s     r%   Úsys2d_bad_jacz)test_odeint_errors.<locals>.sys2d_bad_jac
  s   € Ø�Q‘˜�
˜Q ˜IÐ&Ð&r'   rt   r   r~   ©r*   )Úassert_raisesÚ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Ÿ   r@   rz  s     r%   Úbadrhsz&test_odeint_bad_shapes.<locals>.badrhs  s   € Ø�2ˆwˆr'   c                 ó   — d| z  S rx  r@   rz  s     r%   Úsys1z$test_odeint_bad_shapes.<locals>.sys1  r|  r'   c                 ó   — g d¢gS )N)r   r   r   r@   rz  s     r%   Úbadjacz&test_odeint_bad_shapes.<locals>.badjac   s
   € Úˆ{Ðr'   r   r~   rœ   r}   r�   rI   rŽ  )r�  r‘  r   ÚRuntimeError)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      Ð¿r@   rz  s     r%   rN  z$test_repeated_t_values.<locals>.func5  s   € Ø�Q‰wˆr'   rI   rt   r~   r^  rœ   r   é	   r}   rf  )rK   rJ   r�   rî   g      Ð?g      À?)ÚdtyperÓ   )r   r~   rî   r   )r~   rœ   r}   )r   rŸ   rW  r}   N)rê   r   r   r   rj  ÚlenÚlogr   r   Úfloat64Úreshaper�  r‘  )rN  r"   rw   ÚtauÚexpected_sols        r%   Útest_repeated_t_valuesr¨  2  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   r5  r   r�  Úscipy.integrater   r   r   r   rB   rX   r…   r�   rÀ   rÎ   rÑ   rÝ   rå   rí   r8   r    r)   r  r  r  r  r  r  r  r:  r>  r@  rB  rE  rI  ru  r’  r�  r¨  r@   r'   r%   Ú<module>r¬     si  ðñó ÷÷ ÷ ñ ÷7õ 7ó Ý *ß 4Ñ 4÷ &ñ  &÷F Oñ  OôFn+ˆlô n+ôb&0�\ô &0÷RW4ñ W4÷t;4ñ ;4÷Fñ ô E�sô Eô2?�ô ?ô"Fˆô Fô<?�3ô <?ð~ ˜j¨"¨lÐ;€ò
ò
òò
òò
òò
÷?!ñ ?!ôDÐ"6ô ô
Ð"6ô ô
Ð 4ô ô
Ð!5ô ô
Ð!5ô ò
,òFHòR&ò@Mó6Gr'   