403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.37
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 :  /lib/python3/dist-packages/scipy/optimize/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/scipy/optimize/tests/__pycache__/test_minpack.cpython-311.pyc
�

d�c�����dZddlZddlZddlmZmZmZmZmZm	Z	m
Z
ddlmZddl
Zddl
mZmZddlmZddlmZmZddlmZdd	lmZmZmZdd
lmZddlmZGd�d
��Z d�Z!d�Z"d�Z#d�Z$d�Z%Gd�d��Z&Gd�d��Z'Gd�d��Z(Gd�d��Z)Gd�d��Z*Gd�d��Z+dS)z7
Unit tests for optimization routines from minpack.py.
�N)�assert_�assert_almost_equal�assert_array_equal�assert_array_almost_equal�assert_allclose�assert_warns�suppress_warnings)�raises)�array�float64)�
ThreadPool)�optimize�linalg)�lambertw)�leastsq�	curve_fit�fixed_point)�OptimizeWarning)�Boundsc��eZdZdZd�Zd�ZdS)�ReturnShapez�This class exists to create a callable that does not have a '__name__' attribute.

    __init__ takes the argument 'shape', which should be a tuple of ints. When an instance
    is called with a single argument 'x', it returns numpy.ones(shape).
    c��||_dS�N)�shape)�selfrs  �C/usr/lib/python3/dist-packages/scipy/optimize/tests/test_minpack.py�__init__zReturnShape.__init__s
����
�
�
�c�4�tj|j��Sr)�np�onesr)r�xs  r�__call__zReturnShape.__call__ s���w�t�z�"�"�"rN)�__name__�
__module__�__qualname__�__doc__rr#�rrrrs<�����������#�#�#�#�#rrc�*�tj|��S)zUA function that returns an array of ones of the given shape.
    `x` is ignored.
    )r r!)r"rs  r�
dummy_funcr*$s���7�5�>�>�rc��tt|����5}|�d�|��cddd��S#1swxYwYdS)Nc��|��Srr()�fs r�<lambda>z#sequence_parallel.<locals>.<lambda>-s��!�!�#�#�r)r
�len�map)�fs�pools  r�sequence_parallelr3+s���	�C��G�G�	�	�+���x�x�
�
�r�*�*�+�+�+�+�+�+�+�+�+�+�+�+����+�+�+�+�+�+s�A�A�Ac��||dzz}tj|dd�|dz
|���|z
f��}|S)a�Evaluate non-linear equation system representing
    the pressures and flows in a system of n parallel pipes::

        f_i = P_i - P_0, for i = 1..n
        f_0 = sum(Q_i) - Qtot

    where Q_i is the flow rate in pipe i and P_i the pressure in that pipe.
    Pressure is modeled as a P=kQ**2 where k is a valve coefficient and
    Q is the flow rate.

    Parameters
    ----------
    flow_rates : float
        A 1-D array of n flow rates [kg/s].
    k : float
        A 1-D array of n valve coefficients [1/kg m].
    Qtot : float
        A scalar, the total input flow rate [kg/s].

    Returns
    -------
    F : float
        A 1-D array, F[i] == f_i.

    ��Nr)r �hstack�sum)�
flow_rates�Qtot�k�P�Fs     r�pressure_networkr>4sJ��4	
�J��M��A�
�	�1�Q�R�R�5�1�Q�4�<����!1�!1�D�!8�9�:�:�A��Hrc�P�t|��}tj|dd�dz|dd�zd|dz|dzz
��}tj||f��}|dz|d|dz
�d|dz
�f<d|d|dz
�|dz
f<tj|��||dz
dd�f<|S)a�Return the jacobian of the equation system F(flow_rates)
    computed by `pressure_network` with respect to
    *flow_rates*. See `pressure_network` for the detailed
    description of parrameters.

    Returns
    -------
    jac : float
        *n* by *n* matrix ``df_i/dQ_i`` where ``n = len(flow_rates)``
        and *f_i* and *Q_i* are described in the doc for `pressure_network`
    r6Nr5r)r/r �diag�emptyr!)r9r:r;�n�pdiff�jacs      r�pressure_network_jacobianrESs���	�J���A��G�J�q�r�r�N�Q�&��1�2�2��.��Z��]�1B�Q�q�T�1I�I�J�J�E�
�(�A�q�6�
�
�C��a�i�C���1���d�q��s�d�
�O��C���1���a��c�	�N��'�!�*�*�C��!��Q�Q�Q��K��Jrc�F�t|||��t|||��fSr)r>rE)r9r:r;s   r�pressure_network_fun_and_gradrGjs*���Z��q�1�1�%�j�$��:�:�<�<rc�\�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�ZdS)�
TestFSolvec�
�tjdd��}d}tgd���}tjt
|||fd���\}}}}t
|tjd����t|dk|��dS)N���?��@�rNrOT��args�full_outputr6)	r �fullrr�fsolver>rr!r)rr;r:�
initial_guess�final_flows�info�ier�mesgs        r�!test_pressure_network_no_gradientz,TestFSolve.test_pressure_network_no_gradientps����G�A�s�O�O�����.�.�.�/�/�
�'/���m�4��)��(�(�(�$��T�3��	"�+�r�w�q�z�z�:�:�:���q��$�����rc���tjdd��}d}tgd���}tjt
|||ft���}t|tjd����dS)NrKrLrM�rQ�fprime)	r rSrrrTr>rErr!�rr;r:rUrVs     r�#test_pressure_network_with_gradientz.TestFSolve.test_pressure_network_with_gradient{sn���G�A�s�O�O�����.�.�.�/�/�
��o��m�4��)�,�.�.�.��	"�+�r�w�q�z�z�:�:�:�:�:rc�n�td��}ddg}tttj||��dS�Nr6��?rN�r�
assert_raises�	TypeErrorrrT�r�func�x0s   r�test_wrong_shape_func_callablez)TestFSolve.test_wrong_shape_func_callable�s4���1�~�~���3�Z���i���$��;�;�;�;�;rc�^�ddg}tttjt|d���dS�NrbrN)�r6�rQ)rdrerrTr*�rrhs  r�test_wrong_shape_func_functionz)TestFSolve.test_wrong_shape_func_function�s.���3�Z���i���*�b�w�O�O�O�O�O�Orc��td��}td��}tttj|ddg|���dS)Nr6�r5r5r�rhr]rc�rrg�
deriv_funcs   r� test_wrong_shape_fprime_callablez+TestFSolve.test_wrong_shape_fprime_callable�s?���1�~�~�� ��'�'�
��i���$�A�a�5��T�T�T�T�T�Trc�\�d�}d�}tttj|ddg|���dS)Nc�"�t|d��S�N)r5�r*�r"s rr.z=TestFSolve.test_wrong_shape_fprime_function.<locals>.<lambda>�����A�t�,�,�rc�"�t|d��S�N)�r~ryrzs rr.z=TestFSolve.test_wrong_shape_fprime_function.<locals>.<lambda>����z�!�U�3�3�rrr6rr)rdrerrTrss   r� test_wrong_shape_fprime_functionz+TestFSolve.test_wrong_shape_fprime_function�s7��,�,��3�3�
��i���$�A�a�5��T�T�T�T�T�Trc��d�}ttd���5tj|dg���ddd��dS#1swxYwYdS)Nc� �td����N�I raised��
ValueErrorrms rrgz,TestFSolve.test_func_can_raise.<locals>.func�����Z�(�(�(rr���matchr�rh�rdr�rrT�rrgs  r�test_func_can_raisezTestFSolve.test_func_can_raise�s���	)�	)�	)��:�Z�
8�
8�
8�	*�	*��O�D�a�S�)�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*��?�A�Ac��d�}d�}ttd���5tj|dg|���ddd��dS#1swxYwYdS)Nc�2�|tjdg��z
S�N�
�r rrzs rr.z0TestFSolve.test_Dfun_can_raise.<locals>.<lambda>�����R�X�r�d�^�^�+�rc� �td���r�r�rms rrtz2TestFSolve.test_Dfun_can_raise.<locals>.deriv_func�r�rr�r�rrrr�rss   r�test_Dfun_can_raisezTestFSolve.test_Dfun_can_raise�s���+�+��	)�	)�	)��:�Z�
8�
8�
8�	=�	=��O�D�a�S��<�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�	=�	=��A�A�
Ac��d�}tj|tjddgtj����}t||��ddgd���dS)Nc�p�tj|ddz
|ddz
gtj���dzS)Nr�dr6i���dtyper5)r r�float32rzs rr.z)TestFSolve.test_float32.<locals>.<lambda>�s2����1�Q�4�#�:�q��t�d�{�";�2�:�N�N�N�PQ�Q�rr6r���MbP?��atol)rrTr rr�r)rrg�ps   r�test_float32zTestFSolve.test_float32�sT��Q�Q���O�D�"�(�A�q�6�2�:�">�">�?�?�����Q���!�Q��d�3�3�3�3�3�3rc����fd�}tjdd��}d}tgd���}tj||||fd���\}}}}t|tjd����t|dk|��dS)Nc�>������t|�Sr)rZr>�rQrs �rrgz,TestFSolve.test_reentrant_func.<locals>.func�s ����2�2�4�4�4�#�T�*�*rrKrLrMTrPr6)r rSrrrTrr!r)	rrgr;r:rUrVrWrXrYs	`        r�test_reentrant_funczTestFSolve.test_reentrant_func�s����	+�	+�	+�	+�	+�

�G�A�s�O�O�����.�.�.�/�/�
�'/���-�t�Q�i��(�(�(�$��T�3��	"�+�r�w�q�z�z�:�:�:���q��$�����rc�����fd�}tjdd��}d}tgd���}tjt
|||f|���}t
|tjd����dS)Nc�>������t|�Sr)r_rEr�s �rrtz3TestFSolve.test_reentrant_Dfunc.<locals>.deriv_func�s ����4�4�6�6�6�,�d�3�3rrKrLrMr\)r rSrrrTr>rr!)rrtr;r:rUrVs`     r�test_reentrant_DfunczTestFSolve.test_reentrant_Dfunc�s����	4�	4�	4�	4�	4�

�G�A�s�O�O�����.�.�.�/�/�
��o��m�4��)������	"�+�r�w�q�z�z�:�:�:�:�:rc�l�t|jgdz��}td�|D����sJ�dS)Nr�c��g|]}|du��Srr(��.0�results  r�
<listcomp>z:TestFSolve.test_concurrent_no_gradient.<locals>.<listcomp>����3�3�3�v�F�d�N�3�3�3r)r3rZ�all�r�vs  r�test_concurrent_no_gradientz&TestFSolve.test_concurrent_no_gradient�sC���t�E�F��K�L�L���3�3��3�3�3�4�4�4�4�4�4�4rc�l�t|jgdz��}td�|D����sJ�dS)Nr�c��g|]}|du��Srr(r�s  rr�z<TestFSolve.test_concurrent_with_gradient.<locals>.<listcomp>�r�r)r3r_r�r�s  r�test_concurrent_with_gradientz(TestFSolve.test_concurrent_with_gradient�sC���t�G�H�2�M�N�N���3�3��3�3�3�4�4�4�4�4�4�4rN)r$r%r&rZr_rirorur�r�r�r�r�r�r�r�r(rrrIrIos�������	 �	 �	 �;�;�;�<�<�<�P�P�P�U�U�U�
U�U�U�
*�*�*�=�=�=�4�4�4�

 �
 �
 �;�;�;�5�5�5�5�5�5�5�5rrIc� �eZdZd�Zd�Zd�ZdS)�TestRootHybrc���tjdd��}d}tgd���}tjt
|d||f���j}t|tjd����dS)NrKrLrM�hybr��methodrQ�	r rSrr�rootr>r"rr!r^s     rrZz.TestRootHybr.test_pressure_network_no_gradient�su���G�A�s�O�O�����.�.�.�/�/�
��m�$4�m�+1��q�	�C�C�C�CD�	�!�+�r�w�q�z�z�:�:�:�:�:rc���tjdd��}d}tgd�g��}tjt
|||fdt���j}t|tj	d����dS)NrKrLrMr��rQr�rD)
r rSrrr�r>rEr"rr!r^s     rr_z0TestRootHybr.test_pressure_network_with_gradient�s}���G�A�s�O�O�����/�/�/�0�1�1�
��m�$4�m�*.���6�(A�C�C�C�CD�	�	"�+�r�w�q�z�z�:�:�:�:�:rc���tjdd��}d}tgd���}tjt
|||fdd���j}t|tjd����dS)NrKrLrMr�Tr�)	r rSrrr�rGr"rr!r^s     r�,test_pressure_network_with_gradient_combinedz9TestRootHybr.test_pressure_network_with_gradient_combined�sy��
�G�A�s�O�O�����.�.�.�/�/�
��m�$A�$1��q�	�+1�t�=�=�=�=>�	�	"�+�r�w�q�z�z�:�:�:�:�:rN)r$r%r&rZr_r�r(rrr�r��sA������;�;�;�;�;�;�	;�	;�	;�	;�	;rr�c��eZdZd�ZdS)�
TestRootLMc���tjdd��}d}tgd���}tjt
|d||f���j}t|tjd����dS)NrKrLrM�lmr�r�r^s     rrZz,TestRootLM.test_pressure_network_no_gradient�su���G�A�s�O�O�����.�.�.�/�/�
��m�$4�m�+/�t�Q�i�A�A�A�AB�	�!�+�r�w�q�z�z�:�:�:�:�:rN)r$r%r&rZr(rrr�r��s#������;�;�;�;�;rr�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestLeastSqc��tjddd��}d\}}}||_|||f|_||dzz||zz|z}tj�d��|dtj�|j��zz|_dS)Nrr��()g������@�*g33333s�r5g{�G�z�?)	r �linspacer"�abc�random�seed�standard_normalr�y_meas)rr"�a�b�c�y_trues      r�setup_methodzTestLeastSq.setup_methods����K��2�r�"�"�����!�A�����Q�q�5����1�a�4��!�A�#���!��
�	���q�����t�B�I�$=�$=�f�l�$K�$K�K�K����rc�:�|\}}}|||dzz||zz|zz
}|S�Nr5r()rr��yr"r�r�r��errs        r�	residualszTestLeastSq.residualss1�����!�A���1�a�4��!�A�#���!�"���
rc�f�tj|dz|tj|��g��jSr�)r �vstack�	ones_like�T)r�_p�_yr"s    r�residuals_jacobianzTestLeastSq.residuals_jacobians+���	�1�a�4��B�L��O�O�4�5�5�7�7�7rc���tgd���}t|j||j|jf���\}}t|dvd|z��t
||jd���dS)N�rrrrm�r6r5r~rK�solution not found (ier=%d)r5��decimal�rrr�r�r"rrr��r�p0�
params_fitrXs    r�
test_basiczTestLeastSq.test_basicss��
�7�7�7�^�^��!�$�.�"�(,��T�V�'<�>�>�>��
�C���y� �"?�#�"E�F�F�F�!�*�d�h��B�B�B�B�B�Brc���tgd���}t|j||j|jf|j���\}}t
|dvd|z��t||jd���dS)Nr��rQ�Dfunr�r�r5r�)	rrr�r�r"r�rrr�r�s    r�test_basic_with_gradientz$TestLeastSq.test_basic_with_gradients~��
�7�7�7�^�^��!�$�.�"�(,��T�V�'<�'+�'>�@�@�@��
�C�	��y� �"?�#�"E�F�F�F�!�*�d�h��B�B�B�B�B�Brc��tgd�g��}t|j||j|jfd���}|\}}}}}t|dvd|z��dS)Nr�TrPr��solution not found: %s)rrr�r�r"r)rr�rRr��cov_x�infodictrYrXs        r�test_full_outputzTestLeastSq.test_full_output%sq��
�G�G�G�9�
�
���d�n�b�$(�K���#8�*.�0�0�0��2=�.�
�E�8�T�3���y� �":�T�"A�B�B�B�B�Brc��tgd�t���}t|d���}t|j||j|jfd���}|\}}}}}t
|dvd|z��t||��dS)Nr�r�T)�copyrPr�r�)rrrr�r�r"rr)	rr��p0_copyrRr�r�r�rYrXs	         r�test_input_untouchedz TestLeastSq.test_input_untouched-s���
�7�7�7��
)�
)�
)�����&�&�&���d�n�b�$(�K���#8�*.�0�0�0��2=�.�
�E�8�T�3���y� �":�T�"A�B�B�B��2�w�'�'�'�'�'rc�n�td��}ddg}tttj||��dSra�rrdrerrrfs   rriz*TestLeastSq.test_wrong_shape_func_callable7s5���1�~�~���3�Z���i��!1�4��<�<�<�<�<rc�^�ddg}tttjt|d���dSrk)rdrerrr*rns  rroz*TestLeastSq.test_wrong_shape_func_function>s/���3�Z���i��!1�:�r��P�P�P�P�P�Prc��td��}td��}tttj|ddg|���dS)Nr6rqr�rhr�r�rss   r�test_wrong_shape_Dfun_callablez*TestLeastSq.test_wrong_shape_Dfun_callableDs@���1�~�~�� ��'�'�
��i��!1�4�Q�q�E�
�S�S�S�S�S�Src�\�d�}d�}tttj|ddg|���dS)Nc�"�t|d��Srxryrzs rr.z<TestLeastSq.test_wrong_shape_Dfun_function.<locals>.<lambda>Jr{rc�"�t|d��Sr}ryrzs rr.z<TestLeastSq.test_wrong_shape_Dfun_function.<locals>.<lambda>Krrrr6r�rdrerrrss   r�test_wrong_shape_Dfun_functionz*TestLeastSq.test_wrong_shape_Dfun_functionIs8��,�,��3�3�
��i��!1�4�Q�q�E�
�S�S�S�S�S�Src	���d�}tjgd�tj���}tjgd�tj���}tjgd���}tj||||f���\}}t|dv��t||||��dz���d	||||��dz���zk��dS)
Nc��|dtj||dz
dzd|ddzzz��z|dz}||z
S)Nrr6r5rNr~�r �exp)r�r"r��qs    rrgz&TestLeastSq.test_float32.<locals>.funcPsK���!��R�V�a��!��f�q�[�L�#�a��d�A�g�+�6�7�7�7��!��<�A��q�5�Lr)
g�������?gw��/�?g%��C��?gNbX9��?gH�z�G�?g���M�?gZd;�O��?g��S�?g�~j�t��?gV-��?r�)
g�J�4�?g�N@aÓ?g^K�=��?gM�
O��?g������?g?W[���?g�l��?g�{�Pk�?g�� �rh�?g��ׁsF�?)��?rrrrmr�r5g-C��6?)r rr�rrrr8)rrgr"r�r��p1�successs       rr�zTestLeastSq.test_float32Ns��	�	�	�
�H����%'�Z�
1�
1�
1���H�$�$�$�+-�:�
7�
7�
7��
�X�'�'�'�
(�
(���&�t�R�q��e�<�<�<���G���9�$�%�%�%����b��1���q��%�%�'�'�$�$�$�r�!�A�,�,��/�1F�1F�1H�1H�*H�H�I�I�I�I�Irc��d�}ttd���5tj|dg���ddd��dS#1swxYwYdS)Nc� �td���r�r�rms rrgz-TestLeastSq.test_func_can_raise.<locals>.func_r�rr�r�rr��rdr�rrr�s  rr�zTestLeastSq.test_func_can_raise^s���	)�	)�	)��:�Z�
8�
8�
8�	+�	+���T�q�c�*�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+r�c��d�}d�}ttd���5tj|dg|���ddd��dS#1swxYwYdS)Nc�2�|tjdg��z
Sr�r�rzs rr.z1TestLeastSq.test_Dfun_can_raise.<locals>.<lambda>fr�rc� �td���r�r�rms rrtz3TestLeastSq.test_Dfun_can_raise.<locals>.deriv_funchr�rr�r�rrrrss   rr�zTestLeastSq.test_Dfun_can_raisees���+�+��	)�	)�	)��:�Z�
8�
8�
8�	<�	<���T�q�c�
�;�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�	<�	<r�c�����fd�}tgd���}t||�j�jf���\}}t	|dvd|z��t|�jd���dS)Nc�@�������j|�Sr)r�r�r�s �rrgz-TestLeastSq.test_reentrant_func.<locals>.funcos"����O�O����!�4�>�4�(�(rr�rmr�r�r5r�)rrr�r"rrr�)rrgr�r�rXs`    rr�zTestLeastSq.test_reentrant_funcns����	)�	)�	)�	)�	)��7�7�7�^�^��!�$��(,��T�V�'<�>�>�>��
�C���y� �"?�#�"E�F�F�F�!�*�d�h��B�B�B�B�B�Brc�����fd�}tgd���}t�j|�j�jf|���\}}t|dvd|z��t
|�jd���dS)Nc�@�������j|�Sr)r�r�r�s �rrtz3TestLeastSq.test_reentrant_Dfun.<locals>.deriv_func{s#����O�O����*�4�*�D�1�1rr�r�r�r�r5r�r�)rrtr�r�rXs`    r�test_reentrant_DfunzTestLeastSq.test_reentrant_Dfunzs����	2�	2�	2�	2�	2��7�7�7�^�^��!�$�.�"�(,��T�V�'<�'1�3�3�3��
�C�	��y� �"?�#�"E�F�F�F�!�*�d�h��B�B�B�B�B�Brc�l�t|jgdz��}td�|D����sJ�dS)Nr�c��g|]}|du��Srr(r�s  rr�z;TestLeastSq.test_concurrent_no_gradient.<locals>.<listcomp>�r�r)r3r�r�r�s  rr�z'TestLeastSq.test_concurrent_no_gradient�sB���t��/�"�4�5�5���3�3��3�3�3�4�4�4�4�4�4�4rc�l�t|jgdz��}td�|D����sJ�dS)Nr�c��g|]}|du��Srr(r�s  rr�z=TestLeastSq.test_concurrent_with_gradient.<locals>.<listcomp>�r�r)r3r�r�r�s  rr�z)TestLeastSq.test_concurrent_with_gradient�sC���t�<�=��B�C�C���3�3��3�3�3�4�4�4�4�4�4�4rc��d�}ttd���5tj|ddg���ddd��dS#1swxYwYdS)Nc�*�d|ddz
dzzdzS)Nr5rr~r6r(rzs rrgz=TestLeastSq.test_func_input_output_length_check.<locals>.func�s����!��q��Q��&��*�*rz+Improper input: func input vector length N=r�rr6r�rr�s  r�#test_func_input_output_length_checkz/TestLeastSq.test_func_input_output_length_check�s���	+�	+�	+��9�!N�P�P�P�	.�	.���T�q�!�f�-�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s�A�A�AN)r$r%r&r�r�r�r�r�r�r�rirorrr�r�r�r�rr�r�r r(rrr�r�sO������L�L�L����
8�8�8�C�C�C�C�C�C�C�C�C�(�(�(�=�=�=�Q�Q�Q�T�T�T�
T�T�T�
J�J�J� +�+�+�<�<�<�
C�
C�
C�C�C�C�5�5�5�5�5�5�.�.�.�.�.rr�c���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zej�d��d���Zd�Z dS)�TestCurveFitc�^�tgd���|_tgd���|_dS)N)rg������	@�#@gffffff+@)rrN�@g@)rr�r"�rs rr�zTestCurveFit.setup_method�s2���,�,�,�-�-����+�+�+�,�,����rc��d�}t||j|j��\}}tt	|��dk��t|jdk��t
|ddd���t
|dd	d���t||j|jdd
���}|\}}}}}	t||��dS)Nc��||zSrr(�r"r�s  rrgz,TestCurveFit.test_one_argument.<locals>.func�����a�4�Krr6)r6r6rg3ı.n��?rKr�)rrg-C��6Z?F)rR�check_finite)rr"r�rr/rrr)
rrg�popt�pcov�res�popt2�pcov2r��errmsgrXs
          r�test_one_argumentzTestCurveFit.test_one_argument�s���	�	�	��t�T�V�T�V�4�4�
��d���D�	�	�Q�������
�e�#�$�$�$��D��G�V�Q�7�7�7�7��D��I�v�q�9�9�9�9���d�f�d�f�$%�E�;�;�;��03�-���x���!�$��.�.�.�.�.rc��d�}t||j|j��\}}tt	|��dk��t|jdk��t
|ddgd���t
|dd	gd	d
ggd���dS)Nc��|||zzSrr(�r"r�r�s   rrgz,TestCurveFit.test_two_argument.<locals>.func�s���Q��T�6�Mrr5rq��c�]K�?�
�-���?rKr��䃞ͪϵ?�T㥛� ���b�=y�?)rr"r�rr/rr)rrgr,r-s    r�test_two_argumentzTestCurveFit.test_two_argument�s���	�	�	��t�T�V�T�V�4�4�
��d���D�	�	�Q�������
�e�#�$�$�$�!�$���(8�!�D�D�D�D�!�$�&�'�):�W�f�<M�(N�*+�	-�	-�	-�	-�	-�	-rc��Gd�d��}|��}t|j|j|j��\}}t	|jdk��t
|ddgd���t
|dd	gd	d
ggd���dS)Nc��eZdZdZd�ZdS)�8TestCurveFit.test_func_is_classmethod.<locals>.test_selfz�This class tests if curve_fit passes the correct number of
               arguments when the model function is a class instance method.
            c��|||zzSrr()rr"r�r�s    rrgz=TestCurveFit.test_func_is_classmethod.<locals>.test_self.func�s���1�a�4�x�rN)r$r%r&r'rgr(rr�	test_selfr>�s-������
