
     hS                     b    d dl Z d dlZd dlZd dlmZmZmZ d dlm	Z	m
Z
  G d d          Zd ZdS )    N)assert_allcloseassert_assert_array_equal)fmin_cobylaminimizec                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	
TestCobylac                 f    ddg| _         t          j        d          dg| _        ddddd	| _        d S )
Ng@gQ?g888@gUUUUUU?F   h㈵>d   )disprhobegtolmaxiter)x0mathsqrtsolutionoptsselfs    \/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/scipy/optimize/tests/test_cobyla.pysetup_methodzTestCobyla.setup_method   s?    ,?33U;"a #% %			    c                 J    |d         dz  t          |d                   dz  z   S )Nr      r      )absr   xs     r   funzTestCobyla.fun   s#    tQwQqTA%%r   c                 6    |d         dz  |d         dz  z   dz
  S )Nr   r   r       r    s     r   con1zTestCobyla.con1   s"    tQw1q 2%%r   c                 .    |                      |           S N)r&   r    s     r   con2zTestCobyla.con2   s    		!}r   c           	          t          | j        | j        | j        | j        gdddd          }t          || j        d           d S )Nr   r   r   T)r   rhoendmaxfunr   -C6?atol)r   r"   r   r&   r)   r   r   r    s     r   test_simplezTestCobyla.test_simple   sO    $'DIty+A!#Cd< < <4=t444444r   c                 N    G d d          } |            }d| j         dd| j        df}t          | j        | j        d||| j                  }t          |j        | j        d           t          |j
        |j                   t          |j        d	k     |           t          |j        d
k     |           t          |j        |                     | j                  dz   k     |           t          |j        |j        k    d           t          |j        |j        d           d S )Nc                       e Zd Zd Zd ZdS )1TestCobyla.test_minimize_simple.<locals>.Callbackc                 "    d| _         d | _        d S )Nr   n_callslast_xr   s    r   __init__z:TestCobyla.test_minimize_simple.<locals>.Callback.__init__"   s     "r   c                 4    | xj         dz  c_         || _        d S Nr   r5   r    s     r   __call__z:TestCobyla.test_minimize_simple.<locals>.Callback.__call__&   s    !r   N)__name__
__module____qualname__r8   r;   r%   r   r   Callbackr3   !   s2        # # #         r   r?   ineqtyper"   cobyla)methodconstraintscallbackoptionsr-   r.   r   F   gMbP?z<Callback is not called exactly once for every function eval.zGLast design vector sent to the callback is not equal to returned value.)r&   r)   r   r"   r   r   r   r!   r   r   successmessagemaxcvnfevr6   r   r7   )r   r?   rF   conssols        r   test_minimize_simplezTestCobyla.test_minimize_simple    sU   	  	  	  	  	  	  	  	  8::  	22	224txt ($)= = =t}48888S[)))	D #&&&2s###$((4=11D88#>>>H,,N	P 	P 	P35(/d	f 	f 	f 	f 	fr   c           	      0  	
 t           j                            d           t           j                            dd          
