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_zeros.cpython-311.pyc
�

d�co���ddlZddlmZmZmZmZddlmZddlm	Z	m
Z
mZmZm
Z
mZddlZddlmZmZmZmZddlmZmZmZddlmZddlmZmZ m!Z"d	eje#��j$zZ%ee#��j$Z&d
�Z'd�Z(d�Z)d
�Z*d�Z+d�Z,d�Z-e��d���Z.Gd�d��Z/d�Z0d�Z1d�Z2Gd�d��Z3d�Z4d�Z5d�Z6d�Z7d�Z8d�Z9ej:�;dd ej<fd!ej=fg��d"���Z>d#�Z?dS)$�N)�sqrt�exp�sin�cos)�	lru_cache)�assert_warns�assert_�assert_allclose�assert_equal�assert_array_equal�suppress_warnings)�finfo�power�nan�isclose)�	_zeros_py�newton�root_scalar)�getfullargspec_no_self)�	get_tests�	functions�fstrings�c��|dzd|zz
dz
S�N�����xs �A/usr/lib/python3/dist-packages/scipy/optimize/tests/test_zeros.py�f1r"s����6�A��E�>�A���c��d|zdz
S�Nrrrs r!�f1_1r& s���q�5�1�9�r#c��dd|zzS�N�@rrrs r!�f1_2r*$s����Q��;�r#c�Z�t|��t|��t|��fS�N)r"r&r*rs r!�f1_and_p_and_ppr-(s!��
�a�5�5�$�q�'�'�4��7�7�"�"r#c�@�t|��t|��z
Sr,�rrrs r!�f2r0-����q�6�6�C��F�F�?�r#c�@�t|��t|��zSr,�rrrs r!�f2_1r41r1r#c�@�t|��t|��zSr,r/rs r!�f2_2r65r1r#c��|Sr,rrs r!�f_lrucachedr8:s���Hr#c�l�eZdZd&d�Zd�Zd�Z		d'd�Zdezdezdfd�Zdddezdezfd	�Z	d
�Z
d�Zd�Zd
�Z
d�Zd�Zd�Zed���Zed���Zed���Zed���Zed���Zed���Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d �Z!d!�Z"d"�Z#d#�Z$d$�Z%d%�Z&dS)(�	TestBasicrc��d}td��}dtjt��jz}dtjt��jz}ttt��D]Z\}}	|dkr|	dvr�t|f|||g|||d�|��}
|
j	}t|
j��t|d||d|�d	|	���
���[dS)N��?�rr)�f4�f5�f6)�method�bracket�x0�xtol�rtol��?�method �, function ��atolrE�err_msg)
r�npr�float�eps�zip�tstutils_functions�tstutils_fstringsr�rootr	�	convergedr
)�self�name�
smoothness�kwargs�a�brDrE�function�fname�r�zeros            r!�run_check_by_namezTestBasic.run_check_by_nameAs������G�G�����%���$�$�����%���$�$��"�#5�7H�I�I�	N�	N�O�H�e��A�~�~�%�+=�"=�"=���H�<�T�A�q�6�a�!%�D�<�<�4:�<�<�A��6�D��A�K� � � ��D�#�D�t�t�@D���e�e�$L�
N�
N�
N�
N�
N�	N�	Nr#c��d}td��}dtz}dtz}ttt��D]G\}}||||||d���\}	}
t|
j��t|	d||d|�d|���	���HdS)
Nr<r=rT)rDrE�full_outputrFrGrHrI)r�
_FLOAT_EPSrOrPrQr	rSr
)rTrArUrXrYrDrErZr[r]r\s           r!�	run_checkzTestBasic.run_checkPs�������G�G���:�~���:�~��"�#5�7H�I�I�	N�	N�O�H�e��f�X�q�!�$�T�)-�/�/�/�G�D�!��A�K� � � ��D�#�D�t�t�@D���e�e�$L�
N�
N�
N�
N�
N�		N�	Nr#c��d}d}|t||d���\}}t|j��t|dd|�dd���	��dS)
N���rT�r`rrGrHr8)rK)r8r	rSr
)rTrArUrXrYr]r\s       r!�run_check_lru_cachedzTestBasic.run_check_lru_cached\ss����
���&��a���=�=�=���a���������a�a�<@�D�D�-�-� P�	R�	R�	R�	R�	R�	Rr#Nc���g}|pgD];}||vrdddd��||��}|�||���<td
i|��}|�ddd���|pgD]
}||||<�|�d��}	|�d	d
��}
	||d	|
i|��\}}|	||fS#t$r,|	tjtddt
j��|fcYSwxYw)NrC�x1�f)rXrY�funcTF�r`�disprR�argsrrd)	�get�append�dict�update�	Exception�zeros�RootResultsr�
_EVALUEERR)
rT�tcrA�
sig_args_keys�sig_kwargs_keysrW�method_args�k�
method_kwargsrR�	func_argsr\�rrs
             r!�
_run_one_testzTestBasic._run_one_testesE�����$�"�	&�	&�A���{�{��T�3�7�7�;�;�A�q�A�A�����r�!�u�%�%�%�%����v���
����T�5�A�A�B�B�B� �&�B�	%�	%�A�!�!�u�M�!����v�v�f�~�~���F�F�6�2�&�&�	�	N��F�K�I�i�I�=�I�I�E�A�r���R�<����	N�	N�	N���*�3��B��8H�I�I�2�M�M�M�M�	N���s�%B7�73C-�,C-rc����������t���}t|j��t|j��}	t|j��|	z
}
|jd|
��g�|dvr8|dvr.��d��|dvr��d��|�d<n
|�d<��d	<�����fd
�|D��}�pg�d�|D��}�fd�|D��}d
�|D��}
tt|
��|
gdgg��dtzdtzd�}|j	di���|d	�|�
d|d���d�|D��}d�|D��}d�|D��}���fd�t|||��D��}d�|D��}d�t||��D��}t|t|��ggdg��dS)z�Run test-cases using the specified method and the supplied signature.

        Extract the arguments for the method call from the test case
        dictionary using the supplied keys for the method's signature.N)�secantr�halley)rr��fprime)r��fprime2�tolrDrEc
