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

d�cjz���ddlZddlmZddlZddlmZmZmZddl	m
Zddlm
Z
mZmZddlmZmZmZmZmZmZd�Zd�ZGd	�d
��ZGd�d��ZGd
�d��ZGd�d��Zd�Zd�ZdS)�N)�product)�assert_allclose�assert_equal�assert_)�raises)�
csr_matrix�
csc_matrix�
lil_matrix)�_adjust_scheme_to_bounds�approx_derivative�check_derivative�
group_columns�_eps_for_method�_compute_absolute_stepc���gd�gd�gd�gd�gd�gd�gd�g}tjtttfD]�}||��}tjd��}tjgd	���}t||��}t||��gd
�}tjgd���}t||��}t||����t|��}t|��}t||��dS)N)�rrrrr)rrrrrr)rrrrrr)rrrrrr)rrrrrr)rrrrrr)rrrrrr�)rr�rrr)rr���r)rrrrrr)	�np�asarrayrr	r
�arange�arrayrr)�	structure�	transform�A�order�groups_true�groups�groups_1�groups_2s        �D/usr/lib/python3/dist-packages/scipy/optimize/tests/test__numdiff.py�test_group_columnsr%s*������������������������I��j�*�j�*�E�
*�
*�	��I�i� � ���	�!�����h�1�1�1�2�2���q�%�(�(���V�[�)�)�)�"�"�"���h�1�1�1�2�2���q�%�(�(���V�[�)�)�)�)��Q���H��Q���H���8�$�$�$�$�$�c��tjtj��j}|dz|dz|dzd�}dD]t}t	ttjtj|��||��t	ttjtj|��||���utjtj��j}|dz|dz|dzd�}dD]�}t	ttjtj|��||��t	ttjtj|��||��t	ttjtj|��||����dS)N��?�UUUUUU�?��2-pointz3-point�cs)r�finfo�float64�epsrr�
complex128�float32)�EPS�
relative_step�methods   r$�test_correct_fp_epsr5+s���
�(�2�:�
�
�
"�C� #�S��"�S�z���8�%�%�M�/�
�
����B�J��
�F�;�;��&�!�	#�	#�	#�	��B�M�2�=�&�A�A��&�!�	
�	
�	
�	
�
�(�2�:�
�
�
"�C� #�S��"�S�z���8�%�%�M�/�
�
����B�J��
�F�;�;��&�!�	
�	
�	
�	��B�J��
�F�;�;��&�!�	
�	
�	
�	��B�J��
�F�;�;��&�!�	
�	
�	
�	
�
�
r&c� �eZdZd�Zd�Zd�ZdS)�TestAdjustSchemeToBoundsc�j�tjd��}tjdd��}tj|��}tj|��}|�tj��|�tj��t
||dd||��\}}t||��ttj	|����t
||dd||��\}}t||��ttj	|����t
||dd||��\}}t||��ttj	|����t
||dd||��\}}t||��ttj	|����dS)Nr�{�G�z�?r�1-sidedr�2-sided)
r�zeros�full�
empty_like�fill�infrrr�all)�self�x0�h�	inf_lower�	inf_upper�
h_adjusted�	one_sideds       r$�test_no_boundsz'TestAdjustSchemeToBounds.test_no_boundsPs���
�X�a�[�[���G�A�t�����M�"�%�%�	��M�"�%�%�	������w�������r�v���� 8���1�i��I�!7�!7��
�I��
�A�&�&�&����y�!�!�"�"�"� 8���1�i��I�!7�!7��
�I��
�A�&�&�&����y�!�!�"�"�"� 8���1�i��I�!7�!7��
�I��
�A�&�&�&����	�z�"�"�#�#�#� 8���1�i��I�!7�!7��
�I��
�A�&�&�&����	�z�"�"�#�#�#�#�#r&c��tjgd���}tjd��}tjd��}tjgd���dz}t||dd||��\}}t	||��t||dd||��\}}t	|tjgd���dz��t||dd	||��\}}t	|tj|����t
tj|����t||dd	||��\}}t	|tjgd���dz��t|tjgd
�����dS)N)�g333333�?g333333�r)rr���皙�����?rr:r)rrLrr;)FTT)	rr�onesrr�absrrAr)rBrC�lb�ubrDrG�_rHs        r$�test_with_boundz(TestAdjustSchemeToBounds.test_with_boundlss��
�X�(�(�(�
)�
)���g�a�j�j�[��
�W�Q�Z�Z���H�Z�Z�Z� � �4�'��0��Q��9�b�"�M�M�
�
�A��
�A�&�&�&�0��Q��9�b�"�M�M�
�
�A��
�B�H�Z�Z�Z�$8�$8�4�$?�@�@�@� 8���1�i��R�!)�!)��
�I��
�B�F�1�I�I�.�.�.����	�z�"�"�#�#�#� 8���1�i��R�!)�!)��
�I��
�B�H�Z�Z�Z�$8�$8�4�$?�@�@�@��Y���)<�)<�)<� =� =�>�>�>�>�>r&c��tjddg��}tjddg��}tjddg��}tjddg��}t||dd||��\}}t|tjddg����t||d	d||��\}}t|tjd
dg����t||dd||��\}}t|tjddg����t	|tjdd
g����t||d	d||��\}}t|tjddg����t	|tjdd
g����dS)Ng���Q���g�������?rKg���Q��?皙������rr:g���Q���rg�������?r;FTg���Q��?g���Q���)rrrrr)rBrPrQrCrDrGrRrHs        r$�test_tight_boundsz*TestAdjustSchemeToBounds.test_tight_bounds�s���
�X�u�e�n�
%�
%��
�X�t�T�l�
#�
#��
�X�s�D�k�
"�
"���H�d�D�\�"�"��0��Q��9�b�"�M�M�
�
�A��
�B�H�d�E�]�$;�$;�<�<�<�0��Q��9�b�"�M�M�
�
�A��
�B�H�e�U�^�$<�$<�=�=�=� 8���1�i��R�!)�!)��
�I��
�B�H�d�E�]�$;�$;�<�<�<��Y���%��� 7� 7�8�8�8� 8���1�i��R�!)�!)��
�I��
�B�H�e�V�_�$=�$=�>�>�>��Y���%��� 7� 7�8�8�8�8�8r&N)�__name__�
__module__�__qualname__rIrSrV�r&r$r7r7OsA������$�$�$�8?�?�?�,9�9�9�9�9r&r7c���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd%d�Zd&d
�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd �Z d!�Z!d"�Z"d#�Z#d$S)'�TestApproxDerivativesDensec�*�tj|��S�N�r�sinh�rB�xs  r$�fun_scalar_scalarz,TestApproxDerivativesDense.fun_scalar_scalar�����w�q�z�z�r&c�*�tj|��Sr^�r�coshras  r$�jac_scalar_scalarz,TestApproxDerivativesDense.jac_scalar_scalar�rdr&c��tj|ddztj|d��tj|d��g��S�Nrr�rr�tan�expras  r$�fun_scalar_vectorz,TestApproxDerivativesDense.fun_scalar_vector��9���x��1��q��"�&��1��,�,���q��t���=�>�>�>r&c���tjd|dztj|d��dztj|d��g���dd��S�Nrr���rLr�rr�cosrm�reshaperas  r$�jac_scalar_vectorz,TestApproxDerivativesDense.jac_scalar_vector��S���x�
��1��X�r�v�a��d�|�|�r�)�2�6�!�A�$�<�<�8�:�:�:A�'�"�a�.�.�	Ir&c�~�tj|d|dz��tj|d��zS�Nrr�r�sin�logras  r$�fun_vector_scalarz,TestApproxDerivativesDense.fun_vector_scalar��/���v�a��d�Q�q�T�k�"�"�R�V�A�a�D�\�\�1�1r&c�~�tj|dztj|��tj|��g��S�Nrrkras  r$�wrong_dimensions_funz/TestApproxDerivativesDense.wrong_dimensions_fun�s-���x��A��r�v�a�y�y�"�&��)�)�4�5�5�5r&c	��tj|dtj|d|dz��ztj|d��ztj|d|dz��|dzz|dtj|d|dz��ztj|d��zg��S�Nrr�rrrtr|r{ras  r$�jac_vector_scalarz,TestApproxDerivativesDense.jac_vector_scalar�����x�
�a�D�2�6�!�A�$��1��+�&�&�&����!����5��F�1�Q�4�!�A�$�;���!�A�$�&�
'�
�a�D�2�6�!�A�$��1��+�&�&�&����!����5�
���	r&c���tj|dtj|d��z|dtj|d��z|ddz|ddzzg��S�Nrrr�࿩rrr{rtras  r$�fun_vector_vectorz,TestApproxDerivativesDense.fun_vector_vector��c���x�
�a�D�2�6�!�A�$�<�<��
�a�D�2�6�!�A�$�<�<��
�a�D�A�I��!����$�
���	r&c��tjtj|d��|dtj|d��zg|dtj|d��ztj|d��gd|ddzz|ddzzd|ddzz|ddzzgg��S�Nrrrrr�g��r�ras  r$�jac_vector_vectorz,TestApproxDerivativesDense.jac_vector_vector�����x�
�V�A�a�D�\�\�1�Q�4�"�&��1��,�,�.�/���d�U�R�V�A�a�D�\�\�
!�2�6�!�A�$�<�<�0�
��1����]�Q�q�T�T�\�
)�4�!�A�$�!�)�+;�a��d�d�l�+J�K�
���	r&��?c��tjtj||dz��tj||dz��g��Sry�rrrm�rBrb�c0�c1s    r$�fun_parametrizedz+TestApproxDerivativesDense.fun_parametrized�s;���x����Q�q�T�	�*�*�B�F�2��!��9�,=�,=�>�?�?�?r&rMc
��tj|tj||dz��zdgd|tj||dz��zgg��Sryr�r�s    r$�jac_parametrizedz+TestApproxDerivativesDense.jac_parametrized�sY���x�
�"�&��a��d��#�#�
#�Q�'�
��R�V�B��1��I�&�&�&�'�
���	r&c�N�tj|��dkr|ntjS)N�:�0�yE>�rrO�nanras  r$�fun_with_nanz'TestApproxDerivativesDense.fun_with_nan�s ���F�1�I�I��%�%�q�q�2�6�1r&c�N�tj|��dkrdntjS)Nr�r�r�ras  r$�jac_with_nanz'TestApproxDerivativesDense.jac_with_nan�s ���f�Q�i�i�4�'�'�s�s�R�V�3r&c��tj|d|dztj|d|dz��g��Sry)rrrtras  r$�fun_zero_jacobianz,TestApproxDerivativesDense.fun_zero_jacobian�s9���x��1���!���b�f�Q�q�T�A�a�D�[�&9�&9�:�;�;�;r&c
��tj|d|dg|dtj|d|dz��z|dtj|d|dz��zgg��Sr�)rrr{ras  r$�jac_zero_jacobianz,TestApproxDerivativesDense.jac_zero_jacobian�st���x�
�q�T�1�Q�4�L���d�U�R�V�A�a�D�1�Q�4�K�(�(�
(�1�Q�4�%�"�&��1���!���2E�2E�*E�F�
���	r&c�*�tj|��Sr^)�mathrmras  r$�
fun_non_numpyz(TestApproxDerivativesDense.fun_non_numpy�s���x��{�{�r&c�v�tj|�����}tj|��Sr^)rr�itemr�rm)rBrb�xps   r$�
jac_non_numpyz(TestApproxDerivativesDense.jac_non_numpy�s+���Z��]�]�
�
�
!�
!���x��|�|�r&c�&�d}t|j|d���}t|j|��}t|j|d���}|�|��}t||d���t||d���t||d���dS)	Nr�r+�r4r,���ư>��rtol��&�.>��-���q=�rrcrhr�rBrC�
jac_diff_2�
jac_diff_3�
jac_diff_4�jac_trues      r$�test_scalar_scalarz-TestApproxDerivativesDense.test_scalar_scalar�s���
��&�t�'=�r�.7�9�9�9�
�&�t�'=�r�B�B�
�&�t�'=�r�.2�4�4�4�
��)�)�"�-�-���
�H�4�8�8�8�8��
�H�4�8�8�8�8��
�H�5�9�9�9�9�9�9r&c�.�d}t|j|dd���}t|j|d���}t|j|dd���}|�|��}t||d���t||d	���t||d
���dS)Nr�r+��"��\�O>�r4�abs_step)r�r,r�r�r�r�r�r�s      r$�test_scalar_scalar_abs_stepz6TestApproxDerivativesDense.test_scalar_scalar_abs_step�s���
��&�t�'=�r�.7�'�K�K�K�
�&�t�'=�r�07�9�9�9�
�&�t�'=�r�.2�W�F�F�F�
��)�)�"�-�-���
�H�4�8�8�8�8��
�H�4�8�8�8�8��
�H�5�9�9�9�9�9�9r&c�J�d}t|j|d���}t|j|��}t|j|d���}|�tj|����}t||d���t||d���t||d���dS)	Nr(r+r�r,r�r�r�r�)rrnrvr�
atleast_1drr�s      r$�test_scalar_vectorz-TestApproxDerivativesDense.test_scalar_vector�s���
��&�t�'=�r�.7�9�9�9�
�&�t�'=�r�B�B�
�&�t�'=�r�.2�4�4�4�
��)�)�"�-��*;�*;�<�<���
�H�4�8�8�8�8��
�H�4�8�8�8�8��
�H�5�9�9�9�9�9�9r&c�N�tjddg��}t|j|d���}t|j|��}t|j|d���}|�|��}t||d���t||d���t||d	���dS)
N�Y@r�r+r�r,r�r��H�����z>r�)rrrr}r�rr�s      r$�test_vector_scalarz-TestApproxDerivativesDense.test_vector_scalar	s���
�X�u�d�m�
$�
$��&�t�'=�r�.7�9�9�9�
�&�t�'=�r�B�B�
�&�t�'=�r�.2�4�4�4�
��)�)�"�-�-���
�H�4�8�8�8�8��
�H�4�8�8�8�8��
�H�5�9�9�9�9�9�9r&c�l�tjddg��}t|j|dd���}t|j|dtj���}t|j|dd���}|�|��}t
||d�	��t
||d
�	��t
||d�	��dS)Nr�r�r+r�r�)r��rel_stepr,r�r���A:��)>r�)rrrr}r@r�rr�s      r$�test_vector_scalar_abs_stepz6TestApproxDerivativesDense.test_vector_scalar_abs_steps���
�X�u�d�m�
$�
$��&�t�'=�r�.7�'�K�K�K�
�&�t�'=�r�07�"�&�J�J�J�
�&�t�'=�r�.2�W�F�F�F�
��)�)�"�-�-���
�H�4�8�8�8�8��
�H�4�8�8�8�8��
�H�5�9�9�9�9�9�9r&c�N�tjddg��}t|j|d���}t|j|��}t|j|d���}|�|��}t||d���t||d���t||d	���dS)
N�Y�皙�����?r+r�r,��h㈵��>r�r�r��rrrr�r�rr�s      r$�test_vector_vectorz-TestApproxDerivativesDense.test_vector_vector#s���
�X�v�s�m�
$�
$��&�t�'=�r�.7�9�9�9�
�&�t�'=�r�B�B�
�&�t�'=�r�.2�4�4�4�
��)�)�"�-�-���
�H�4�8�8�8�8��
�H�4�8�8�8�8��
�H�5�9�9�9�9�9�9r&c���d}ttt|j|��|�t	j|����}ttt|j||���dS)Nr�)�f0)�
assert_raises�RuntimeErrorrr�rr��
ValueError)rBrCr�s   r$�test_wrong_dimensionsz0TestApproxDerivativesDense.test_wrong_dimensions/ss��
���l�$5��/��	5�	5�	5�
�
&�
&�r�}�R�'8�'8�
9�
9���j�"3��/���	<�	<�	<�	<�	<�	<r&c��tjddg��}t|j|dd���}t|j|d���}|�|��}t||d���t||d���dS)	NrUrMr+g-C��6?)r4r�)r�r9r�r�)rBrCr�r�r�s     r$�test_custom_rel_stepz/TestApproxDerivativesDense.test_custom_rel_step7s���
�X�t�S�k�
"�
"��&�t�'=�r�.7�$�H�H�H�
�&�t�'=�r�04�6�6�6�
��)�)�"�-�-���
�H�4�8�8�8�8��
�H�4�8�8�8�8�8�8r&c���tjddg��}d}d}d}d}|�|||���}tjddg��}|�|||��}t	|j|d|||ft|���||f�	��}	t	|j||||ft|���||f�
��}
t
|	|d���t
|
|d
���dS)Nr���rK�@)r�g���ư�r�r+)r4r�r��args�kwargs�bounds)r�r�r�r�r�r�r�r�)rrr�r�r�dictr)rBrCr�r�rPrQr�r�r�r�r�s           r$�test_optionsz'TestApproxDerivativesDense.test_optionsAs��
�X�s�C�j�
!�
!��
��
��
��
��
�
"�
"�2�r�b�
"�
1�
1���8�U�D�M�*�*���(�(��R��4�4��&��!�2�i�(����d�b�k�k�k�2�r�(�D�D�D�
�'��!�2�����d�b�k�k�k�2�r�(�D�D�D�
�	�
�H�4�8�8�8�8��
�H�4�8�8�8�8�8�8r&c�|�tjd��}tjd��}tjddg��}ttt
|j|||f���tjddg��}t|j|d||f���}|�|��}t||d	�
��dS)Nrg�r��r�r�r�r+�r4r�r�r�)	rrNrr�r�rr�r�r)rBrPrQrC�jac_diffr�s      r$�test_with_bounds_2_pointz3TestApproxDerivativesDense.test_with_bounds_2_pointSs����g�a�j�j�[��
�W�Q�Z�Z��
�X�t�S�k�
"�
"���j�"3��,�b�"�b��	C�	C�	C�	C��X�t�S�k�
"�
"��$�T�%;�R�,5�r�2�h�H�H�H���)�)�"�-�-����(��6�6�6�6�6�6r&c�.�tjddg��}tjddg��}tjddg��}|�|��}t|j|��}t||d���t|j||tjf���}t||d���t|j|tj|f���}t||d���t|j|||f���}t||d���dS)Nr�r�r�r�r�)rrr�rr�rr@)rBrPrQrCr�r�s      r$�test_with_bounds_3_pointz3TestApproxDerivativesDense.test_with_bounds_3_pointas&��
�X�s�C�j�
!�
!��
�X�s�C�j�
!�
!��
�X�s�C�j�
!�
!���)�)�"�-�-��$�T�%;�R�@�@����(��6�6�6�6�$�T�%;�R�-/���L�:�:�:����(��6�6�6�6�$�T�%;�R�.0�f�W�b�M�;�;�;����(��6�6�6�6�$�T�%;�R�-/��H�6�6�6����(��6�6�6�6�6�6r&c���tjddg��}|dz
}|dz}|�|��}t|j|d||f���}t||d���t|j|dd||f���}t||d���t|j|||f�	��}t||d���t|j|d||f�
��}t||d���dS)Ng$@r�g��&�.!>r+r�r�r��r4r�r�r��r�r�)rrr�rr�r)rBrCrPrQr�r�s      r$rVz,TestApproxDerivativesDense.test_tight_boundsws-��
�X�t�T�l�
#�
#��
�$�Y��
�$�Y���)�)�"�-�-��$��"�B�y�"�b��K�K�K����(��6�6�6�6�$��"�B�y��2�r�(�,�,�,��	��(��6�6�6�6�$��"�B��B�x�9�9�9����(��6�6�6�6�$��"�B��r�2�h�H�H�H����(��6�6�6�6�6�6r&c���d}d}d}|�|��}t|j|dd||f���}t|j|d||f���}t||d���t||d	���d}|�|��}t|j|dd||f���}t|j|d||f���}t||d���t||d	���dS)
N�:�0�yE�r�rKr+r�r�r�r�r�)r�rr�r)rBrPrQrCr�r�r�s       r$�test_bound_switchesz.TestApproxDerivativesDense.test_bound_switches�s6��
��
��
���$�$�R�(�(��&���r�)�d���8����
�'���r�D�"�b��C�C�C�
��
�H�4�8�8�8�8��
�H�4�8�8�8�8�
���$�$�R�(�(��&���r�)�d���8����
�'���r�D�"�b��C�C�C�
��
�H�4�8�8�8�8��
�H�4�8�8�8�8�8�8r&c�.�d}|�|��}t|j|d���}t|j|��}t||d���t||d���ttt|j|fitd�����dS)Nr�r+r�r�r�r�r,)r�rrr��	TypeErrorr�)rBrCr�r�r�s     r$�test_non_numpyz)TestApproxDerivativesDense.test_non_numpy�s���
���%�%�b�)�)��&�t�'9�2�.7�9�9�9�
�&�t�'9�2�>�>�
��
�H�4�8�8�8�8��
�H�4�8�8�8�8�	�i�!2�D�4F��	+�	+��D�)�)�)�	+�	+�	+�	+�	+r&c�p�����tj�d��d���fd��tjdddtj����tj�d���tj���tjddg��}t�|d��f�	��}t�|�tj��d��f�	��}�|����j	tjksJ�t||d
������fd�}t||d�
��}||��j	tjksJ�t||d
���d�}d�}d�}d�}tjtjtjfD]�}	tj|	��j
}
tjd���|	��}td|||��d��}||||||
��}
t||d|���||��z
�t���|
ksJ���dS)Nrc�*�|d|d|zzSryrZ)�prbs  r$�funcz0TestApproxDerivativesDense.test_fp.<locals>.func�s���Q�4�!�A�$��(�?�"r&c�"���||��|z
Sr^rZ)r�rb�yr�s   �r$�errz/TestApproxDerivativesDense.test_fp.<locals>.err�s����4��1�:�:��>�!r&r�d��dtyper�r+)r4r�g����MbP?)�atolc�X���|�����tj��Sr^)�astyperr1)r�r�rbr�s ���r$�<lambda>z4TestApproxDerivativesDense.test_fp.<locals>.<lambda>�s#���S�S��A�q�\�\�0�0���<�<�r&r�c�*�tj|��Sr^�rr{�rbs r$r�z4TestApproxDerivativesDense.test_fp.<locals>.<lambda>����b�f�Q�i�i�r&c�*�tj|��Sr^)rrtrs r$r�z4TestApproxDerivativesDense.test_fp.<locals>.<lambda>�rr&c�,�tj|��Sr^r�rs r$r�z4TestApproxDerivativesDense.test_fp.<locals>.<lambda>�s��"�&��)�)��r&c
�H�|dzttj||����tj|||z������z}||zttj||����tj|||z������z}||zSr�)�maxrrO)rDrC�f�hessr2�t0�t1s       r$�	calc_atolz5TestApproxDerivativesDense.test_fp.<locals>.calc_atol�s����Q���R�V�D�D��H�H�-�-�r�v�d�d�2��6�l�l�/C�/C�D�D�D�B��q��3�r�v�a�a��e�e�}�}�b�f�Q�Q�r�A�v�Y�Y�.?�.?�@�@�@�B���7�Nr&r�r�)r�random�seed�linspacer.r�rrr1r�r�float16r-r/rrO)rB�p0�jac_fp64�jac_fp�err_fp32r�grr
r�r2rCrDr�r�r�rbr�s              @@@@r$�test_fpz"TestApproxDerivativesDense.test_fp�sq������	�	���q����	#�	#�	#�	"�	"�	"�	"�	"�
�K��1�c���4�4�4���I���S�!�!�(�(���4�4��
�X�t�T�l�
#�
#��$�S�"�Y�a��V�L�L�L��#�3��	�	�"�*�(=�(=�*3�1�a�&�B�B�B���s�2�q�!�}�}�"�b�j�0�0�0�0����t�4�4�4�4�=�<�<�<�<�<��"�8�R�*3�5�5�5���x��|�|�!�R�Z�/�/�/�/����t�4�4�4�4�
 ������#�#��	�	�	��j�"�*�b�j�9�	#�	#�E��(�5�/�/�%�C���#���%�%�e�,�,�B�&�t�R���2���	�B�B�A��9�Q��A�t�S�1�1�D�#�A�r�)�-.�0�0�0�23�!�B�%�%�8�C��s�8�8�d�?�?�?�?�?�	#�	#r&c���tjddg��}t|j|j|��}t|dk��t|j|j|��}t|dk��tjddg��}t|j|j|��}t|dk��t|j|j|��}t|dk��dS)Ng$��
r�r�rKr)rrr
r�r�rr�r�)rBrC�accuracys   r$�test_check_derivativez0TestApproxDerivativesDense.test_check_derivative�s���
�X�u�b�k�
"�
"��#�D�$:�$(�$:�B�@�@����4�� � � �#�D�$:�$(�$:�B�@�@����4�� � � �
�X�s�C�j�
!�
!��#�D�$:�$(�$:�B�@�@����A�
����#�D�$:�$(�$:�B�@�@����A�
�����r&N)r�)rM)$rWrXrYrcrhrnrvr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rVr�r�rrrZr&r$r\r\�s������������?�?�?�I�I�I�2�2�2�6�6�6����������@�@�@�@�����2�2�2�4�4�4�<�<�<����������
:�
:�
:�:�:�:�
:�
:�
:�
:�
:�
:�:�:�:�
:�
:�
:�<�<�<�9�9�9�9�9�9�$7�7�7�7�7�7�,7�7�7�(9�9�9�.+�+�+�3#�3#�3#�j����r&r\c�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestApproxDerivativeSparsec���tj�d��d|_ddtj|j��zz|_ddtj|j��zz|_tj|j��|_d|jddd�z|jddd�<d|jddd�z|jddd�<|�	|j��|_
dS)Nr�2rUrrMg�P���?r)rrr�nrrPrQ�emptyrC�jac�J_true)rBs r$�setup_methodz'TestApproxDerivativeSparse.setup_method�s���
�	���q��������!�b�i���/�/�/�0�����R�Y�t�v�.�.�.�/����(�4�6�"�"��� �D�G�C�C�a�C�L�0�����!���!�T�W�Q�T��T�]�2�����1��
��h�h�t�w�'�'����r&c��|dd�dz|dd�dzz
}tjdd|zf��tjd|zdf��zS)NrrrLrr)r�hstack)rBrb�es   r$�funzTestApproxDerivativeSparse.funsS��
�a�b�b�E�1�H�q��"��v�q�y� ���y�!�Q��U��$�$�r�y�!�a�%���'<�'<�<�<r&c��|j}tj||f��}d|dz|d<d|ddzz|d<td|dz
��D]P}d||dz
z|||dz
f<d	||dzzd
||zz
|||f<d||dzdzz|||dzf<�Qd	|ddzz|d<d|d
z|d<|S)N���r�rrrrr�rri�����	rrL�rLrLrr�rLrr)�sizerr<�range)rBrbr�J�is     r$rzTestApproxDerivativeSparse.jacs���
�F���H�a��V�����q��t�)��$���a��d�A�g�+��$���q�!�a�%���	(�	(�A��q��1��v�+�A�a��Q��h�K��!�A�$��'�k�A��!��H�,�A�a��d�G��a��!��f�a�i�-�A�a��Q��h�K�K���"��q��L��&�	���2��J��&�	��r&c��tj||ft���}d|d<d|d<td|dz
��D]}d|||dz
|dz�f<�d|d<d|d<|S)Nr�rr(r)rr+r,)rr<�intr.)rBrrr0s    r$rz$TestApproxDerivativeSparse.structures{���H�a��V�3�'�'�'����$����$���q�!�a�%���	#�	#�A�!"�A�a��Q���A���o�����&�	���&�	��r&c	�2�|�|j��}tj|j��}t	||��}tj�|��t	||��}tgd�||gtj|j	gtj|j
g��D]�\}}}}t|j|j
|||f||f���}	tt|	t ����t#|	���|jd���tj|j
d��}
|
ddd�xxdzcc<t|j|j
||
||f���}	t#|	���|jd	�����dS)
Nr*)r4r��sparsityr�r�r�rrL)r4r�r4r�)rrrrrr�shufflerr@rPrQrr%rCr�
isinstancerr�toarrayr �	full_like)rBrrr"r#r4r!�l�ur/r�s           r$�test_allz#TestApproxDerivativeSparse.test_all s����N�N�4�6�"�"���	�$�&�!�!�� ��E�*�*��
�	���%� � � � ��E�*�*��$+�,�,�,�x��.B��&��$�'�"�R�V�T�W�$5�%7�%7�	A�	A� �F�F�A�q�"�$�(�D�G�F�*+�Q��1�f�+�G�G�G�A��J�q�*�-�-�.�.�.��A�I�I�K�K���4�@�@�@�@��|�D�G�T�2�2�H��S�S�q�S�M�M�M�R��M�M�M�!�$�(�D�G�F�+3�q�&�k�K�K�K�A��A�I�I�K�K���4�@�@�@�@�@�	A�	Ar&c���|�|j��}t|j|j|���}t|���|jd���dS)N)r4r�r�)rrrr%rCrr7r )rBrr/s   r$�test_no_precomputed_groupsz5TestApproxDerivativeSparse.test_no_precomputed_groups5sR���N�N�4�6�"�"���d�h���!�<�<�<����	�	���T�[�t�<�<�<�<�<�<r&c�P�tj|j|jft���}tj|j��}dD]b}t|j|j|���}t|j|j||f|���}t||�	��dd����cdS)Nr�r*r�)r4r4gV瞯�<g��Vs��<)r�r�)
rrNrr2rrr%rCrr7)rBrr!r4�J_dense�J_sparses      r$�test_equivalencez+TestApproxDerivativeSparse.test_equivalence:s����G�T�V�T�V�,�C�8�8�8�	���4�6�"�"��2�	4�	4�F�'���$�'�&�I�I�I�G�(���$�'�Y��,?��P�P�P�H��G�X�%5�%5�%7�%7�!&�U�
4�
4�
4�
4�
4�		4�	4r&c����fd�}t�j|�j�j�jf���}t|dk��t�j|�j�j�jf���}t|dk��dS)Nc�H��t��|����Sr^)rr)rbrBs �r$rz=TestApproxDerivativeSparse.test_check_derivative.<locals>.jacEs����d�h�h�q�k�k�*�*�*r&r�r�)r
r%rCrPrQr)rBrrs`  r$rz0TestApproxDerivativeSparse.test_check_derivativeDs����	+�	+�	+�	+�	+�$�D�H�c�4�7�,0�G�T�W�+=�?�?�?����4�� � � �#�D�H�c�4�7�,0�G�T�W�+=�?�?�?����4�� � � � � r&N)rWrXrYr!r%rrr;r=rArrZr&r$rr�s�������	(�	(�	(�=�=�=����	�	�	�A�A�A�*=�=�=�
4�4�4�
!�
!�
!�
!�
!r&rc�\�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�ZdS)�"TestApproxDerivativeLinearOperatorc�*�tj|��Sr^r_ras  r$rcz4TestApproxDerivativeLinearOperator.fun_scalar_scalarSrdr&c�*�tj|��Sr^rfras  r$rhz4TestApproxDerivativeLinearOperator.jac_scalar_scalarVrdr&c��tj|ddztj|d��tj|d��g��Srjrkras  r$rnz4TestApproxDerivativeLinearOperator.fun_scalar_vectorYror&c���tjd|dztj|d��dztj|d��g���dd��Srqrsras  r$rvz4TestApproxDerivativeLinearOperator.jac_scalar_vector\rwr&c�~�tj|d|dz��tj|d��zSryrzras  r$r}z4TestApproxDerivativeLinearOperator.fun_vector_scalar`r~r&c	��tj|dtj|d|dz��ztj|d��ztj|d|dz��|dzz|dtj|d|dz��ztj|d��zg��Sr�r�ras  r$r�z4TestApproxDerivativeLinearOperator.jac_vector_scalarcr�r&c���tj|dtj|d��z|dtj|d��z|ddz|ddzzg��Sr�r�ras  r$r�z4TestApproxDerivativeLinearOperator.fun_vector_vectorjr�r&c��tjtj|d��|dtj|d��zg|dtj|d��ztj|d��gd|ddzz|ddzzd|ddzz|ddzzgg��Sr�r�ras  r$r�z4TestApproxDerivativeLinearOperator.jac_vector_vectorqr�r&c�X�d}t|j|dd���}t|j|d���}t|j|dd���}|�|��}tj�d��t
d��D]�}tj�d	dd
���}t|�	|��||zd�
��t|�	|��||zd�
��t|�	|��||zd�
����dS)Nr�r+T�r4�as_linear_operator�rPr,rr����r�r-r�r���h㈵��>)
rrcrhrrrr.�uniformr�dot�rBrCr�r�r�r�r0r�s        r$r�z5TestApproxDerivativeLinearOperator.test_scalar_scalarxse��
��&�t�'=�r�.7�:>�@�@�@�
�'�t�'=�r�:>�@�@�@�
�&�t�'=�r�.2�:>�@�@�@�
��)�)�"�-�-��
�	���q�����r���	'�	'�A��	�!�!�#�r��!�5�5�A��J�N�N�1�-�-�x��z�!%�
'�
'�
'�
'��J�N�N�1�-�-�x��z�!%�
'�
'�
'�
'��J�N�N�1�-�-�x��z�!%�
'�
'�
'�
'�
'�
	'�	'r&c���d}t|j|dd���}t|j|d���}t|j|dd���}|�tj|����}tj�d��td��D]�}tj�d	dd
