
     h5
                     P    d Z ddlmZ ddlmZ ddlZddlm	Z	  G d d          Z
dS )z5
Unit tests for optimization routines from _root.py.
    )assert_)raisesNrootc                   &    e Zd Zd Zd Zd Zd ZdS )TestRootc           	         d }d }dD ]}|dv r|dv r|}nd }t          |ddg|d|          }t          |ddg|d	|          }|d
 ||j                  d ||j                  }t          |j        |           t          |j        |           t          t	           ||j                                                            t	           ||j                                                            k     |           d S )Nc                 P    | \  }}t          j        |dz  dz
  |dz  dz
  g          S N      nparrayzxys      [/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/scipy/optimize/tests/test__root.pyfuncz)TestRoot.test_tol_parameter.<locals>.func   0    DAq8QTAXq!tax0111    c                 X    | \  }}t          j        d|dz  z  dgdd|dz  z  gg          S )Nr      r   r   r   s      r   dfuncz*TestRoot.test_tol_parameter.<locals>.dfunc   s8    DAq8a1fa[1a1f+6777r   )hybrlmbroyden1broyden2andersondiagbroydenkrylov)linearmixingexcitingmixing)r   r   皙?g-C6?)jactolmethod      ?z: z vs. )r   r   r   successabsmax)selfr   r   r(   r&   sol1sol2msgs           r   test_tol_parameterzTestRoot.test_tol_parameter   sD   	2 	2 	2	8 	8 	80 	 	F;;;''s3iSd6JJJDs3iSc&IIID%+VVTT$&\\\\44<<<HCDL#&&&DL#&&&CTV%%))++c$$tv,,.?.?.C.C.E.EE   !	 	r   c                 x    d }dD ]3}t          t          j        t          j        d          |d|i           4d S )Nc                 ,    t          | d                   S Nr   )r+   )r   s    r   normz$TestRoot.test_tol_norm.<locals>.norm+   s    qt99r   )r$   r!   r#   r    r   r   r"   r   tol_norm)r(   options)r   r   
zeros_likezeros)r-   r5   r(   s      r   test_tol_normzTestRoot.test_tol_norm)   sb    	 	 	! 		, 		,F F#T*, , , , ,		, 		,r   c                 6    dd}t          |ddgd           d S )Nr   c                 P    | \  }}t          j        |dz  dz
  |dz  |z
  g          S r   r   )r   fr   r   s       r   r   z=TestRoot.test_minimize_scalar_coerce_args_param.<locals>.func;   r   r   r%   g      ?)args)r   r   )r-   r   s     r   &test_minimize_scalar_coerce_args_paramz/TestRoot.test_minimize_scalar_coerce_args_param9   s7    	2 	2 	2 	2 	TC:C((((((r   c                      G d d          } |            }t          t                    5  t          |ddgd           d d d            d S # 1 swxY w Y   d S )Nc                       e Zd Zd Zd ZdS )!TestRoot.test_f_size.<locals>.func                     d| _         d S r4   count)r-   s    r   __init__z*TestRoot.test_f_size.<locals>.fun.__init__E   s    


r   c                    | xj         dz  c_         | j         dz  s$|d         d|d         |d         z
  dz  z  z   dz
  }nC|d         d|d         |d         z
  dz  z  z   dz
  d|d         |d         z
  dz  z  |d         z   g}|S )Nr      r   r)   r   g      ?rD   )r-   r   rets      r   __call__z*TestRoot.test_f_size.<locals>.fun.__call__H   s    

a


Q =A$!qt'9!99C?CCaD3!A$1+!);#;;cA!A$1+!!33ad:<C 
r   N)__name__
__module____qualname__rF   rJ    r   r   funrB   D   s2          	 	 	 	 	r   rO   g?g        r   )r(   )assert_raises
ValueErrorr   )r-   rO   Fs      r   test_f_sizezTestRoot.test_f_size@   s    	 	 	 	 	 	 	 	 CEE:&& 	- 	-S#Jt,,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s   AAAN)rK   rL   rM   r1   r:   r?   rS   rN   r   r   r   r      sP          :, , , ) ) )- - - - -r   r   )__doc__numpy.testingr   pytestr   rP   numpyr   scipy.optimizer   r   rN   r   r   <module>rY      s     " ! ! ! ! ! * * * * * *          J- J- J- J- J- J- J- J- J- J-r   