�N��g|]!}t�j|�f��d��������"S))rwrx)�listr~)�.0rvrWrArTrwrxs  �����r!�
<listcomp>z'TestBasic.run_tests.<locals>.<listcomp>�sh���I�I�I�<>��*��*���7�&3�+�7�7�/5�7�7�8�8�I�I�Ir#c�,�g|]}|dj�|��S�r�rS�r��elts  r!r�z'TestBasic.run_tests.<locals>.<listcomp>�s$��B�B�B�3��Q��1A�B�3�B�B�Br#c�4��g|]}|dd�v�|��S�rd�IDr)r�r��
known_fails  �r!r�z'TestBasic.run_tests.<locals>.<listcomp>�s+���M�M�M�3�S��W�T�]�*�-L�-L�3�-L�-L�-Lr#c�*�g|]}|dd��Sr�rr�s  r!r�z'TestBasic.run_tests.<locals>.<listcomp>�s ��9�9�9�#��B���
�9�9�9r#rr�rDrEc�,�g|]}|dj�|��Sr�r�r�s  r!r�z'TestBasic.run_tests.<locals>.<listcomp>�s$��;�;�;��#�a�&�*:�;��;�;�;r#c�(�g|]}|dj��Sr�)rRr�s  r!r�z'TestBasic.run_tests.<locals>.<listcomp>�s��.�.�.�#�#�a�&�+�.�.�.r#c��g|]
}|d��S�rrr�s  r!r�z'TestBasic.run_tests.<locals>.<listcomp>�s��*�*�*�c�3�q�6�*�*�*r#c�j��g|]/\}}}t||�����s|dd�v�)|g|z��0S))rErJrdr�)r)r�rX�cr�rJr�rEs    ���r!r�z'TestBasic.run_tests.<locals>.<listcomp>�sZ���9�9�9�)�!�Q����1�4�d�;�;�;�9��B���
�Z�7�7��C�#�I�7�7�7r#c�B�g|]\}}}}|d|g|d�R���S)rirmr)r��arootr��fulloutrvs     r!r�z'TestBasic.run_tests.<locals>.<listcomp>�s;��S�S�S�1F���7�B�w�r�#�w�u�,��6�
�,�,�,�S�S�Sr#c�,�g|]\}}|dk�|g|z��Sr�r)r��fvr�s   r!r�z'TestBasic.run_tests.<locals>.<listcomp>�s'��L�L�L�7�2�s�B�!�G�G�R�D�3�J�G�G�Gr#r)�_getfullargspecr	�
kwonlyargs�len�defaultsrmrorrarqrnrO)rT�testsrArUrDrEr�rW�sig�	nDefaults�	nRequired�results�notcvgd�notcvged_IDS�tols�cvgd�approx�correct�notclose�fvsrJrwrxs` `  ```            @@@r!�	run_testszTestBasic.run_tests|s������������f�%�%���C�N�"�#�#�#����%�%�	����M�M�I�-�	����)��,�
����1�1�1��+�+�+��&�&�x�0�0�0��:�%�%�#�*�*�9�5�5�5� �F�5�M�M�!�F�6�N�!�F�6�N�I�I�I�I�I�I�I�I�BG�I�I�I��
 �%�2�
�B�B�'�B�B�B��M�M�M�M�'�M�M�M��9�9��9�9�9���c�,�'�'��6��B��@�@�@��J���J��?�?�������f�����F�|���x�x��t�F�|�,�,��;�;�w�;�;�;��.�.��.�.�.��*�*�T�*�*�*��9�9�9�9�9�9�s�6�7�D�/I�/I�9�9�9��T�S�(�S�S�S��L�L�c�#�x�.@�.@�L�L�L���h��H�
�
�.��Q��8�8�8�8�8r#c�P�t||���}	|j|	||f|||d�|��dS)zuRun a collection of tests using the specified method.

        The name is used to determine some optional arguments.�rV)rDrEr�N)rr�)
rT�
collectionrArUrVr�rDrErWr�s
          r!�run_collectionzTestBasic.run_collection�sU���*��<�<�<�����u�f�d�	8��D�",�	8�	8�06�	8�	8�	8�	8�	8r#c��|�tjd��|�tjd��|�d��|�dtjdd���dS)N�bisect�apsrr�)rbrsr�rfr^r��rTs r!�test_bisectzTestBasic.test_bisect��i�����u�|�X�.�.�.��!�!�%�,��9�9�9����x�(�(�(����E�5�<��a��H�H�H�H�Hr#c��|�tjd��|�tjd��|�d��|�dtjdd���dS)N�ridderr�rr�)rbrsr�rfr^r�r�s r!�test_ridderzTestBasic.test_ridder�r�r#c��|�tjd��|�tjd��|�d��|�dtjdddd���dS)N�brentqr�r�+����=�rVrDrE)rbrsr�rfr^r�r�s r!�test_brentqzTestBasic.test_brentq�sz�����u�|�X�.�.�.��!�!�%�,��9�9�9����x�(�(�(����E�5�<��a�!&�U�	�	4�	4�	4�	4�	4r#c��|�tjd��|�tjd��|�d��|�dtjdddd���dS)N�brenthr�rr�r�)rbrsr�rfr^r�r�s r!�test_brenthzTestBasic.test_brenth�sz�����u�|�X�.�.�.��!�!�%�,��9�9�9����x�(�(�(����E�5�<��a�!&�U�	�	4�	4�	4�	4�	4r#c��|�tjd��|�tjd��|�d��|�dtjdd���dS)N�toms748r�rr�)rbrsr�rfr^r�r�s r!�test_toms748zTestBasic.test_toms748�si�����u�}�i�0�0�0��!�!�%�-��;�;�;����y�)�)�)����E�5�=�)���J�J�J�J�Jr#c�l�dg}|ddgz
}dD]&}|�|tjdd|����'dS)N�	aps.13.00z	aps.12.05�	aps.12.17�r��complexrr�rVr��r�rsr�rTr�r�s   r!�test_newton_collectionsz!TestBasic.test_newton_collections�sh��!�]�
��{�K�0�0�
�,�	E�	E�J����
�E�L�(�+,��
 �
E�
E�
E�
E�	E�	Er#c�`�gd�}dD]&}|�|tjdd|����'dS)N)z	aps.12.06z	aps.12.07z	aps.12.08z	aps.12.09z	aps.12.10z	aps.12.11z	aps.12.12z	aps.12.13z	aps.12.14z	aps.12.15z	aps.12.16r�z	aps.12.18r�r�r�rr�r�r�s   r!�test_halley_collectionsz!TestBasic.test_halley_collections�se��0�0�0�
�-�	E�	E�J����
�E�L�(�+,��
 �
E�
E�
E�
E�	E�	Er#c��|dzd|zz
dz
Srrrs r!r"zTestBasic.f1�s���!�t�a��c�z�A�~�r#c��d|zdz
Sr%rrs r!r&zTestBasic.f1_1�s����s�Q�w�r#c��dd|zzSr(rrs r!r*zTestBasic.f1_2�s���Q�q�S�y�r#c�@�t|��t|��z
Sr,r/rs r!r0zTestBasic.f2�����1�v�v��A����r#c�@�t|��t|��zSr,r3rs r!r4zTestBasic.f2_1�r�r#c�@�t|��t|��zSr,r/rs r!r6zTestBasic.f2_2r�r#c��|j|j|jf|j|j|jffD]�\}}}t
j|dd���}t||��dd���t
j|ddd���}t||��dd���t
j|d|d���}t||��dd���t
j|d||d�	��}t||��dd�����dS)
Nr=���ư>)r�r�rJ�)rhr�)r�r�)r�r�r�)	r"r&r*r0r4r6rsrr
)rTri�f_1�f_2r s     r!�test_newtonzTestBasic.test_newtons��!�W�d�i���;�!�W�d�i���;�=�		0�		0�K�A�s�C���Q��t�,�,�,�A��A�A�a�D�D�!�$�/�/�/�/���Q��a�T�2�2�2�A��A�A�a�D�D�!�$�/�/�/�/���Q��#�4�8�8�8�A��A�A�a�D�D�!�$�/�/�/�/���Q��#�s��E�E�E�A��A�A�a�D�D�!�$�/�/�/�/�/�		0�		0r#c���tttfttt
ffD]:\}}}t
|dd|d���}t||j��dd����;dS)z#Invoke newton through root_scalar()rr=r�)rArCr�rDrr�N�	r"r&r*r0r4r6rr
rR�rTrir�r�r\s     r!�test_newton_by_namezTestBasic.test_newton_by_namesn����t�,�r�4��.>�?�	5�	5�K�A�s�C��A�h�1�S�t�L�L�L�A��A�A�a�f�I�I�q�t�4�4�4�4�4�	5�	5r#c�4�tttfttt
ffD]n\}}}t
|dddd���}t||j��dd���t
|dddd���}t||j��dd����od	S)
z#Invoke secant through root_scalar()r�r=rr�)rArCrhrDrr�r�Nr�r�s     r!�test_secant_by_namezTestBasic.test_secant_by_names�����t�,�r�4��.>�?�	5�	5�K�A�s�C��A�h�1���F�F�F�A��A�A�a�f�I�I�q�t�4�4�4�4��A�h�1���F�F�F�A��A�A�a�f�I�I�q�t�4�4�4�4�4�		5�	5r#c	���tttfttt
ffD];\}}}t
|dd||d���}t||j��dd����<dS)z#Invoke halley through root_scalar()r�r=r�)rArCr�r�rDrr�Nr�r�s     r!�test_halley_by_namezTestBasic.test_halley_by_name sz����t�,�r�4��.>�?�	5�	5�K�A�s�C��A�h�1�#&��$�@�@�@�A��A�A�a�f�I�I�q�t�4�4�4�4�4�	5�	5r#c�h�tjt��5ttddd���ddd��n#1swxYwYtjt��5ttddd���ddd��n#1swxYwYtjt��5ttdt
dd���ddd��n#1swxYwYtjt��5ttdtdd���ddd��dS#1swxYwYdS)	Nr�r=r�)rArCrDrr�)rAr�rCrD)rAr�rCrD)�pytest�raises�
ValueErrorrr"r&r*r�s r!�test_root_scalar_failzTestBasic.test_root_scalar_fail's*��
�]�:�
&�
&�	>�	>���8���=�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�
�]�:�
&�
&�	>�	>���8���=�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�
�]�:�
&�
&�	K�	K���8�D�Q�T�J�J�J�J�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K����	K�	K�	K�	K�
�]�:�
&�
&�	L�	L���8�T�a�d�K�K�K�K�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L����	L�	L�	L�	L�	L�	LsE�?�A�A�#B�B�B�,C�C�C�;D'�'D+�.D+c��d�}d�}d�}tjgd���}tjtd����dzdz}||dd	dd
f}dgdz}t	j||||��}d}	t
||	��t	j|||||���}t
||	��t	j|||�
��}t
||	��dS)ztest newton with arrayc��|d||dzz}|d|dtj||dz��dz
zz
||dzz
|z
S)Nrr=rrr�rFr�rLr�r rXrYs   r!r"z'TestBasic.test_array_newton.<locals>.f14sX���!��q�1�Q�4�x��A��Q�4�!�A�$�"�&��Q�q�T��"2�"2�S�"8�9�9�A��!��H�D�q�H�Hr#c��|d|dz}|dtj|d|dz||zz��z|z|d|dzz
dz
S)Nr=r�rrrrr�r�s   r!r&z)TestBasic.test_array_newton.<locals>.f1_18s^���!��q��t��A��a�D�5�2�6�!�A�$��1��+��A��"5�6�6�6��:�Q�q�T�A�a�D�[�H�1�L�Lr#c��|d|dz}|dtj|d|dz||zz��z|dzzS)Nr=r�rrr�r�s   r!r*z)TestBasic.test_array_newton.<locals>.f1_2<sL���!��q��t��A��a�D�5�2�6�!�A�$��1��+��A��"5�6�6�6��A��=�=r#)
g��
4O@g��Nk�@g]0J�@g]Q�ݚt@g~�EO�5@g$�J���?g~
5�,�@gXCڭ�@gͮ9@@g���Ӎ�@�
rFg@g��&�.>g����Mbp?gn�2d��?)
gԩ�˰@g9~�4b�'@g���a�q(@g�0�p@gk"z��?g�4s�e�?gU+��F@gw��Qu%@gd�6���)@g)�i�!@)r��rmN)rL�arrayr�rangersrr
)
rTr"r&r*�a0�a1rmrCr �
x_expecteds
          r!�test_array_newtonzTestBasic.test_array_newton1s��	I�	I�	I�	M�	M�	M�	>�	>�	>��X�
�
�
�����f�U�2�Y�Y���#�%��
,���B��u�b�'�2���U�R�Z���L��R��t�,�,��
�
�	��:�&�&�&��L��R��t�T�:�:�:����:�&�&�&��L��R�d�+�+�+����:�&�&�&�&�&r#c��d�}d�}tjdd��}tj|||���}t	||��d��tjd��}tj|||���}t	||��d��tj||��}t	||��d��dS)Nc��|dzdzS)Nr��?rrs r!riz.TestBasic.test_array_newton_complex.<locals>.fYs���q�5��8�Or#c��dS�NrFrrs r!r�z3TestBasic.test_array_newton_complex.<locals>.fprime\s���3r#rr�)r��)rL�fullrsrr
�ones)rTrir��tr s     r!�test_array_newton_complexz#TestBasic.test_array_newton_complexXs���	�	�	�	�	�	�
�G�A�r�N�N���L��A�f�-�-�-�����!���b�!�!�!�
�G�A�J�J���L��A�f�-�-�-�����!���b�!�!�!��L��A�������!���b�!�!�!�!�!r#c��tjd�ddgtjddg��g���}t	|d��dS)	z8test secant doesn't continue to iterate zero derivativesc��||z|dz
S)Nrr�r rXs  r!�<lambda>z=TestBasic.test_array_secant_active_zero_der.<locals>.<lambda>ms��q��s�Q�q�T�z�r#gˡE��}@r���)rCrm)��f~@g@N)rsrrLr�r
�rTr s  r!�!test_array_secant_active_zero_derz+TestBasic.test_array_secant_active_zero_derksO���L�1�1�u�a�j�!�x��R��1�1�2�
4�
4�
4����3�4�4�4�4�4r#c���tjd�dgdzddgf���}t|d��tjd�d	gdzd
dgf���}t|d��dS)Nc��||dzz
Sr%r��y�zs  r!r
z6TestBasic.test_array_newton_integers.<locals>.<lambda>s���a�!�q�&�j�r#�@rg.@g1@r�)g�NO��@r
c��||dzz
Sr%rrs  r!r
z6TestBasic.test_array_newton_integers.<locals>.<lambda>wrr#r�r)rsrr
rs  r!�test_array_newton_integersz$TestBasic.test_array_newton_integersqs}���L�0�0�3�%�!�)� $�d�|�o�
/�
/�
/����A�B�B�B��L�0�0�1�#��'�"�b���L�L�L����A�B�B�B�B�Br#c��tttjd�ddgd���t	jt��5tjd�ddgd�d���}t
|jd��|j�	��sJ�|j
���rJ�	ddd��dS#1swxYwYdS)	Nc��|dzdz
Sr%r�rs r!r
z?TestBasic.test_array_newton_zero_der_failures.<locals>.<lambda>}s��q�!�t�a�x�r#rc��d|zSr%rrs r!r
z?TestBasic.test_array_newton_zero_der_failures.<locals>.<lambda>}s
��Q��U�r#c��|dzdz
Sr%rrs r!r
z?TestBasic.test_array_newton_zero_der_failures.<locals>.<lambda>�s��Q��T�A�X�r#c��d|zSr%rrs r!r
z?TestBasic.test_array_newton_zero_der_failures.<locals>.<lambda>�s
��Q�q�S�r#Trer)r�RuntimeWarningrsrr��warnsr
rR�zero_der�allrS�any)rTr�s  r!�#test_array_newton_zero_der_failuresz-TestBasic.test_array_newton_zero_der_failureszs���^�U�\�'�'�"�b��?�?�	D�	D�	D��\�.�
)�
)�	/�	/��l�#5�#5��B�x�#0�=�d�D�D�D�G��G�L�!�,�,�,��#�'�'�)�)�)�)�)��(�,�,�.�.�.�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/s�A(B6�6B:�=B:c��d�}d�}d�}d�}t|dd|���}t|ddd���}t|j|jd	�
��td|jz|j��t|dd||�
��}t|ddd���}t|j|jd	�
��td|jz|j��dS)Nc��|dzd|zz
dz
Srrrs r!r
z0TestBasic.test_newton_combined.<locals>.<lambda>�s��q�!�t�a��c�z�A�~�r#c��d|zdz
Sr%rrs r!r
z0TestBasic.test_newton_combined.<locals>.<lambda>�s���1��q��r#c��dd|zzSr(rrs r!r
z0TestBasic.test_newton_combined.<locals>.<lambda>�s���q��s��r#c�0�|dzd|zz
dz
d|zdz
dfS)Nrrr)rrs r!r-z7TestBasic.test_newton_combined.<locals>.f1_and_p_and_pp�s'���a�4�!�A�#�:�a�<��1��Q���+�+r#rr=)rArCr�Tg:�0�yE>r�rr�)rArCr�r�)rArCr�)rr
rRr�function_calls)rTr"r&r*r-�sol0�sols       r!�test_newton_combinedzTestBasic.test_newton_combined�s���
%�
%�� � ��"�"��	,�	,�	,��2�h�1�T�B�B�B���/�(�q��N�N�N����	�3�8�$�7�7�7�7��Q�s�)�)�4�+>�?�?�?��2�h�1�T�4�P�P�P���/�(�q�$�O�O�O����	�3�8�$�7�7�7�7��Q�s�)�)�4�+>�?�?�?�?�?r#c�X�d}gd�}td��D�]�}ddd�}d|jgd|jggd|�D]
\}}|||<�tj|j|fdd	i|��\}}t
|j��t||j	��t|j
|jf||��|d
kr|j|j
dzksJ�n t|j|dz|j
z��|j
dz
}	tj|j|f|	d	d�|��\}}t
|j��t||j	��t|j
|	��|dkrTtj
td
|	z���5tj|j|f|	dd�|��\}}ddd��n#1swxYwY���dS)Nr=))��)r�r�)r=�	r�T)r�r`r�r�rlFrr)�maxiterrlz3Failed to converge after %d iterations, value is .*��match)r�r&r*rsrr"r	rSrrR�
iterationsr+r�r��RuntimeError)
rTrC�expected_counts�derivsrWrz�vr r\�iterss
          r!�test_newton_full_outputz!TestBasic.test_newton_full_output�sS��
��3�3�3���A�h�h�	Y�	Y�F�!�$�9�9�F�"�D�I�.��D�I�0F�G����P�
�
���1���q�	�	��<����B�B�%�B�6�B�B�D�A�q��A�K� � � ���A�F�#�#�#��!�,��(8�9�?�6�;R�S�S�S���{�{��'�1�<�!�+;�;�;�;�;�;��Q�-���
�a�l�/J�K�K�K��L�1�$�E��<����Q�U��Q�Q�&�Q�Q�D�A�q����O�$�$�$���A�F�#�#�#����u�-�-�-���{�{��]� �O�SX�Y�[�[�[�Y�Y�!�<����X�U��X�X�QW�X�X�D�A�q�Y�Y�Y�Y�Y�Y�Y�Y�Y�Y�Y����Y�Y�Y�Y��1	Y�	Ys�2F�F!	�$F!	c���d�}d�}tttj|d|d���t	jtd���5tj|d|��ddd��dS#1swxYwYdS)Nc��|dzdz
S)Nrr)rrs r!r
z3TestBasic.test_deriv_zero_warning.<locals>.<lambda>�s���A����r#c��d|zSr%rrs r!r
z3TestBasic.test_deriv_zero_warning.<locals>.<lambda>�s
��!�A�#�r#rF�rlzDerivative was zeror4)rr rsrr�r�r7)rTrj�dfuncs   r!�test_deriv_zero_warningz!TestBasic.test_deriv_zero_warning�s���#�#���
���^�U�\�4��e�%�P�P�P�P�
�]�<�/D�
E�
E�
E�	+�	+��L��s�E�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+s�A*�*A.�1A.c���tjddg��}|���}ttj|tj��t
||��dS)N皙�����?r=)rLr��copyrrrr)rTrC�x0_copys   r!�test_newton_does_not_modify_x0z(TestBasic.test_newton_does_not_modify_x0�sN��
�X�s�A�h�
�
���'�'�)�)���r�v�r�2�6�"�"�"��2�w�'�'�'�'�'r#c�"�tjtjtjtjtjtjfD]I}tjtd���5|tddd���ddd��n#1swxYwY�JdS)Nz2'float' object cannot be interpreted as an integerr4rrFg�����R@)r3)rsr�rr�r�r�r�r�r��	TypeErrorr")rTrAs  r!�test_maxiter_int_checkz TestBasic.test_maxiter_int_check�s����|�U�\�5�<����|�U�]�4�	4�	4�F���y�N�P�P�P�
4�
4���r�3��U�3�3�3�3�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4����
4�
4�
4�
4��	4�	4s�"B�B	�
B	r�)NN)'�__name__�
__module__�__qualname__r^rbrfr~rar�r�r�r�r�r�r�r�r��staticmethodr"r&r*r0r4r6r�r�r�r�r�r�rrrr%r.r<rBrGrJrr#r!r:r:?s�������
N�
N�
N�
N�
N�
N�
N�R�R�R�7;�&*�N�N�N�N�0�:�~�A�
�N�!�49�49�49�49�lCG�"&��
�N��Z��	8�	8�	8�	8�I�I�I�I�I�I�4�4�4�4�4�4�K�K�K�E�E�E�E�E�E�����\������\������\������\������\������\��
0�
0�
0�5�5�5�5�5�5�5�5�5�L�L�L�%'�%'�%'�N"�"�"�&5�5�5�C�C�C�
/�
/�
/�@�@�@�$#Y�#Y�#Y�J+�+�+�(�(�(�4�4�4�4�4r#r:c	���d��fd�}tjtjg}tx}}|D].}||dd||���}t	�|||d|jz����/dS)NrDc���|�z
Sr,r)r rRs �r!riztest_gh_5555.<locals>.f�s����4�x�r#g�ח�g�cAr�z	method %srI)rsr�r��TOLr
rK)ri�methodsrDrErA�resrRs      @r!�test_gh_5555rT�s�����D�������|�U�\�*�G���D�4��?�?���f�Q��c��4�8�8�8����c��4� +�f�o� =�	?�	?�	?�	?�	?�?�?r#c��d�}d}dtz}tjtjg}|D]%}||dd||���}t	d|||����&dS)	Nc��|dkrdS|dz
S)Nr<g���������333333�?rrs r!riztest_gh_5557.<locals>.f�s���s�7�7��4��s�7�Nr#gR���Q�?rrrr�rW�rJrE)rarsr�r�r
)rirJrErRrArSs      r!�test_gh_5557rY�s|������D��z�>�D��|�U�\�*�G��8�8���f�Q��1�4�d�3�3�3����S�t�$�7�7�7�7�7�8�8r#c����d}d}||fD]U\}}}tj|���tjtjfD]"}|�fd�||��}t||���#�VdS)N)g |�g�u�gy�)g�u@g |@gy@c�2��tj|���z
Sr,r�)r r�s �r!r
z9test_brent_underflow_in_root_bracketing.<locals>.<lambda>s���2�6�!�9�9�Q�;�r#)rLrrsr�r�r
)�underflow_scenario�overflow_scenariorXrYrRrArSr�s       @r!�'test_brent_underflow_in_root_bracketingr^�s����
2��-��)�+<�=�'�'�
��1�d��F�4�L�L���|�U�\�2�	'�	'�F��&�.�.�.�.��1�5�5�C��D�#�&�&�&�&�	'�'�'r#c��eZdZd�ZdS)�TestRootResultsc�t�tjdddd���}d}tt|��|��dS)NrF�,�.r)rRr6r+�flagzo      converged: True
           flag: 'converged'
 function_calls: 46
     iterations: 44
           root: 1.0)rsrtr�repr)rTr\�
expected_reprs   r!�	test_reprzTestRootResults.test_repr	sI����3�)+�-/�#$�
&�
&�
&��0�
�	�T�!�W�W�m�,�,�,�,�,r#N)rKrLrMrgrr#r!r`r`s#������-�-�-�-�-r#r`c��d�}d�}d�}tdd��}d}tj|||||d���}t||g|�R�d	d�
��|gdz}d}tj|||||d���}t||g|�R�d	d�
��dS)
z&Test Halley's works with complex rootsc�H�|d|dzz|d|zz|dzS)Nrrrrr	s  r!riztest_complex_halley.<locals>.fs*����t�a��d�{�Q�q�T�A�X�%��!��,�,r#c�0�d|dz|z|dzS)Nrrrrr	s  r!r�z test_complex_halley.<locals>.f_1s���1�Q�4�x�!�|�a��d�"�"r#c�h�d|dz}	t|��}|g|zS#t$r|cYSwxYw)Nrr)r�rI)r rX�retval�sizes    r!r�z test_complex_halley.<locals>.f_2sS���Q�q�T���	#��q�6�6�D��8�d�?�"���	�	�	��M�M�M�	���s�"�1�1rFr))r)g@rr�)rmr�r�r�rr�r�N)r�rsrr
)rir�r�r�coeffsrs      r!�test_complex_halleyros���-�-�-�#�#�#�#�#�#�	��S���A�
�F�
��Q���s�C�T�J�J�J�A��A�A�a�M�&�M�M�M�1�4�0�0�0�0�	
��b��A�
�F�
��Q���s�C�T�J�J�J�A��A�A�a�M�&�M�M�M�1�4�0�0�0�0�0�0r#c��tjt��jdz}d|z
d|zz}t	��5}|�td��tjd�|gdz���}ddd��n#1swxYwYt|d	gdz��d
}t	��5}|�td��tjd�|d
���}ddd��n#1swxYwYt|d��tjtd���5tjd�|d���}ddd��n#1swxYwYd}t	��5}|�td��tjd�|d
���}ddd��n#1swxYwYt|d��tjtd���5tjd�|d���}ddd��dS#1swxYwYdS)zBTest secant method with a non-zero dp, but an infinite newton stepg��Q��?gi@r)zRMS ofc��|dz
dzS)NgY@rrrs r!r
z%test_zero_der_nz_dp.<locals>.<lambda>=s��A��I��>�r#r��rCN�dg.ЗK.��?zTolerance ofc��|dz
dzS�NrFrrrs r!r
z%test_zero_der_nz_dp.<locals>.<lambda>C���A��G��>�r#F)rCrlrr4c��|dz
dzSrurrs r!r
z%test_zero_der_nz_dp.<locals>.<lambda>Frvr#Tg.ЗK.��c��|dzdzSrurrs r!r
z%test_zero_der_nz_dp.<locals>.<lambda>Jrvr#rdc��|dzdzSrurrs r!r
z%test_zero_der_nz_dp.<locals>.<lambda>Mrvr#)
rLrrMrNr
�filterr rsrr
r�r�r7)�dx�p0�supr s    r!�test_zero_der_nz_dpr~0s���
��%���	��	$�B��"�*��r��	"�B�	�	�	�A���
�
�>�8�,�,�,��L�1�1�r�d�R�i�@�@�@��A�A�A�A�A�A�A�A�A�A�A����A�A�A�A��A��u�r�z�"�"�"�	$�B�	�	�	�F���
�
�>�>�2�2�2��L�1�1�b�u�E�E�E��F�F�F�F�F�F�F�F�F�F�F����F�F�F�F��A�q����	��|�>�	:�	:�	:�E�E��L�1�1�b�t�D�D�D��E�E�E�E�E�E�E�E�E�E�E����E�E�E�E�	%�B�	�	�	�F���
�
�>�>�2�2�2��L�1�1�b�u�E�E�E��F�F�F�F�F�F�F�F�F�F�F����F�F�F�F��A�r����	��|�>�	:�	:�	:�E�E��L�1�1�b�t�D�D�D��E�E�E�E�E�E�E�E�E�E�E�E����E�E�E�E�E�EsY�7A>�>B�B�-4C-�-C1�4C1�#E�E�E�#4F#�#F'�*F'�G?�?H�Hc���d}d�d}d}d}||z|z|z}�fd�}tjt��5tj|gd�d||gd	�
��}|j���rJ�	ddd��n#1swxYwYtjt��5tj|dgdzd||gd	�
��}ddd��dS#1swxYwYdS)
z(Test that array newton fails as expectedrDga2U0*�#?g������@g\�mJ�A?g��C�l�@c	���dtj|��zdtj�dz|zd|ztj|��zz��zzS)Nrrg������
@g�G�z@)rLr�log10)�darcy_friction�re�dia�	roughnesss   �r!�
colebrook_eqnz1test_array_newton_failures.<locals>.colebrook_eqn]sa����B�G�N�+�+�+��B�H�Y��_�s�2�!�B�Y����)@�)@�@�A�B�B�B�B�	Cr#)�{�G�z�?g�������?g��vÖ?g333333�?rT)rCr3rmr`Nr�)	r�r!r rsrrSr#r�r7)�diameter�rho�mu�u�reynolds_numberr��resultr�s       @r!�test_array_newton_failuresr�Ps����
�H��I�
�C�	�B�
�A��A�g��(�2�-�O�C�C�C�C�C�
��n�	%�	%�*�*����7�7�7��!�8�,�$�
�
�
���#�'�'�)�)�)�)�)�)�*�*�*�*�*�*�*�*�*�*�*����*�*�*�*�
��|�	$�	$�
�
����t�f�q�j�!�!�8�,�$�
�
�
��
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�
�
s#�9A;�;A?�A?� C�C�Cc��d�}tj|d���}t|dtjtj���tj|dgdz���}t|dtjtj���d�}d�}tj|d|���}t|dtjtj���tj|d||�	��}t|dtjtj���tj|dgdz|���}t|dtjtj���tj|dgdz||�	��}t|dtjtj���tj|d
|���}t|dtjtj���tj|d
gdz|���}t|dtjtj���dS)z@Test that Newton or Halley don't warn if zero derivative at rootc��|dz|dzz
S�Nr=rrrs r!�f_zeroder_rootz9test_gh8904_zeroder_at_root_fails.<locals>.f_zeroder_rootvs���!�t�a��d�{�r#rrrrXr�c��d|dzzd|zz
Sr�rrs r!�fderz/test_gh8904_zeroder_at_root_fails.<locals>.fder�s���1�a�4�x�!�a�%��r#c��d|zdz
S)Nr0rrrs r!�fder2z0test_gh8904_zeroder_at_root_fails.<locals>.fder2������s�Q�w�r#)rCr�)rCr�r�r<N)rsrr
�_xtol�_rtol)r�r\r�r�s    r!�!test_gh8904_zeroder_at_root_failsr�rs������	��^��*�*�*�A��A�q�u�{���=�=�=�=�
��^���B��/�/�/�A��A�q�u�{���=�=�=�=� � � ����	��^��$�7�7�7�A��A�q�u�{���=�=�=�=�
��^��$�"�	$�	$�	$�A��A�q�u�{���=�=�=�=�
��^���B��t�<�<�<�A��A�q�u�{���=�=�=�=�
��^���B��t�"�	$�	$�	$�A��A�q�u�{���=�=�=�=�	��^��D�9�9�9�A��A�q�u�{���=�=�=�=�
��^���b���>�>�>�A��A�q�u�{���=�=�=�=�=�=r#c���d��fd�}�fd�}�fd�}d}t|||d���\}}|jsJ�t||||d���\}}|jsJ�d	S)
zzTest that Halley's method realizes that the 2nd order adjustment
    is too big and drops off to the 1st order adjustment.r2c�R��t|d�z��t�d�z��z
Sr�r�r �ns �r!riztest_gh_8881.<locals>.f�s&����Q��A�����q�#�a�%���0�0r#c�6��t|d�z
�z���zSrr�r�s �r!�fpztest_gh_8881.<locals>.fp�s ����Q��Q���	�"�"�1�$�$r#c�T��t|dd�zz
�z��d�zzd�z
z�zSrur�r�s �r!�fppztest_gh_8881.<locals>.fpp�s6����Q��Q�q�S��!��$�$��A��.�#�a�%�8��:�:r#rDT)r�r`�r�r�r`N)rrS)rir�r�rC�rtr\r�s      @r!�test_gh_8881r��s����	
�A�1�1�1�1�1�%�%�%�%�%�;�;�;�;�;�

�B�
�1�b���6�6�6�E�B���;����
�1�b��S�d�C�C�C�E�B���;�����r#c���d�}d�}d�}tjdgtj���}t||||d���\}}|jsJ�tjddgtj���}tjt��5tj||||d���}d	d	d	��n#1swxYwYd
�}tj||||d���}|j�	��sJ�d	S)z_
    Test that shape is preserved for array inputs even if fprime or fprime2 is
    scalar
    c��|dzSr%rrs r!riz,test_gh_9608_preserve_array_shape.<locals>.f�s���!�t�r#c��d|zSr%rrs r!r�z-test_gh_9608_preserve_array_shape.<locals>.fp�s���1�u�r#c��dSr%rrs r!r�z.test_gh_9608_preserve_array_shape.<locals>.fpp�s���qr#�����dtypeTr����Nc�h�tjtj|��dtj���S)Nrr�)rLr�shape�float32rs r!�	fpp_arrayz4test_gh_9608_preserve_array_shape.<locals>.fpp_array�s#���w�r�x��{�{�A�R�Z�8�8�8�8r#)
rLr�r�rrSr�r��
IndexErrorrsr#)	rir�r�rCr�r\�x0_arrayr�r�s	         r!�!test_gh_9608_preserve_array_shaper��sh��
���������
��2�$�b�j�	)�	)�	)�B��1�b��S�d�C�C�C�E�B���;�����x��R���
�3�3�3�H�	��z�	"�	"�
�
���
�x��C�T�
�
�
��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�
9�9�9��\�	�8�B�	�t����F�����!�!�!�!�!�!�!s�B,�,B0�3B0z maximum_iterations,flag_expectedr�rsc��tjd�ddddd|dd��	�	}|d	j|ksJ�|tjkr|d	j|ksJ�d
S|tjkr|d	j|ksJ�d
Sd
S)z]
    Test that if the maximum iterations is exceeded that the flag is not
    converged.
    c�*�d|zdz