���}t|�
|��|�
|��d�
��t|�
|��|�
|��d�
��t|�
|��|�
|��d�
����dS)Nr(r+TrOrQr,rrrRrSrTr�r�rU)rrnrvrr�rrr.rVrrWrXs        r$r�z5TestApproxDerivativeLinearOperator.test_scalar_vector�s���
��&�t�'=�r�.7�:>�@�@�@�
�'�t�'=�r�:>�@�@�@�
�&�t�'=�r�.2�:>�@�@�@�
��)�)�"�-��*;�*;�<�<��
�	���q�����r���	'�	'�A��	�!�!�#�r��!�5�5�A��J�N�N�1�-�-�x�|�|�A���!%�
'�
'�
'�
'��J�N�N�1�-�-�x�|�|�A���!%�
'�
'�
'�
'��J�N�N�1�-�-�x�|�|�A���!%�
'�
'�
'�
'�
'�
	'�	'r&c	�Z�tjddg��}t|j|dd���}t|j|d���}t|j|dd���}|�|��}tj�d��td	��D�]}tj�d
d	|j	���}t|�|��tj|�|����d�
��t|�|��tj|�|����d�
��t|�|��tj|�|����d�
����
dS)Nr�r�r+TrOrQr,rrrRrTr�r�rUr�)
rrrr}r�rrr.rV�shaperrWr�rXs        r$r�z5TestApproxDerivativeLinearOperator.test_vector_scalar�s���
�X�u�d�m�
$�
$��&�t�'=�r�.7�:>�@�@�@�
�'�t�'=�r�:>�@�@�@�
�&�t�'=�r�.2�:>�@�@�@�
��)�)�"�-�-��
�	���q�����r���	'�	'�A��	�!�!�#�r���!�9�9�A��J�N�N�1�-�-�r�}�X�\�\�!�_�_�/M�/M�!%�
'�
'�
'�
'��J�N�N�1�-�-�r�}�X�\�\�!�_�_�/M�/M�!%�
'�
'�
'�
'��J�N�N�1�-�-�r�}�X�\�\�!�_�_�/M�/M�!%�
'�
'�
'�
'�
'�
	'�	'r&c���tjddg��}t|j|dd���}t|j|d���}t|j|dd���}|�|��}tj�d��td	��D]�}tj�d