t           j                            d          
fd	fd}	fd}	fd}	fd}d|d	d|d	d|d	f}t          j        d
          }d}t          j        t          |          5  t          ||d|ddi          }t          |j
        dk               t          |j                    d d d            d S # 1 swxY w Y   d S )Ni  
   c                 .                         |           S r(   )dot)wpbs    r   pz8TestCobyla.test_minimize_constraint_violation.<locals>.p@   s    66!99r   c                 4    | z                                    S r(   )sum)rT   spreads    r   fz8TestCobyla.test_minimize_constraint_violation.<locals>.fC   s    Z$$&&&&r   c                 ^    dt           |                                                     z
  S )Ni  r   rX   rT   rV   s    r   c1z9TestCobyla.test_minimize_constraint_violation.<locals>.c1F   s$    QQqTT((r   c                 ^    dt           |                                                     z
  S N   r\   r]   s    r   c2z9TestCobyla.test_minimize_constraint_violation.<locals>.c2I   s$    s11Q4488::&&r   c                 ^    dt           |                                                     z
  S r`   )r   maxr]   s    r   c3z9TestCobyla.test_minimize_constraint_violation.<locals>.c3L   s$    s11Q44yy}}&&r   r@   rA   )rQ   r   z4Use of `minimize` with `x0.ndim != 1` is deprecated.)matchrC   catolgư>)rD   rE   rG   )nprandomseedrandzerospytestwarnsDeprecationWarningr   r   rK   rI   )r   rZ   r^   rb   re   rM   w0rJ   rN   rV   rU   rY   s            @@@r   "test_minimize_constraint_violationz-TestCobyla.test_minimize_constraint_violation;   s   
	tY^^B####	 	 	 	 		' 	' 	' 	' 	'	) 	) 	) 	) 	)	' 	' 	' 	' 	'	' 	' 	' 	' 	'  ++++++- XgH\,G<<< 	% 	%1bt$+T?4 4 4CCI$%%%O$$$		% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   :ADDDN)
r<   r=   r>   r   r"   r&   r)   r0   rO   rq   r%   r   r   r	   r	   
   s        % % %& & && & &  5 5 5f f f6% % % % %r   r	   c                  8  	 d 		fd} d }d }t          j        ddg          }	||g}ddg}d	}t          	||d
          }t          ||d           t          	|| d
          }t           	|          dd           d |D             }t	          	||d
          }t          |j        |d           t          |j        |j                   t          |j	        |d           d| d}t	          	||d
          }t          |j	        dd           d S )Nc                 <    | d         dz
  dz  | d         dz
  dz  z   S )Nr   r   r   g      @r%   r!   s    r   r"   z$test_vector_constraints.<locals>.fun^   s%    !q1}!s
Q..r   c                       |           dz
  S r:   r%   )r!   r"   s    r   fminz%test_vector_constraints.<locals>.fmina   s    s1vvzr   c                      t          j        g dg dg dg          t          j         fdt          t                              D                       S )N)r   r   )rx      )ry   r   r   c                 t    g | ]4}|d f         d          z  |df         d         z  z   |df         z   5S )r   r   r   r%   ).0iar!   s     r   
<listcomp>z:test_vector_constraints.<locals>.cons1.<locals>.<listcomp>f   s^     9 9 9%& 1a41Q4!AqD'AaD.81a4! 9 9 9r   )rh   arrayrangelen)r!   r~   s   `@r   cons1z&test_vector_constraints.<locals>.cons1d   sq    Hjjj+++zzz:;;x 9 9 9 9 9*/A--9 9 9 : : 	:r   c                     | S r(   r%   rt   s    r   cons2z&test_vector_constraints.<locals>.cons2i   s    r   r   r   gffffff?g333333?g?r   )r+   r-   r.   r   c                     g | ]}d |dS )r@   rA   r%   )r|   rM   s     r   r   z+test_vector_constraints.<locals>.<listcomp>z   s     GGGTF400GGGr   )rE   r   r@   rA   )
rh   r   r   r   r   r!   r   rI   rJ   r"   )
rv   r   r   r   	cons_listxsolfsolrN   rE   r"   s
            @r   test_vector_constraintsr   [   s   / / /    : : :
   
1a&		BeU#I:DD c2y
6
6
6CCD))))
c2tD
1
1
1CCCHHad++++ HGYGGGK
3
>
>
>CCE4d++++CK%%%CGT----!$//K
3
>
>
>CCGQT******r   )r   numpyrh   rm   numpy.testingr   r   r   scipy.optimizer   r   r	   r   r%   r   r   <module>r      s          F F F F F F F F F F 0 0 0 0 0 0 0 0N% N% N% N% N% N% N% N%b'+ '+ '+ '+ '+r   