403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/scipy/integrate/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/scipy/integrate/tests/__pycache__/test_integrate.cpython-311.pyc
�

d�c_���dZddlZddlmZmZmZmZmZmZm	Z	m
Z
mZmZm
Z
ddlmZmZmZmZmZmZddlmZddlmZmZmZGd�d��ZGd	�d
��ZGd�de��ZGd
�de��ZGd�d��Z Gd�d��Z!Gd�d��Z"Gd�de"��Z#Gd�de"��Z$Gd�de"��Z%Gd�de"��Z&e#e$e%e&gZ'd�Z(d�Z)d�Z*d �Z+d!�Z,d"�Z-d#�Z.d$�Z/Gd%�d&��Z0Gd'�d(e0��Z1Gd)�d*e0��Z2Gd+�d,e0��Z3Gd-�d.e0��Z4Gd/�d0e0��Z5d1�Z6d2�Z7d3�Z8d4�Z9d5�Z:dS)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��eZdZd�Zd�ZdS)�
TestOdeintc���td�jd��}t�j�j|d���\}}t��||����t�fd��j|dd���\}}t��||����t�d��r�t�j�j|�jd���\}}t��||����t�fd	��j|�fd
�dd���\}}t��||����dSdS)N�g�������?T��full_outputc�0����||��S�N��f��t�y�problems  ��F/usr/lib/python3/dist-packages/scipy/integrate/tests/test_integrate.py�<lambda>z(TestOdeint._do_problem.<locals>.<lambda>s���'�)�)�A�q�/�/��)r�tfirst�jac)�Dfunrc�0����||��Srr r"s  �r&r'z(TestOdeint._do_problem.<locals>.<lambda>*s���g�i�i��1�o�o�r(c�0����||��Sr�r*r"s  �r&r'z(TestOdeint._do_problem.<locals>.<lambda>+s���7�;�;�q�!�3D�3D�r()r+rr))	r�stop_trr!�z0r�verify�hasattrr*)�selfr%r#�z�infodicts `   r&�_do_problemzTestOdeint._do_problemsd����3����-�-���W�Y��
�A�4�H�H�H���8�����q�!�$�$�%�%�%��9�9�9�9�7�:�q�)-�d�<�<�<���8�����q�!�$�$�%�%�%��7�E�"�"�
	*� ���G�J����-1�3�3�3�K�A�x��G�N�N�1�a�(�(�)�)�)�!�!=�!=�!=�!=�w�z�1�&D�&D�&D�&D�-1�$�@�@�@�K�A�x�
�G�N�N�1�a�(�(�)�)�)�)�)�
	*�
	*r(c�h�tD])}|��}|jr�|�|���*dSr��PROBLEMS�cmplxr6�r3�problem_clsr%s   r&�test_odeintzTestOdeint.test_odeint/sJ��#�	&�	&�K�!�k�m�m�G��}�
�����W�%�%�%�%�		&�	&r(N)�__name__�
__module__�__qualname__r6r=�r(r&rrs2������*�*�*�0&�&�&�&�&r(rc��eZdZdZdd�ZdS)�TestODEClassN�adamsc����fd�}d}t�d��r�fd�}i}�j��j��j|d<�j|d<|�||��}|j|f�jdz�jdz|d�|��|��jd�	��|�	�j
��}t||j��t|����|f��t|���d
k�|f��t��t#|g���j
���|f��dS)Nc�0����||��Srr �r#r4r%s  �r&r'z*TestODEClass._do_problem.<locals>.<lambda>>s������1�a���r(r*c�0����||��Srr.rGs  �r&r'z*TestODEClass._do_problem.<locals>.<lambda>As���w�{�{�1�a�0�0�r(�uband�lband�
)�atol�rtol�methodr)r#r)r2rJrI�	ode_class�set_integratorrLrM�set_initial_valuer0�	integrater/rr$r�
successful�get_return_coder1r)	r3r%�
integratorrNr!r*�integrator_params�igr4s	 `       r&r6zTestODEClass._do_problem;st���
)�(�(�(�����7�E�"�"�	1�0�0�0�0�C����=�$��
�(A�)0���g�&�)0���g�&�
�^�^�A�s�
#�
#�����*�	/�&�|�B��&�|�B��!'�	/�	/�.�		/�	/�	/�	���W�Z�3��/�/�/��L�L���(�(���1�b�d�#�#�#���
�
���'�6�!2�3�3�3���"�"�$�$�q�(�7�F�*;�<�<�<�����u�a�S�z�z�7�>�:�:�W�f�<M�N�N�N�N�Nr()rD)r>r?r@rOr6rAr(r&rCrC7s3�������I�O�O�O�O�O�Or(rCc�<�eZdZeZd�Zd�Zd�Zd�Zd�Z	d�Z
d�ZdS)	�TestOdec��tD]I}|��}|jr�|js|�|dd��|�|dd���JdS�N�voderD�bdf)r9r:�stiffr6r;s   r&�	test_vodezTestOde.test_vode\sp��#�	5�	5�K�!�k�m�m�G��}�
���=�
;�� � ��&�'�:�:�:����W�f�e�4�4�4�4�
	5�	5r(c��tD]A}|��}|js|�|dd��|�|dd���BdS)N�zvoderDr]�r9r^r6r;s   r&�
test_zvodezTestOde.test_zvodefsc��#�	6�	6�K�!�k�m�m�G��=�
<�� � ��'�7�;�;�;����W�g�u�5�5�5�5�		6�	6r(c�j�tD]*}|��}|jr�|�|d���+dS�N�lsodar8r;s   r&�
test_lsodazTestOde.test_lsodansL��#�	/�	/�K�!�k�m�m�G��}�
�����W�g�.�.�.�.�		/�	/r(c��tD]C}|��}|jr�|jr�t|d��r�-|�|d���DdS�Nr*�dopri5�r9r:r^r2r6r;s   r&�test_dopri5zTestOde.test_dopri5v�n��#�	0�	0�K�!�k�m�m�G��}�
���}�
���w��&�&�
�����W�h�/�/�/�/�	0�	0r(c��tD]C}|��}|jr�|jr�t|d��r�-|�|d���DdS�Nr*�dop853rkr;s   r&�test_dop853zTestOde.test_dop853�rmr(c��dD]�}d�}t|���|��}|�dd��t|���|��}|�dd��|�|jdz��|�|jdz��tt|j|jdz����dS)N)r\rarfc��dS�N��?rA�r#r$s  r&r'z.TestOde.test_concurrent_fail.<locals>.<lambda>�s��S�r(r皙�����?)rrPrQrRr#�
assert_raises�RuntimeError)r3�solr!�r�r2s     r&�test_concurrent_failzTestOde.test_concurrent_fail�s���-�	@�	@�C� � �A��A���%�%�c�*�*�A�
����1�%�%�%��Q���&�&�s�+�+�B�� � ��A�&�&�&�
�K�K���c�	�"�"�"��L�L�����$�$�$��,���Q�S�3�Y�?�?�?�?�	@�	@r(c��d�}td��D�]+}dD]�}t|���|��}|�dd��t|���|��}|�dd��|�|jdz��|�|jdz��|�|jdz��t
|jd��t
|jd����dD�].}t|���|��}|�dd��t|���|��}|�dd��|�|jdz��|�|jdz��|�|jdz��|�|jdz��|�|jdz��t
|jd��t
|jd����0��-dS)	Nc��dSrtrArvs  r&r'z,TestOde.test_concurrent_ok.<locals>.<lambda>�s���r(�)r\rarfrjrprrwg�������?�rjrpg333333�?)�rangerrPrQrRr#rr$)r3r!�krzr{r|s      r&�test_concurrent_okzTestOde.test_concurrent_ok�s������q���	+�	+�A�E�
+�
+����F�F�)�)�#�.�.���#�#�A�q�)�)�)���V�V�*�*�3�/�/���$�$�Q��*�*�*����A�C�#�I�&�&�&����R�T�C�Z�(�(�(����R�T�C�Z�(�(�(����S�)�)�)����c�*�*�*�*�+�
+�
+����F�F�)�)�#�.�.���#�#�A�q�)�)�)���V�V�*�*�3�/�/���$�$�Q��*�*�*����A�C�#�I�&�&�&����A�C�#�I�&�&�&����R�T�C�Z�(�(�(����A�C�#�I�&�&�&����R�T�C�Z�(�(�(����S�)�)�)����c�*�*�*�*�
+�	+�	+r(N)r>r?r@rrOr_rcrgrlrqr}r�rAr(r&rYrYXs��������I�5�5�5�6�6�6�/�/�/�
0�
0�
0�
0�
0�
0�
@�
@�
@� +� +� +� +� +r(rYc�*�eZdZeZd�Zd�Zd�Zd�ZdS)�TestComplexOdec��tD]B}|��}|js|�|dd���+|�|dd���CdSr[rbr;s   r&r_zTestComplexOde.test_vode�sf��#�	9�	9�K�!�k�m�m�G��=�
9�� � ��&�'�:�:�:�:�� � ��&�%�8�8�8�8�	9�	9r(c�Z�tD]"}|��}|�|d���#dSre)r9r6r;s   r&rgzTestComplexOde.test_lsoda�s?��#�	/�	/�K�!�k�m�m�G����W�g�.�.�.�.�	/�	/r(c��tD];}|��}|jr�t|d��r�%|�|d���<dSri�r9r^r2r6r;s   r&rlzTestComplexOde.test_dopri5��a��#�	0�	0�K�!�k�m�m�G��}�
���w��&�&�
�����W�h�/�/�/�/�
	0�	0r(c��tD];}|��}|jr�t|d��r�%|�|d���<dSror�r;s   r&rqzTestComplexOde.test_dop853�r�r(N)	r>r?r@rrOr_rgrlrqrAr(r&r�r��sU�������I�9�9�9�/�/�/�0�0�0�0�0�0�0�0r(r�c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�
TestSoloutc��	�
�g�	g�
d}d}ddg}�	�
fd�}d�}t|���|��}|�|��|�||��|�|��}t�
d|��t�
d|��t
�	d|��t
�	d|��dS)	Nr�$@ru�@c�����|����|�����dSr��append�copy�r#r$�ts�yss  ��r&�soloutz+TestSolout._run_solout_test.<locals>.solout��2����I�I�a�L�L�L��I�I�a�f�f�h�h�����r(c�<�|d|dz|ddzgS�Nr��rArvs  r&�rhsz(TestSolout._run_solout_test.<locals>.rhs��#���a�D�1�Q�4�K�!�A�$��'��*�*r(r���)rrP�
set_soloutrQrRrr�r3rU�t0�tend�y0r�r�rW�retr�r�s         @@r&�_run_solout_testzTestSolout._run_solout_test�s�����
��
��
�����3�Z��	 �	 �	 �	 �	 �	 �	+�	+�	+���X�X�
$�
$�Z�
0�
0��
�
�
�f����
���R��$�$�$��l�l�4� � ���2�a�5�"�%�%�%��2�b�6�3�'�'�'��R��U�B�����R��V�T�"�"�"�"�"r(c�:�dD]}|�|���dS�Nr��r��r3rUs  r&�test_soloutzTestSolout.test_solout�2��.�	.�	.�J��!�!�*�-�-�-�-�	.�	.r(c��	�
�g�	g�
d}d}ddg}�	�
fd�}d�}t|���|��}|�||��|�|��|�|��}t�
d|��t�
d|��t
�	d|��t
�	d|��dS)	Nrr�rur�c�����|����|�����dSrr�r�s  ��r&r�z9TestSolout._run_solout_after_initial_test.<locals>.soloutr�r(c�<�|d|dz|ddzgSr�rArvs  r&r�z6TestSolout._run_solout_after_initial_test.<locals>.rhsr�r(rr�)rrPrQr�rRrrr�s         @@r&�_run_solout_after_initial_testz)TestSolout._run_solout_after_initial_tests�����
��
��
�����3�Z��	 �	 �	 �	 �	 �	 �	+�	+�	+���X�X�
$�
$�Z�
0�
0��
���R��$�$�$�
�
�
�f�����l�l�4� � ���2�a�5�"�%�%�%��2�b�6�3�'�'�'��R��U�B�����R��V�T�"�"�"�"�"r(c�:�dD]}|�|���dSr�)r�r�s  r&�test_solout_after_initialz$TestSolout.test_solout_after_initials2��.�	<�	<�J��/�/�
�;�;�;�;�	<�	<r(c����	�
�g�	g�
d}d�ddg}��	�
fd�}d�}t|���|��}|�|��|�||��|����}t�
d|��t�
d|��t
�	d|��t�	d�dzk��t�	d�k��dS)	Nrr�rur�c�����|����|�����|�dzkrdSdS�Nr�r�r��r#r$r�r�r�s  ���r&r�z1TestSolout._run_solout_break_test.<locals>.solout*�E����I�I�a�L�L�L��I�I�a�f�f�h�h�����4��8�|�|��r��|r(c�<�|d|dz|ddzgSr�rArvs  r&r�z.TestSolout._run_solout_break_test.<locals>.rhs0r�r(rr�)rrPr�rQrRrrr�r3rUr�r�r�r�rWr�r�r�r�s        @@@r&�_run_solout_break_testz!TestSolout._run_solout_break_test"s�����
��
��
�����3�Z��	�	�	�	�	�	�	�	+�	+�	+���X�X�
$�
$�Z�
0�
0��
�
�
�f����
���R��$�$�$��l�l�4� � ���2�a�5�"�%�%�%��2�b�6�3�'�'�'��R��U�B������2���c��!�"�"�"���2���
�����r(c�:�dD]}|�|���dSr��r�r�s  r&�test_solout_breakzTestSolout.test_solout_break=�2��.�	4�	4�J��'�'�
�3�3�3�3�	4�	4r(N)	r>r?r@r�r�r�r�r�r�rAr(r&r�r��sn������#�#�#�0.�.�.�#�#�#�0<�<�<����64�4�4�4�4r(r�c�&�eZdZd�Zd�Zd�Zd�ZdS)�TestComplexSoloutc��	�
�g�	g�
d}d}dg}�	�
fd�}d�}t|���|��}|�|��|�||��|�|��}t�
d|��t�
d|��t
�	d|��t
�	d|��dS)Nr�4@c�����|����|�����dSrr�r�s  ��r&r�z2TestComplexSolout._run_solout_test.<locals>.soloutLr�r(c��d|dz
dz
zgS�Nrur���?rArvs  r&r�z/TestComplexSolout._run_solout_test.<locals>.rhsP�����T��B��'�(�(r(rr�)rrPr�rQrRrrr�s         @@r&r�z"TestComplexSolout._run_solout_testDs�����
��
��
�����U��	 �	 �	 �	 �	 �	 �	)�	)�	)���
�
�
,�
,�Z�
8�
8��
�
�
�f����
���R��$�$�$��l�l�4� � ���2�a�5�"�%�%�%��2�b�6�3�'�'�'��R��U�B�����R��V�T�"�"�"�"�"r(c�:�dD]}|�|���dSr�r�r�s  r&r�zTestComplexSolout.test_solout\r�r(c����	�
�g�	g�
d}d�dg}��	�
fd�}d�}t|���|��}|�|��|�||��|����}t�
d|��t�
d|��t
�	d|��t�	d�dzk��t�	d�k��dS)Nrr�c�����|����|�����|�dzkrdSdSr�r�r�s  ���r&r�z8TestComplexSolout._run_solout_break_test.<locals>.solouthr�r(c��d|dz
dz
zgSr�rArvs  r&r�z5TestComplexSolout._run_solout_break_test.<locals>.rhsnr�r(rr�r�)rrPr�rQrRrrrr�s        @@@r&r�z(TestComplexSolout._run_solout_break_test`s�����
��
��
�����U��	�	�	�	�	�	�	�	)�	)�	)���
�
�
,�
,�Z�
8�
8��
�
�
�f����
���R��$�$�$��l�l�4� � ���2�a�5�"�%�%�%��2�b�6�3�'�'�'��R��U�B������2���c��!�"�"�"���2���
�����r(c�:�dD]}|�|���dSr�r�r�s  r&r�z#TestComplexSolout.test_solout_break{r�r(N)r>r?r@r�r�r�r�rAr(r&r�r�BsP������#�#�#�0.�.�.����64�4�4�4�4r(r�c�2�eZdZdZdZdZdZgZdZdZ	dZ
dZdS)�ODEz
    ODE problem
    Fr�Ng���ư>g�h㈵��>)r>r?r@�__doc__r^r:r/r0rJrIrLrMrAr(r&r�r��sB��������
�E��E�
�F�	�B��E��E��D��D�D�Dr(r�c�F�eZdZdZdZeddge��ZdZdZ	d�Z
d�ZdS)	�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�?rurwg@c�|�tdt��}d|d<|j|jz|d<t	||��S)N)r�r�ru�rr�)r�r)r�floatr��mr)r3r4r#�tmps    r&r!zSimpleOscillator.f�s<���F�E�"�"����D�	��V�G�d�f�$��D�	��3��{�{�r(c��t|j|jz��}|jdt	||z��z|jdt||z��z|zz}t
||dd�df|j|j���S)Nrr��rLrM)	rr�r�r0rr	r
rLrM)r3�zsr#�omega�us     r&r1zSimpleOscillator.verify�sw���T�V�d�f�_�%�%���G�A�J�s�5��7�|�|�#�d�g�a�j��U�1�W���&=�e�&C�C����2�a�a�a��d�8�$�)�$�)�D�D�D�Dr(N)r>r?r@r�r/rr�r0r�r�r!r1rAr(r&r�r��sg���������F�	���S�z�5�	!�	!�B��A��A����E�E�E�E�Er(r�c�L�eZdZdZdezZegd���ZdZd�Z	d�Z
d�ZdS)	�
ComplexExpzThe equation :lm:`\dot u = i u`g�G�z��?)r�y@y@y@y@Tc��d|zS)Nr�rA�r3r4r#s   r&r!zComplexExp.f�s���!�t�r(c�&�dtd��zS)Nr��)r
r�s   r&r*zComplexExp.jac�s���#�a�&�&�y�r(c�p�|jtd|z��z}t|||j|j���S)Nr�r�)r0rr
rLrM�r3r�r#r�s    r&r1zComplexExp.verify�s3���G�c�"�Q�$�i�i�����2�D�I�D�I�>�>�>�>r(N)r>r?r@r�rr/rr0r:r!r*r1rAr(r&r�r��sk������*�*�
�"�W�F�	��
!�
!�
!�	"�	"�B��E�������?�?�?�?�?r(r�c�,�eZdZdZdZdgZdZd�Zd�ZdS)�Piz'Integrate 1/(t + 1j) from t=-10 to t=10�rTc�4�td|dz
dzzg��S)NrurKr��rr�s   r&r!zPi.f�s ���b�!�b�&�2�+�&�'�(�(�(r(c�~�dtjd��z}t||ddd�f|j|j���S)Ny��rKr�r�)�np�arctanr
rLrMr�s    r&r1z	Pi.verify�s;���"�)�B�-�-�����2�b�!�!�!�e�9�4�9�4�9�E�E�E�Er(N)	r>r?r@r�r/r0r:r!r1rAr(r&r�r��sN������2�2�
�F�
��B��E�)�)�)�F�F�F�F�Fr(r�c�D�eZdZdZdZdZgd�ZdZdZgd�Z	d�Z
d	�Zd
�ZdS)�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}tj|d|dz|d|dz|d|dzz|d|dz|d|dzzg��Sr�)�lmbdr�r)r3r4r#r�s    r&r!zCoupledDecay.f�sv���y���x�$�q�'��!�A�$���q�'��!�A�$���a���1���5��q�'��!�A�$���a���1���5�7�8�8�	8r(c�8����j}tj�j�jzdzdfd������fd�}|dd|d��|dd|d��|dd|d��|dd|d��|dd|d���S)Nr�r��F��orderc�,��|��j|z|z
|f<dSr)rI)�ri�ci�val�jr3s   ��r&�set_jzCoupledDecay.jac.<locals>.set_j�s#���*-�A�d�j�2�o��"�B�&�'�'�'r(rr�)r�r�rrJrI)r3r4r#r�r�r�s`    @r&r*zCoupledDecay.jac�s������y���H�d�j�4�:�-��1�1�5�S�A�A�A��	.�	.�	.�	.�	.�	.�
��a��T�!�W�H����
��a��D��G����
��a��T�!�W�H����
��a��D��G����
��a��T�!�W�H�����r(c
�$�tj|j��}|d|dz
}|d|dz
}|d|dz
}tj|d|z��}tj|d|z��}tj|d|z��}	tj|jd|z|jd|z|jd|dz|z||z
zz|jd|	z|jd|dz|z||	z
zz|d|dz|jdz|zd|z||	z
zd|z||	z
zz
zzf�����}
t|
||j|j	���S)Nr�rr�r�)
r�rr�r�vstackr0�	transposer
rLrM)r3r�r#r��d10�d21�d20�e0�e1�e2r�s           r&r1zCoupledDecay.verify�s����x��	�"�"���1�g��Q�����1�g��Q�����1�g��Q����
�V�T�!�W�H�q�L�
!�
!��
�V�T�!�W�H�q�L�
!�
!��
�V�T�!�W�H�q�L�
!�
!���I��G�A�J��O��G�A�J��O�d�g�a�j�4��7�2�S�8�B��G�D�D��G�A�J��O�d�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�D�I�>�>�>�>r(N)
r>r?r@r�r^r/r0rJrIr�r!r*r1rAr(r&r�r��sw��������

�E�
�F�	�	�	�B�
�E�
�E����D�8�8�8����2?�?�?�?�?r(r�c�(�|d|dg}|S�Nr�rrA)r#�x�dxdts   r&r!r!s��
�a�D�1�Q�4�%�=�D��Kr(c�0�tddgddgg��}|S)Nrru��r�)r#rr�s   r&r*r*s(��
��S�z��c�{��	�	�A��Hr(c�4�||dz||dzg}|SrrA�r#rr�r	s    r&�f1rs#���!�A�$�J���q��t��$�D��Kr(c�2�td|g|dgg��}|S�Nrr��r#rr�r�s    r&�jac1r!s*��
��U�|����}��	�	�A��Hr(c�4�||dz||dzg}|SrrA)r#r�omega1�omega2r	s     r&�f2r's#���1�Q�4�K�&���1���&�D��Kr(c�2�td|g|dgg��}|Srr�)r#rrrr�s     r&�jac2r,s*��
��V�}����~��	 �	 �A��Hr(c�L�|d|dz|d|dzg}|S)Nrr�rAr
s    r&�fvr2s+���!�H�Q�q�T�M�E�!�H�9�Q�q�T�>�*�D��Kr(c�J�td|dg|ddgg��}|S)Nrrr�r�rs    r&�jacvr7s3��
��U�1�X���q��	�3��!�	"�	"�A��Hr(c�D�eZdZdZdZdZd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZdS)�ODECheckParameterUsez=Call an ode-class solver with several cases of parameter use.�Fc��t||��}|jr$|�|jdd|j���n|�|jdd���|S)Ng��&�.>gH�����z>)rLrM�
with_jacobianr�)r�solver_uses_jacrP�solver_name)r3r!r*�solvers    r&�_get_solverz ODECheckParameterUse._get_solverFsu���Q�������	J��!�!�$�"2��D�04�0D�
"�
F�
F�
F�
F�
�!�!�$�"2��D�!�I�I�I��
r(c��ddg}|�|d��|�t��t|jddg��dS)Nrurr)rQrRrrr$�r3r$�ics   r&�
_check_solverz"ODECheckParameterUse._check_solverRsQ���3�Z��� � ��S�)�)�)��������!�&�(�T�3�K�8�8�8�8�8r(c�p�|�tt��}|�|��dSr)r%r!r*r))r3r$s  r&�test_no_paramsz#ODECheckParameterUse.test_no_paramsXs1���!�!�!�S�)�)�����6�"�"�"�"�"r(c���|�tt��}d}|�|��|jr|�|��|�|��dSrt)r%rr�set_f_paramsr"�set_jac_paramsr)�r3r$r�s   r&�test_one_scalar_paramz*ODECheckParameterUse.test_one_scalar_param\si���!�!�"�d�+�+�������E�"�"�"���	)��!�!�%�(�(�(����6�"�"�"�"�"r(c���|�tt��}d}d}|�||��|jr|�||��|�|��dSrt)r%rrr-r"r.r))r3r$rrs    r&�test_two_scalar_paramsz+ODECheckParameterUse.test_two_scalar_paramsdsr���!�!�"�d�+�+���������F�F�+�+�+���	2��!�!�&�&�1�1�1����6�"�"�"�"�"r(c���|�tt��}ddg}|�|��|jr|�|��|�|��dSrt)r%rrr-r"r.r)r/s   r&�test_vector_paramz&ODECheckParameterUse.test_vector_parammsm���!�!�"�d�+�+���c�
�����E�"�"�"���	)��!�!�%�(�(�(����6�"�"�"�"�"r(c���|�tt��}|�|jd���ddg}|�|d��t
t|jt��dS)Nr�)�nstepsrur)
r%r!r*rPr#rQr�UserWarningrRrr's   r&�test_warns_on_failurez*ODECheckParameterUse.test_warns_on_failureusm���!�!�!�S�)�)�����d�.�q��9�9�9��3�Z��� � ��S�)�)�)��[�&�"2�B�7�7�7�7�7r(N)
r>r?r@r�r#r"r%r)r+r0r2r4r8rAr(r&rr=s�������G�G�
�K��O�
�
�
�9�9�9�#�#�#�#�#�#�#�#�#�#�#�#�8�8�8�8�8r(rc��eZdZdZdZdS)�TestDOPRI5CheckParameterUserjFN�r>r?r@r#r"rAr(r&r:r:~��������K��O�O�Or(r:c��eZdZdZdZdS)�TestDOP853CheckParameterUserpFNr;rAr(r&r>r>�r<r(r>c��eZdZdZdZdS)�TestVODECheckParameterUser\TNr;rAr(r&r@r@�s�������K��O�O�Or(r@c��eZdZdZdZdS)�TestZVODECheckParameterUseraTNr;rAr(r&rBrB���������K��O�O�Or(rBc��eZdZdZdZdS)�TestLSODACheckParameterUserfTNr;rAr(r&rErE�rCr(rEc��d}dg}td�||d���\}}t|tj|gg����dS)Nr�rc��|SrrA)r$r#s  r&r'z*test_odeint_trivial_time.<locals>.<lambda>�s��1�"�r(Tr)rrr�r)r�r#r$�infos    r&�test_odeint_trivial_timerI�sP��
�B�	
��A��_�_�b�!��>�>�>�G�A�t��q�"�(�R�D�6�*�*�+�+�+�+�+r(c������d��d��d�}d���fd�}tgd�gd�gd�gd	�g��}tjd
��}tjgd���}t�|||fdd
dd���	�	\}}t�|||fdd
dd|d��
�
\}}t�|||fdd
dd�dd���\}	}
t�|||fdd
dd|ddd���\}}t	||d���t	||	dd���t	|	|d���t|d|d��t|
d|d��t�fd�|||fdd
dd�fd�d��
�
\}
}t	||
dd �!��dS)"Nc�,�|�|��Sr)r�r$r#�cs   r&�funcz)test_odeint_banded_jacobian.<locals>.func�s���u�u�Q�x�x�r(c��|SrrArLs   r&r*z(test_odeint_banded_jacobian.<locals>.jac�s���r(c�8�|j�d���S�N�Cr���Tr�rLs   r&�
jac_transposez2test_odeint_banded_jacobian.<locals>.jac_transpose�s���s�x�x�c�x�"�"�"r(c
�:�tjtjdtj|d��ftj|��tjtj|d��dftjtj|d��ddff��}|S)Nrr�r����)r��	row_stack�r_�diag)r$r#rMr*s    r&�	bjac_rowsz.test_odeint_banded_jacobian.<locals>.bjac_rows�sv���l�B�E�!�R�W�Q��]�]�"2�3��G�A�J�J��E�"�'�!�R�.�.�!�"3�4��E�"�'�!�R�.�.�!�Q�"6�7�9�:�:���
r(c�P���|||��j�d���SrQrS)r$r#rMr[s   �r&�	bjac_colsz.test_odeint_banded_jacobian.<locals>.bjac_cols�s+����y��A�q�!�!�#�(�(�s�(�3�3�3r()i3����{�G�z�?rr)rwg�g{�G�z�?r)g����MbP?r^g�r^)rrrwr�)rr�rK�dTg�vIh�%<=g�dy���=i')�argsrrLrM�mxstepr+)rarrLrMrbr+�	col_derivr�r�)rarrLrMrbr+�ml�mu)	rarrLrMrbr+rdrerczsol1 != sol2)�err_msg��-���q=zsol1 != sol3)rLrfzsol3 != sol4�njec����|||��SrrA)r#r$rMrNs   �r&r'z-test_odeint_banded_jacobian.<locals>.<lambda>�s���T�T�!�Q��]�]�r(c����|||��SrrA)r#r$rMr*s   �r&r'z-test_odeint_banded_jacobian.<locals>.<lambda>�s���#�#�a��A�,�,�r()rarrLrMrbr+r)zsol1 != sol1ty)rMrf)rr��onesrrr)rUr]rMr�r#�sol1�info1�sol2�info2�sol3�info3�sol4�info4�sol1ty�info1tyr[rNr*s               @@@r&�test_odeint_banded_jacobianrv�sc�����������#�#�#����4�4�4�4�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�5�5�K�D�%�
��r�1�A�4�T�#�%��'�A�!�t�E�E�E�K�D�%��D�$��7�7�7�7��D�$�U�N�C�C�C�C��D�$��7�7�7�7��u�U�|�U�5�\�2�2�2��u�U�|�U�5�\�2�2�2��:�:�:�:�B����)-�E��$)�">�">�">�">�t�M�M�M�O�F�G��D�&�u�6F�G�G�G�G�G�Gr(c�v�d�}d�}d�}d�}d�}d�}d�}ttt|dd	d
g��ttt|dd	d
g��ttt|dd	d
g|���ttt|dd	d
g|���ttt|ddgd	d
g|���dS)Nc��d|zS�N���rA�rr#s  r&�sys1dz!test_odeint_errors.<locals>.sys1d�����A�v�
r(c��ddzS�NrurrAr{s  r&�bad1z test_odeint_errors.<locals>.bad1�����1�u�r(c��dS�N�foorAr{s  r&�bad2z test_odeint_errors.<locals>.bad2�s���ur(c��ddzSrrAr{s  r&�bad_jac1z$test_odeint_errors.<locals>.bad_jac1�r�r(c�
�dggSr�rAr{s  r&�bad_jac2z$test_odeint_errors.<locals>.bad_jac2�s����y�r(c�.�d|dzd|dzgS)Nrzr皙������r�rAr{s  r&�sys2dz!test_odeint_errors.<locals>.sys2d�s���Q�q�T�	�4��!��9�%�%r(c��ddzdgddggS)Nrurr�rAr{s  r&�
sys2d_bad_jacz)test_odeint_errors.<locals>.sys2d_bad_jac�s���Q���
�Q��I�&�&r(rurr��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�8�8��#�V�U�C�!�Q��h�O�O�O�O��*�f�e�S�1�a�&�x�H�H�H�H��#�V�U�S�#�J��A��$�&�&�&�&�&�&r(c�6�d�}d�}d�}ddgddgg}ttt||ddg��ddgddgg}ttt|dg|��ttt|d	ddg��ttt|d	d	gddg|�
��dS)Nc�
�ddgS)Nr�r�rAr{s  r&�badrhsz&test_odeint_bad_shapes.<locals>.badrhss���2�w�r(c��d|zSryrAr{s  r&�sys1z$test_odeint_bad_shapes.<locals>.sys1r}r(c��gd�gS)N)rrrrAr{s  r&�badjacz&test_odeint_bad_shapes.<locals>.badjacs���	�	�{�r(rr�r�r�r�rKr�)rxr�rry)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�L�L�L�L�L�Lr(c���d�}tjd��}t|dg|��}t|tjt|��df����dtjd��z}dgdz|d|zd|zd	|zgz}t|ddg|d
d
���}tjddggdzd
dgdd
gdd
gddggz��}t||��t|dgg��}t|tjgtj	����
d����ttt|dggd���ttt|gd�gd���dS)zRegression test for gh-8217.c��d|zS)NgпrAr{s  r&rNz$test_repeated_t_values.<locals>.func's���Q�w�r(rKrur�r_r�r�	r�rg)rMrLr�r�g�?g�?)�dtyper�)rr�r�r)r�r�r�)rr�rWr�N)
r�rrrrk�len�logrr�float64�reshaperxr�)rNr#rz�tau�expected_sols     r&�test_repeated_t_valuesr�$s������	�����A�
���t�Q�
�
�C��s�B�G�S��V�V�Q�K�0�0�1�1�1�
�B�F�1�I�I�+�C�	
��A���a��e�Q�s�U�A�c�E�*�*�A�
���1�v�q�u�5�
9�
9�
9�C��8�c�3�Z�L��N�!�3�Z�"�C�[�"�C�[�#�T�]�,�,�-�-�L�
�C��&�&�&����t�R�
 �
 �C��s�B�H�R�r�z�:�:�:�B�B�6�J�J�K�K�K��*�f�d�R�D�.�.�.�A�A�A��*�f�d�I�I�I�~�~�~�F�F�F�F�Fr();r��numpyr�rrrrrrr	r
rrr
�
numpy.testingrrrrrr�pytestrrx�scipy.integraterrrrrCrYr�r�r�r�r�r�r�r�r9r!r*rrrrrrrr:r>r@rBrErIrvr�r�r�rAr(r&�<module>r�s����������������������������������E�E�E�E�E�E�E�E�E�E�E�E�E�E�E�E�+�*�*�*�*�*�4�4�4�4�4�4�4�4�4�4� &� &� &� &� &� &� &� &�FO�O�O�O�O�O�O�O�Be+�e+�e+�e+�e+�l�e+�e+�e+�P%0�%0�%0�%0�%0�\�%0�%0�%0�PW4�W4�W4�W4�W4�W4�W4�W4�t;4�;4�;4�;4�;4�;4�;4�;4�F
�
�
�
�
�
�
�
� E�E�E�E�E�s�E�E�E�2?�?�?�?�?��?�?�?�"F�F�F�F�F��F�F�F�<?�<?�<?�<?�<?�3�<?�<?�<?�~
�j�"�l�;��
���

�
�
����

�
�
����

�
�
����

�
�
�>8�>8�>8�>8�>8�>8�>8�>8�B�����"6����
�����"6����
����� 4����
�����!5����
�����!5����
,�,�,�FH�FH�FH�R&�&�&�@M�M�M�6G�G�G�G�Gr(

Youez - 2016 - github.com/yon3zu
LinuXploit