d	|j	���}t|�|��|�|��d�
��t|�|��|�|��d�
��t|�|��|�|��d�
����dS)Nr�r�r+TrOrQr,rrrRrTr�r�r�r�)rrrr�r�rrr.rVr[rrWrXs        r$r�z5TestApproxDerivativeLinearOperator.test_vector_vector�sn��
�X�v�s�m�
$�
$��&�t�'=�r�.7�:>�@�@�@�
�'�t�'=�r�:>�@�@�@�
�&�t�'=�r�.2�:>�@�@�@�
��)�)�"�-�-��
�	���q�����r���	K�	K�A��	�!�!�#�r���!�9�9�A��J�N�N�1�-�-�x�|�|�A���T�J�J�J�J��J�N�N�1�-�-�x�|�|�A���T�J�J�J�J��J�N�N�1�-�-�x�|�|�A���T�J�J�J�J�J�		K�	Kr&c	��tjddg��}ttt|j|ddtjf���dS)Nr�r�r+rr�)rrr�r�rr�r@)rBrCs  r$�test_exceptionz1TestApproxDerivativeLinearOperator.test_exception�sN��
�X�v�s�m�
$�
$���j�"3��,�b�&��2�6�{�	<�	<�	<�	<�	<�	<r&N)rWrXrYrcrhrnrvr}r�r�r�r�r�r�r�r^rZr&r$rErEQs�������������?�?�?�I�I�I�2�2�2����������'�'�'�*'�'�'�*'�'�'�*K�K�K�$<�<�<�<�<r&rEc�p�d�}t|ddgdd���}t|ddg��t|ddgdd���}t|ddg��t|ddgdddg���}t|ddg��t|ddgdddg���}t|ddg��t|ddgdddg���}t|ddg��t|ddgddtjdf�	��}t|ddg��t|ddgdddtjf�	��}t|ddg��dS)
Nc�z�tj|ddz��tj|ddz��zSry)rrOrs r$rz"test_absolute_step_sign.<locals>.f�s4����q��t�a�x� � � �2�6�!�A�$��(�#3�#3�3�3r&rLr+r�r�r�r�r�)r4r�r�)rrrr@)r�grads  r$�test_absolute_step_signrb�s���4�4�4��Q��R���T�J�J�J�D��D�4��+�&�&�&��Q��R���U�K�K�K�D��D�3��+�&�&�&��	�B��8�I��t�����D��D�4��+�&�&�&��	�B��8�I��u�
����D��D�4��,�'�'�'��	�B��8�I���
����D��D�3��*�%�%�%��	�B��8�I������}����D��D�3��+�&�&�&��	�B��8�I��r�2�6�l����D��D�4��+�&�&�&�&�&r&c���gd�}tjgd���}tjtj��j}|dz|dz|dzd�}tjd��}|D]�}||}tj||dz|dz|tj|d��zg��}t
d|||��}t||��|dk�t��dzd	z
}	t
d|||��}t||	|z����tjgd
���}tj|d|dz|d|ddz|dtj|d��zg��}t
|||d��}t||��|dk�t��dzd	z
}	t
|||d��}t||	|z��dS)Nr*)r�rrgj�@r(r)r�rrrr)rMrrr�r+)
rrr-r.r/rOrrr��float)
�methodsrCr2r3r�r4r��correct_stepr��sign_x0s
          r$�test__compute_absolute_steprhs��*�*�*�G�	��#�#�#�	$�	$�B�
�(�2�:�
�
�
"�C���8���:��3�h���M�

��#���B��:�:�� ��(���x��!)�B��!)�B��!)�B�F�2�a�5�M�M�!9�!;�<�<��
*�$��B��?�?����,�/�/�/��3�!�8�#�#�E�*�*�Q�.��2��)�$���R��@�@����'�L�"8�9�9�9�9��x�)�)�)�*�*�H��8�X�a�[�2�a�5�0�*�9�5�%�a�[�2�-�%�a�[�2�6�"�Q�%�=�=�8�:�;�;�L�
&�h��B�	�B�B�H��H�l�+�+�+��s�a�x����&�&��*�Q�.�G�%�h���R��C�C�H��H�g��4�5�5�5�5�5r&)r��	itertoolsr�numpyr�
numpy.testingrrr�pytestrr��scipy.sparserr	r
�scipy.optimize._numdiffrrr
rrrr%r5r7r\rrErbrhrZr&r$�<module>ros�����������������@�@�@�@�@�@�@�@�@�@�*�*�*�*�*�*�;�;�;�;�;�;�;�;�;�;�<�<�<�<�<�<�<�<�<�<�<�<�<�<�<�<�
%�%�%�8!
�!
�!
�HG9�G9�G9�G9�G9�G9�G9�G9�TZ�Z�Z�Z�Z�Z�Z�Z�z
X!�X!�X!�X!�X!�X!�X!�X!�v|<�|<�|<�|<�|<�|<�|<�|<�~2'�2'�2'�j(6�(6�(6�(6�(6r&

Youez - 2016 - github.com/yon3zu
LinuXploit