|zdz|zdz
S)Ng333333�?gffffff@g333333@g@rrs r!r
z6test_gh9254_flag_if_maxiter_exceeded.<locals>.<lambda>�s!��C��E�C�K��?�S�(�!�+�c�1�r#i���rr�TFrkrN)rsr�rd�CONVERRr6�	CONVERGED)�maximum_iterations�
flag_expectedr�s   r!�$test_gh9254_flag_if_maxiter_exceededr��s����\�1�1��R��T�4�!3��u�&�&�&�F��!�9�>�]�*�*�*�*���
�%�%��a�y�#�'9�9�9�9�9�9�9�	�%�/�	)�	)��a�y�#�&8�8�8�8�8�
*�	)�8�8r#c�p�d�}d�}tttj|d|d���t	jtd���5tj|d|��ddd��n#1swxYwYtj|td	d	��|��}t|td
d����dS)zBTest that if disp is true then zero derivative raises RuntimeErrorc��||zdzS)Nrrrs r!riz/test_gh9551_raise_error_if_disp_true.<locals>.f�r�r#c��d|zSr%rrs r!�f_pz1test_gh9551_raise_error_if_disp_true.<locals>.f_p�s����s�
r#rFFr@zY^Derivative was zero\. Failed to converge after \d+ iterations, value is [+-]?\d*\.\d+\.$r4Ng$@r)	rr rsrr�r�r7r�r
)rir�rRs   r!�$test_gh9551_raise_error_if_disp_truer��s	������������q�#�s��G�G�G�G�	���n�
p�
p�
p�"�"�	��Q��S�!�!�!�"�"�"�"�"�"�"�"�"�"�"����"�"�"�"��<��7�4��.�.��4�4�D��D�'�#�s�+�+�,�,�,�,�,s�A)�)A-�0A-)@r��mathrrrr�	functoolsr�
numpy.testingrr	r
rrr
�numpyrLrrrr�scipy.optimizerrsrr�scipy._lib._utilrr��scipy.optimize._tstutilsrrrPrrQrMrNrQrar"r&r*r-r0r4r6r8r:rTrYr^r`ror~r�r�r�r��mark�parametrizer�r�r�r�rr#r!�<module>r�s��
�
�
�
�$�$�$�$�$�$�$�$�$�$�$�$�������.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�
����,�,�,�,�,�,�,�,�,�,�,�,�C�B�B�B�B�B�B�B�B�B�F�F�F�F�F�F�o�n�n�n�n�n�n�n�n�n�����������
�U�5�\�\�
�
����������#�#�#�
���������
����
�
�
��
�Q4�Q4�Q4�Q4�Q4�Q4�Q4�Q4�h?�?�?�8�8�8�0'�'�'�	-�	-�	-�	-�	-�	-�	-�	-�1�1�1�8E�E�E�@
�
�
�D,>�,>�,>�`���4"�"�"�D����&��%�-��3���0�1�3�3�9�9�3�3�9�$-�-�-�-�-r#

Youez - 2016 - github.com/yon3zu
LinuXploit