�
�
 �
 �
 �
 �
 rr@rqr6r7rKr�r8r9r:)rrgr"r�rrr)rr@�test_self_instr,r-s     r�test_func_is_classmethodz%TestCurveFit.test_func_is_classmethod�s���	 �	 �	 �	 �	 �	 �	 �	 �#������~�2�D�F�D�F�C�C�
��d���
�e�#�$�$�$�!�$���(8�!�D�D�D�D�!�$�&�'�):�W�f�<M�(N�*+�	-�	-�	-�	-�	-�	-rc�~�gd�}gd�}gd�}gd�}d�}t||||d���\}}t||d�	��dS)
N)
gB`��"�@g�Zd;�@g���Q�@g#�~j�@g/�$��@g;�O���@g��� ��@g�����@gZd;��@g)\���@)
�؊@g(�@g��@gX�@gt�@g��@g�@g8�@g��@gH�@)g�^w8}�@gU]�}��@�X�@rEg2�9�l?rD)g䃞�j�@g��j��@g���T{7�@g|'f��ɘ@g�ƞ�?g��'�ˊ@c��|tj||z
dzd|dzzz��z|tj||z
dzd|dzzz��zz|zS)Nr5rNr	)r"rh�x1�A0�A1�sigmar�s       r�f_double_gaussz9TestCurveFit.test_regression_2639.<locals>.f_double_gauss�sf���r�v��"��q�y�j�"�U�A�X�+�6�7�7�7����!�B�$���
�B�u�a�x�K� 8�9�9�9�:�<=�>�
?ri'��maxfevg�h㈵��>��rtol)rr)rr"r��guess�goodrKr,r-s        r�test_regression_2639z!TestCurveFit.test_regression_2639�s���
�
�
��
#�
#�
#��/�/�/��/�/�/��	?�	?�	?��~�q�!�U�5�I�I�I�
��d���d��.�.�.�.�.�.rc
�d�tjgd���}tjgd���}tjgd���}d�}dD�][}t|||ddg||���\}}tjtj|����}t|d	d
gd���t|||ddgd
|z|���\}}tjtj|����}t|d	d
gd���t|||ddg|d|���\}}tjtj|����}	t|	ddgd���t|||ddgd
|zd|���\}}tjtj|����}	t|	ddgd�����]d�}
tjtjgdz���dd��}t��5}|�	td��t|
||ddg|���\}}t||dd�|dd�ddg���\}
}ddd��n#1swxYwYt|jdk��t||��t|jdk��t||��dS)N)rr6r5r~rK�)r6r6rT���)r6r5r6r5r6r5c��||z|zSrr(r5s   rr-z!TestCurveFit.test_pcov.<locals>.f�����Q�3��7�Nr�r��trf�dogboxr5r)r�rJr�g�N"��q�?g�~uM/N�?r�rNr~T)r�rJ�absolute_sigmar�g��O=N��?g5=�`�6�?g���[u|�?g�-�/i@c��||zSrr(r5s   r�f_flatz&TestCurveFit.test_pcov.<locals>.f_flat�s���Q�3�JrrKz3Covariance of the parameters could not be estimated)r�rJ�r�rq)r rr�sqrtr@r�inf�reshaper	�filterrrrr)r�xdata�ydatarJr-r�r,r-�perr_scaled�perrr_�
pcov_expected�sup�popt1�pcov1s               r�	test_pcovzTestCurveFit.test_pcov�sG����+�+�+�,�,����,�,�,�-�-����+�+�+�,�,��	�	�	�.�	K�	K�F�"�1�e�U��1�v�U�*0�2�2�2�J�D�$��'�"�'�$�-�-�0�0�K��K�*�j�)A��M�M�M�M�"�1�e�U��1�v�Q�u�W�*0�2�2�2�J�D�$��'�"�'�$�-�-�0�0�K��K�*�j�)A��M�M�M�M�"�1�e�U��1�v�U�26�v�G�G�G�J�D�$��7�2�7�4�=�=�)�)�D��D�:�z�":��F�F�F�F�"�1�e�U��1�v�Q�u�W�26�v�G�G�G�J�D�$��7�2�7�4�=�=�)�)�D��D�<��">�T�J�J�J�J�J�	�	�	���"�&��!��,�,�4�4�Q��:�:�
�
�
 �
 �	I�C��J�J��L�
N�
N�
N�"�6�5�%�Q��F�%�P�P�P�J�D�$�$�Q��b�q�b�	�5��!��9�!�Q��H�H�H�L�E�5�		I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I����	I�	I�	I�	I�	��
�f�$�%�%�%��4��/�/�/����v�%�&�&�&��5�-�0�0�0�0�0s�,AI�I�Ic�n�d�}gd�}gd�}tt|||��dddgd���dS)	Nc��||z|zSrr(r5s   r�f_linearz.TestCurveFit.test_array_like.<locals>.f_linear
rYrr�)r~rTrU�	rr5r6g�����|�=r�)rr)rrpr"r�s    r�test_array_likezTestCurveFit.test_array_likesU��	�	�	�
�L�L���L�L���	�(�A�q�1�1�!�4�q�!�f�5�I�I�I�I�I�Irc��tjgd���}tjgd���}tttd�||��dS)N)r6r5r~rKrT�)r6r5r~rKg@rtc��||zSrr(r5s   rr.z<TestCurveFit.test_indeterminate_covariance.<locals>.<lambda>s
��Q�q�S�r)r rrrr�rrerfs   r�test_indeterminate_covariancez*TestCurveFit.test_indeterminate_covariancesX����+�+�+�,�,����-�-�-�.�.���_�i�(�(�%��	8�	8�	8�	8�	8rc�(�tjdtjdg��}tjgd���}ttt
d�||��ttt
d�||��ttt
d�||fiddi��dS)	Nr6r~)r6r5r~c��||z|zSrr(r5s   rr.z0TestCurveFit.test_NaN_handling.<locals>.<lambda>#���a��c�A�g�rc��||z|zSrr(r5s   rr.z0TestCurveFit.test_NaN_handling.<locals>.<lambda>%rzrc��||z|zSrr(r5s   rr.z0TestCurveFit.test_NaN_handling.<locals>.<lambda>'s��Q�q�S�1�W�rr+T)r r�nanrdr�rrvs   r�test_NaN_handlingzTestCurveFit.test_NaN_handlings�����!�R�V�Q��(�(�������#�#���j�)�-�-�u�e�	=�	=�	=��j�)�-�-�u�e�	=�	=�	=�	�j�)�-D�-D��U�	>�	>�'5�t�&<�	>�	>�	>�	>�	>rc��tttd�gg��tttd�ggd���tttd�dgg��tttd�dggd���dS)	Nc��||zSrr(r)s  rr.z0TestCurveFit.test_empty_inputs.<locals>.<lambda>,�
��!�A�#�rc��||zSrr(r)s  rr.z0TestCurveFit.test_empty_inputs.<locals>.<lambda>-r�r)r6r5)�boundsc��||zSrr(r)s  rr.z0TestCurveFit.test_empty_inputs.<locals>.<lambda>/r�rr6c��||zSrr(r)s  rr.z0TestCurveFit.test_empty_inputs.<locals>.<lambda>0r�rr5�rdr�rr&s r�test_empty_inputszTestCurveFit.test_empty_inputs*s����j�)�-=�-=�r�2�F�F�F��j�)�-=�-=�r�2�#�	%�	%�	%�	%��j�)�-=�-=��s�B�G�G�G��j�)�-=�-=��s�B�#�	%�	%�	%�	%�	%�	%rc�J�tttd�ddgddg��dS)Nc��|Srr(rzs rr.z8TestCurveFit.test_function_zero_params.<locals>.<lambda>5s��q�rr6r5r~rKr�r&s r�test_function_zero_paramsz&TestCurveFit.test_function_zero_params3s(���j�)�[�[�1�a�&�1�a�&�I�I�I�I�Irc�|�td�ddtjd��z��\}}t|dg��dS)Nc�0�|tjd��zSr�)r �arange)�_r�s  rr.z*TestCurveFit.test_None_x.<locals>.<lambda>8s��A��	�"�
�
�,=�rr5r�rN)rr r�r)rr,r-s   r�test_None_xzTestCurveFit.test_None_x7sE���=�=�#�Q���2���%6�8�8�
��d���r�d�#�#�#�#�#rc���d�}tjddd��}||dd��}dD]*}t||||���\}}t|ddg���+t	t
t|||d���dS)	Nc�8�|tj||z��zSrr	r5s   rr-z,TestCurveFit.test_method_argument.<locals>.f=����r�v�q�b��d�|�|�#�#rrr6�rN�r[r\r�N�r��unknown)r r�rrrdr�)rr-rerfr�r,r-s       r�test_method_argumentz!TestCurveFit.test_method_argument<s���	$�	$�	$���A�q�"�%�%����%��R� � ��3�	,�	,�F�"�1�e�U�6�B�B�B�J�D�$��D�2�r�(�+�+�+�+��j�)�Q��u�Y�O�O�O�O�O�Orc�:�d�}tjddd��}||dd��}dD]q}t||||d���\}}}}}	t|ddg��d	|vsJ�d
|vsJ�|dks|�d|vsJ�d
|vsJ�d|vsJ�t	|t
��sJ�|	dvsJ��rdS)Nc�8�|tj||z��zSrr	r5s   rr-z(TestCurveFit.test_full_output.<locals>.fJs���r�v�q�b�1�f�~�~�%�%rrr6r�rNr�T)r�rR�nfev�fvecr��fjac�ipvt�qtfr�)r r�rr�
isinstance�str)
rr-rerfr�r,r-r�r1rXs
          rr�zTestCurveFit.test_full_outputIs��	&�	&�	&���A�q�"�%�%����%��R� � ��3�	'�	'�F�09��5�%��D�1B�1B�1B�-�D�$��&�#��D�2�r�(�+�+�+��X�%�%�%�%��X�%�%�%�%���~�~�����)�)�)�)���)�)�)�)���(�(�(�(��f�c�*�*�*�*�*��,�&�&�&�&�&�	'�	'rc	��d�}tjddd��}||dd��}ddg}ddg}||f}t||��}d	D]V}t|||||�
��\}	}
t	|	dd��t|||||�
��\}}t	||	���Wt|||dddgd
tjgf���\}	}
t	|	dd
��t
tt||||d�
��dS)Nc�8�|tj||z��zSrr	r5s   rr-z#TestCurveFit.test_bounds.<locals>.f^r�rrr6r�rNrrbr%)Nr[r\)r�r�r[rOg333333�?)r�r�r�)r r�rrrrbrdr�)
rr-rerf�lb�ubr��bounds_classr�r,r-�
popt_class�
pcov_classs
             r�test_boundszTestCurveFit.test_bounds]sb��	$�	$�	$���A�q�"�%�%����%��R� � ���!�W���2�Y���b����b�"�~�~��-�	.�	.�F�"�1�e�U�6�*0�2�2�2�J�D�$��D��G�S�)�)�)�%.�q�%��6B�6<�&>�&>�&>�"�J�
�
�J��-�-�-�-��q�%��u�(*�A�w��b�f�
�&>�@�@�@�
��d���Q���%�%�%�	�j�)�Q��u�V�!�	#�	#�	#�	#�	#�	#rc	��d�}tjdtjzdtjzd��}tj|��}dtjzdtjzf}dD]Z}t	|||dtjz�	��\}}t	|||dtjz||�
��\}}t||���[dS)Nc�0�tj||z��Sr)r �sinr)s  rr-z&TestCurveFit.test_bounds_p0.<locals>.f�s���6�!�a�%�=�=� r���r5r����r~�r[r\g������@r`)r�r�r�)r r��pir�rr)	rr-rerfr�r��popt_1r��popt_2s	         r�test_bounds_p0zTestCurveFit.test_bounds_p0s���	!�	!�	!���B�r�u�H�a���g�r�2�2����u�
�
���r�u�*�a�"�%�i�(��'�	,�	,�F�!�!�U�E�c�"�%�i�@�@�@�I�F�A�!�!�U�E�c�"�%�i�)/��@�@�@�I�F�A�
�F�F�+�+�+�+�
	,�	,rc	���d�}d�}tjddd��}||dd��}dD]0}dD]+}t|||||�	��\}}t|d
d
g���,�1dD]+}t|||||���\}}t|d
d
g���,d
|d<tj|jd��}	d|	d<dD].}t||||	||���\}}t|d
d
gd����/dS)Nc�8�|tj||z��zSrr	r5s   rr-z TestCurveFit.test_jac.<locals>.f�r�rc�v�tj||z��}tj|||z|zf��jSr�r r
r�r��r"r�r��es    rrDz"TestCurveFit.test_jac.<locals>.jac��6�����r�!�t���A��9�a�!��a��!��_�-�-�/�/rrr6r�rNr�)z2-pointz3-point�cs)rDr�r5rZ)r�rDr�rT��)rJr�rDr�rN)r r�rrr!r)
rr-rDrerfr��schemer,r-rJs
          r�test_jaczTestCurveFit.test_jac�sp��	$�	$�	$�	0�	0�	0���A�q�"�%�%����%��R� � ��(�	.�	.�F�6�
.�
.��&�q�%��F�.4�6�6�6�
��d���q�!�f�-�-�-�-�
.�.�	*�	*�F�"�1�e�U�6�s�K�K�K�J�D�$��D�1�a�&�)�)�)�)���a������A��'�'����a��-�	5�	5�F�"�1�e�U�%��'*�,�,�,�J�D�$�
�D�1�a�&�t�4�4�4�4�4�	5�	5rc���tjdd��}d|z}td�||dd���\}}td�||dd�	��\}}t|dd
���t|dd
���dS)Nrr�r5c��||zSrr(�r"r�s  rr.z5TestCurveFit.test_maxfev_and_bounds.<locals>.<lambda>��
���1��r)rr~r�)r�rMc��||zSrr(r�s  rr.z5TestCurveFit.test_maxfev_and_bounds.<locals>.<lambda>�r�r)r��max_nfev�+����=r�)r r�rr)rr"r�rkr�r/s      r�test_maxfev_and_boundsz#TestCurveFit.test_maxfev_and_bounds�s���
�I�a�����
�a�C���_�_�a��6�#�N�N�N���q��_�_�a��6�C�P�P�P���q���q�u�-�-�-�-���q�u�-�-�-�-�-�-rc
�<�d�}d�}tj�d��tjddd��}||dd��}|dtj�t|���	��zz}tjt|����dz}tj|d
z��}||fdfD]^\}}	dD]V}
t||||||
�
��\}}t|||||	|
�
��\}
}t||
d���t||d����W�_dS)Nc�8�|tj||z��zSrr	r5s   rrgz9TestCurveFit.test_curvefit_simplecovariance.<locals>.func�r�rc�v�tj||z��}tj|||z|zf��jSrr�r�s    rrDz8TestCurveFit.test_curvefit_simplecovariance.<locals>.jac�r�rrrK�2�@��������?皙�����?��sizer5�NN�FT�rJrDr]r�r�)
r r�r�r��normalr/�zerosr@rr)rrgrDrer�rfrJ�covar�jac1�jac2r]rkrlr/r0s               r�test_curvefit_simplecovariancez+TestCurveFit.test_curvefit_simplecovariance�sj��	$�	$�	$�	0�	0�	0�	�	���q������A�q�"�%�%���D���S�!�!���C�"�)�*�*��E�
�
�*�;�;�;�;�����U���$�$�s�*�����q��!�!����:�|�4�	:�	:�J�D�$�"/�
:�
:��(��u�e�5� �� A� A� A���u�(��u�e�5� �� A� A� A���u� ��u�5�9�9�9�9���u�5�9�9�9�9�9�
:�	:�	:rc
��d�}d�}d�}d�}tj�d��tjdd��}||dd	��}|d
tj�t|�����zz}tjt|����d
z}tj|dz��}	tjd	tj	d��zd
tj	d��zdgd	tj	d��zd	tj	d��zdggd�g��}
|
�
|��}|
�
|	���
|
j��}||fdfD]`\}
}dD]X}t|||||
|���\}}t||||||���\}}t||dd���t||dd����Y�adS)Nc�D�tjdtjd��zdtjd��zdgdtjd��zdtjd��zdggd�g��}|�|tj||z��z��S�Nrr5��r�rrr)r rra�dotr
)r"r�r��rotns    r�funcpz4TestCurveFit.test_curvefit_covariance.<locals>.funcp�s����8�b������m�S������^�Q�?�"�R�W�Q�Z�Z�-�QS�TV�T[�\]�T^�T^�Q^�`a�Ab�do�do�do�p�q�q�D��8�8�A����r�!�t���,�-�-�-rc��tjdtjd��zdtjd��zdgdtjd��zdtjd��zdggd�g��}tj||z��}|�tj|||z|zf��j��Sr�)r rrar
r�r�r�)r"r�r�r�r�s     r�jacpz3TestCurveFit.test_curvefit_covariance.<locals>.jacp�s����8�b������m�S������^�Q�?�"�R�W�Q�Z�Z�-�QS�TV�T[�\]�T^�T^�Q^�`a�Ab�do�do�do�p�q�q�D����r�!�t���A��8�8�B�I�q�1�"�q�&�1�*�o�6�6�8�9�9�9rc�8�|tj||z��zSrr	r5s   rrgz3TestCurveFit.test_curvefit_covariance.<locals>.func�r�rc�v�tj||z��}tj|||z|zf��jSrr�r�s    rrDz2TestCurveFit.test_curvefit_covariance.<locals>.jac�r�rrr6rKr�rr�r�r5r�r�r�r�r�g+i�)+�>r�)rOr�)r r�r�r�r�r/r�r@rrar�r�rr)rr�r�rgrDrer�rfrJr�r��ydatap�covarpr�r�r]rkrlr/r0s                    r�test_curvefit_covariancez%TestCurveFit.test_curvefit_covariance�s ��	.�	.�	.�	:�	:�	:�
	$�	$�	$�	0�	0�	0�	�	���q�����	�!�Q�����D���S�!�!���C�"�)�*�*��E�
�
�*�;�;�;�;�����U���$�$�s�*�����q��!�!���x�"�R�W�Q�Z�Z�-��R�W�Q�Z�Z���;�b������m�R�PR�PW�XY�PZ�PZ�]�\]�=^�`k�`k�`k�l�m�m�����%�������%���$�$�T�V�,�,����;��5�	G�	G�J�D�$�"/�
G�
G��(��u�e�5� �� A� A� A���u�(���v�V� �� A� A� A���u� ��u�6��F�F�F�F���u�6��F�F�F�F�F�
G�	G�	Grc	�v�tjdd��}d|zdzdtj|��zz}d�}dD]�}tjtjfD]�}tjtjfD],}|�|��}|�|��}�-t
j��5t
jdt��t||||�	��\}}tj|�����sJ�tj
|d
��rJ�	ddd��n#1swxYwY��dS)Nr�rTrbr%rLc��||z|zSrr(r5s   rrgz&TestCurveFit.test_dtypes.<locals>.funcrYrrZ�errorr�r6)r r�r�r�r�astype�warnings�catch_warnings�simplefilterrr�isfiniter��allclose)	rr"r�rgr��dtx�dtyr��covs	         r�test_dtypeszTestCurveFit.test_dtypess���I�b�!������E�C�K�#�b�f�Q�i�i�-�'��	�	�	�.�	1�	1�F��
�B�J�/�

1�

1���J��
�3�&�&�C�����
�
�A�����
�
�A�A��,�.�.�1�1��)�'�?�C�C�C�&�t�Q��&�A�A�A�F�A�s��;�s�+�+�/�/�1�1�1�1�1�!�{�1�a�0�0�0�0�0�0�1�1�1�1�1�1�1�1�1�1�1����1�1�1�1��

1�	1�	1s�/A0D,�,D0�3D0c��d�}tjgd���}tjgd���}tjgd���}gd�}tjgd���}||g|�R�}t||||||f���\}}	|�tj��}||g|�R�}t||||||f���\}
}	t|
|d�	��dS)
Nc��||zdz}||z
dz}||||z
zz|tj||z
dz|dzdzz��zzS)Nr5rK)r ra)r"�s_1�s_2�o_x�o_yr��b_2�b_1s        r�	hyperbolaz,TestCurveFit.test_dtypes2.<locals>.hyperbolasX����9��/�C���9��/�C���a��e��$�s�2�7�A�c�E�A�:��1��Q��3F�+G�+G�'G�G�Gr)g�rO��g$�rO)rOr%r%rOg$@)g�������gUUUUUU�?rg�rL)r�g�������?������r$)i��i�i����rKrKrV�� )r-rerfr�r�g�h㈵��>r�)r rrr�r�r)rr��min_fit�max_fitrP�paramsrerf�popt_64r��popt_32s           r�test_dtypes2zTestCurveFit.test_dtypes2s+��	H�	H�	H�
�(�8�8�8�9�9���(�5�5�5�6�6����:�:�:�;�;��&�&�&����8�8�8�9�9���	�%�)�&�)�)�)����%�u��'.��&8�:�:�:�
������R�Z�(�(���	�%�)�&�)�)�)����%�u��'.��&8�:�:�:�
���	���t�4�4�4�4�4�4rc�V��tjd��}d|dzzd|zztj�t	|����z��fd�}dD]P}t||tj|��|���\}}t||d|���\}}t||���QdS)	Nr�g������@r5g@c�&��||dzz||zz�z
Sr�r()r"r�r��targets   �rr.z/TestCurveFit.test_broadcast_y.<locals>.<lambda>:s���1�Q��T�6�A�a�C�<�&�#8�rrZ)rerfr�r)r r�r��randr/r�
zeros_liker)	rre�fit_funcr��popt0�pcov0rkrlr
s	        @r�test_broadcast_yzTestCurveFit.test_broadcast_y7s�����	�"�
�
���u��z�!�C�%�K�/�"�)�.�.��U���2L�2L�L��8�8�8�8��-�		*�		*�F�$�X�+0�+-�=��+?�+?�,2�4�4�4�L�E�5�%�X�+0�+,�,2�4�4�4�L�E�5�
�E�5�)�)�)�)�		*�		*rc��d�}tt��5t|gd�gd�dgd���ddd��dS#1swxYwYdS)Nc��||z|zSrr(r5s   rrgz.TestCurveFit.test_args_in_kwargs.<locals>.funcIs���q�5�1�9�rr��rTrq�
�r6rl)rerfr�rQr�r�s  r�test_args_in_kwargsz TestCurveFit.test_args_in_kwargsFs���	�	�	��:�
&�
&�	!�	!��d�(�L�L�*�N�N����	
!�
!�
!�
!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!s�?�A�Ac��d�}ttd���5t|gd�gd����ddd��dS#1swxYwYdS)Nc�J�|tj||z��z|z|z|zSrr	�r"r�r�r��dr�s      rrgz<TestCurveFit.test_data_point_number_validation.<locals>.funcTs*���r�v�q�b�1�f�~�~�%��)�A�-��1�1rzThe number of func parameters=r�r�r)rerf)rdrerr�s  r�!test_data_point_number_validationz.TestCurveFit.test_data_point_number_validationSs���	2�	2�	2��9�,L�
M�
M�
M�	,�	,��d�(�L�L�*�N�N�
,�
,�
,�
,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s�>�A�Azignore::RuntimeWarningc���d�}tj�d��}d}tj|��}tjdd|��|�|��z}tj|||d���\}}tjtj|��dk��sJ�tj
|��d}tj|d	k��sJ�t||j��dS)
Nc�~�|tj|dz|z��z|tj|dz|z��zz|zS�Nr6�r �logrs      rr-z#TestCurveFit.test_gh4555.<locals>.fbs@���R�V�A��E�A�I�&�&�&��2�6�!�a�%�!�)�+<�+<�)<�<�q�@�@r�MI9V$O-r�r5rUi��rLrg{�G�z��)
r r��default_rngr�r�rrr�r@r�eighrr�)	rr-�rngrBr"r�r�r��eigss	         r�test_gh4555zTestCurveFit.test_gh4555\s���	A�	A�	A��i�#�#�$6�7�7�����I�a�L�L���K��1�a� � �3�:�:�a�=�=�0���#�A�q�!�F�;�;�;���3��v�b�g�c�l�l�Q�&�'�'�'�'�'��{�3����"���v�d�U�l�#�#�#�#�#���S�U�#�#�#�#�#rc�8�tj�d��}d�}tjddd��}||ddd��}d	|�|j�
��z}||z}t
|||��\}}gd�gd�gd
�g}	t||	d��dS)Nr!c�>�|tj||z��z|zSrr	)r"r�r�r�s    rrgz'TestCurveFit.test_gh4555b.<locals>.funcus ���r�v�q�b�1�f�~�~�%��)�)rrrKr�r�r�rLr�r�)g�t�^G�?�d�*.�X|?���T�}H�)r)g�1��x��?�u�`v?)r*r+g�on�2�f?gH����׊>)r r�r"r�r�r�rr)
rr$rgrer��y_noiserfr�r.�refs
          r�test_gh4555bzTestCurveFit.test_gh4555bps����i�#�#�$6�7�7��	*�	*�	*���A�q�"�%�%���D���S�#�&�&����
�
��
�
�3�3�3���G����4���.�.���3�M�M�M�M�M�M�M�M�M�O��	��S�$�'�'�'�'�'rN)!r$r%r&r�r2r;rBrRrmrrrwr~r�r�r�r�r�r�r�r�r�r�r�r�rrrr�pytest�mark�filterwarningsr&r.r(rrr"r"�s�������-�-�-�/�/�/� -�-�-�-�-�-� /�/�/�&.1�.1�.1�`J�J�J�8�8�8�
>�
>�
>�%�%�%�J�J�J�$�$�$�
P�P�P�'�'�'�( #� #� #�D,�,�,�""5�"5�"5�H	.�	.�	.�:�:�:�6*G�*G�*G�X1�1�1�*5�5�5�8
*�
*�
*�!�!�!�,�,�,��[��� 8�9�9�$�$�:�9�$�&(�(�(�(�(rr"c�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestFixedPointc�P�d�}d}t||��}t|d��dS)Nc��d|zS�NrNr(rzs rrgz0TestFixedPoint.test_scalar_trivial.<locals>.func�����q�5�LrrrO�rr�rrgrhr"s    r�test_scalar_trivialz"TestFixedPoint.test_scalar_trivial�s;��	�	�	�
����b�!�!���A�s�#�#�#�#�#rc�P�d�}d}t||��}t|d��dS)Nc��|dzSr�r(rzs rrgz/TestFixedPoint.test_scalar_basic1.<locals>.func�r*r��������?rr8r9s    r�test_scalar_basic1z!TestFixedPoint.test_scalar_basic1�s;��	�	�	�
����b�!�!���A�s�#�#�#�#�#rc�P�d�}d}t||��}t|d��dS)Nc��|dzS�NrLr(rzs rrgz/TestFixedPoint.test_scalar_basic2.<locals>.func�s���c�6�Mrr=rr8r9s    r�test_scalar_basic2z!TestFixedPoint.test_scalar_basic2�s;��	�	�	�
����b�!�!���A�s�#�#�#�#�#rc��d�}ddg}tjd���5t||��}ddd��n#1swxYwYt|ddg��dS)Nc��d|zSr6r(rzs rrgz/TestFixedPoint.test_array_trivial.<locals>.func�r7rg333333�?g333333�?�ignore�r�rO)r �errstaterrr9s    r�test_array_trivialz!TestFixedPoint.test_array_trivial�s���	�	�	��4�[��
�[�X�
&�
&�
&�	&�	&��D�"�%�%�A�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&��A��S�z�*�*�*�*�*s
�:�>�>c���d�}tgd���}gd�}tjd���5t|||f���}ddd��n#1swxYwYt	|d|z��dS)Nc��||dzzSr�r(�r"r�s  rrgz.TestFixedPoint.test_array_basic1.<locals>.func�s���q�!�t�8�Or�g�?rg�?)皙�����?gffffff�?g�������?rErFrmr)rr rGrr�rrgr�rhr"s     r�test_array_basic1z TestFixedPoint.test_array_basic1�s���	�	�	��#�#�#�$�$��
�
�
��
�[�X�
&�
&�
&�	1�	1��D�"�A�4�0�0�0�A�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1��A�s�1�u�%�%�%�%�%s�A�A�Ac��d�}tgd���}gd�}t|||f���}t||dz��dS)Nc��||dzzSrAr(rKs  rrgz.TestFixedPoint.test_array_basic2.<locals>.func�s���q�#�v�:�rrL)g�������?rMrMrmr5)rrrrNs     r�test_array_basic2z TestFixedPoint.test_array_basic2�s^��	�	�	��#�#�#�$�$��
�_�_����b��t�,�,�,���A�q�!�t�$�$�$�$�$rc��td�dddd���}t|tjd|z��dz��t|t	d	��d
z��dS)Nc�6�tjd|z��dzS)Nr�rNr	)�xxs rr.z.TestFixedPoint.test_lambertw.<locals>.<lambda>�s����t�B�w����(;�rrr(g�-���q=i�)rQ�xtol�maxiterr�rNr6r5)rrr r
r)r�xxroots  r�
test_lambertwzTestFixedPoint.test_lambertw�sh���;�;�S��e�S�2�2�2������t�F�{� 3� 3�C� 7�8�8�8�������A�
�.�.�.�.�.rc�����d�d�d}d}|dz
|z��z|zd|dz
zzz����fd�}t||d���}t||��dS)	Nr5rtr�gj�t��?r6c�z��tj��z|z��tj�|z|dz
z��zdzSrr)rB�i0�kl�kss ���rrgz1TestFixedPoint.test_no_acceleration.<locals>.func�s9����6�"�R�%��'�?�?�R�V�R��T�1�q�5�\�%;�%;�;�a�?�?r�	iterationr�)rr)r�m�n0rgrBr\r]r^s     @@@r�test_no_accelerationz#TestFixedPoint.test_no_acceleration�s������
��
����
����s�A�g��2��a��1�a��c�7�+�
+��	@�	@�	@�	@�	@�	@�	@�
��b��5�5�5����1�����rN)r$r%r&r:r>rBrHrOrRrYrbr(rrr3r3�s�������$�$�$�$�$�$�$�$�$�+�+�+�&�&�&�%�%�%�/�/�/�����rr3),r'r�r/�
numpy.testingrrrrrrr	r
rd�numpyr rr�multiprocessing.poolr
�scipyrr�
scipy.specialr�scipy.optimize._minpack_pyrrr�scipy.optimizer�scipy.optimize._minimizerrr*r3r>rErGrIr�r�r�r"r3r(rr�<module>rks���������
�
�
�
�<�<�<�<�<�<�<�<�<�<�<�<�<�<�<�<�<�<�+�*�*�*�*�*����� � � � � � � � �+�+�+�+�+�+�"�"�"�"�"�"�"�"�"�"�"�"�"�"�F�F�F�F�F�F�F�F�F�F�*�*�*�*�*�*�+�+�+�+�+�+�#�#�#�#�#�#�#�#����+�+�+�
�
�
�>���.<�<�<�
e5�e5�e5�e5�e5�e5�e5�e5�P;�;�;�;�;�;�;�;�@;�;�;�;�;�;�;�;�T.�T.�T.�T.�T.�T.�T.�T.�ni(�i(�i(�i(�i(�i(�i(�i(�XH�H�H�H�H�H�H�H�H�Hr

Youez - 2016 - github.com/yon3zu
LinuXploit