
    Vfd              
       n   d dl mZmZ d dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
mZmZmZmZmZmZ ee	e
eeeeeed	Zd Zd Zd	 Zd
 Zd Zd Zd Zej        j        d             Zd Zd Zej                            ed          d             Zej                            ed          d             Z dS )    )SP_LT_15SP_LT_17N)assert_)assert_almost_equal)	_fit_newton_fit_nm	_fit_bfgs_fit_cg_fit_ncg_fit_powell
_fit_lbfgs_fit_basinhopping_fit_minimize)	newtonnmbfgscgncgpowelllbfgsbasinhoppingminimizec                     | dz  S )N    xs    Dlib/python3.11/site-packages/statsmodels/base/tests/test_optimize.py
dummy_funcr      s    6M    c                     d| z  S Ng       @r   r   s    r   dummy_scorer#   #   s    7Nr    c                 
    dggS r"   r   r   s    r   
dummy_hessr%   '   s    E7Nr    c                 <    | d         dz
  dz  | d         dz
  dz  z   S )Nr      r   g      @r   r   s    r   dummy_bounds_constraint_funcr(   +   s&    aD1H?adSjQ...r    c                      dS )N)r   Nr*   r   r   r    r   dummy_boundsr+   /   s    !!r    c                      dS )N))r   N)      @Nr   r   r    r   dummy_bounds_tightr.   3   s    ##r    c                  (    dd ddd ddd df} | S )Nineqc                 0    | d         d| d         z  z
  dz   S Nr   r   r'   r   r   s    r   <lambda>z#dummy_constraints.<locals>.<lambda>9   s    !A$QqT/A*= r    )typefunc                 2    | d          d| d         z  z
  dz   S )Nr   r   r'      r   r   s    r   r3   z#dummy_constraints.<locals>.<lambda>:       1Q4%!ad(*:Q*> r    c                 2    | d          d| d         z  z   dz   S r2   r   r   s    r   r3   z#dummy_constraints.<locals>.<lambda>;   r8   r    r   )conss    r   dummy_constraintsr;   7   s=     = =>> > >?? > >??D
 Kr    c                    t           D ]}t           |         }|dk    r' |t          t          dgdi t          dd          \  }}n  |t          t          dgdi dd          \  }}t	          |d u            |dk    r+t
          r$t	          |j        dk    o
|j        dk               t	          t          |          dk               d S )	Nr   r'   r   Fr   hessfull_outputdispr?   r@   r   		fit_funcsr   r#   r%   r   r   shapesizelenreset_randomstatemethodfuncxoptretvalss        r   test_full_output_falserM   @   s      $ $ X D!	 	 	MD'' !DK!b"%a  MD' 	4   X(DJ"$7a8888CIIN####/$ $r    c                    t           D ]}t           |         }|dk    r' |t          t          dgdi t          dd          \  }}n  |t          t          dgdi dd          \  }}t	          |d u           t	          d|v            |d	k    r+t
          r$t	          |j        dk    o
|j        dk               t	          t          |          dk               d S )
Nr   r'   r   Tr   r=   rA   	convergedr   rB   rG   s        r   test_full_outputrP   b   s	    $ $ X D 	 	 	MD'' !DK!b"$Q  MD' 	t#$$$w&'''X(DJ"$7a8888CIIN####5$ $r    c            
          t           d         }  | t          d dddt                      t                      dd dd          \  }}t	          |d	d
gd           d S )Nr   )r   r   r   SLSQP)
min_methodboundsconstraintsFr   r=   gffffff?g333333?   )rC   r(   r+   r;   r   rJ   rK   _s      r   test_minimize_scipy_slsqprY      sx    Z Dd$
!"nn,..	
 	

   GD! sCj!,,,,,r    z%Powell bounds support added in SP 1.5)reasonc            
          t           d         }  | t          d dddt                      dd dd          \  }}t          |d	d
gd           d S )Nr      g      @r   PowellrS   rT   Fr   r=   r   r-   rV   rC   r(   r.   r   rW   s      r   test_minimize_scipy_powellra      sq    Z Dd$
"(**	
 	
   GD! q#h*****r    z!NM bounds support added in SP 1.7c            
          t           d         }  | t          d dddt                      dd dd          \  }}t          |d	d
gd           d S )Nr   r\   r   zNelder-Meadr_   Fr   r=   r   r-   rV   r`   rW   s      r   test_minimize_scipy_nmrc      sq    Z Dd$
'(**	
 	
   GD! q#h*****r    )!statsmodels.compat.scipyr   r   pytestnumpy.testingr   r   statsmodels.base.optimizerr   r   r	   r
   r   r   r   r   r   rC   r   r#   r%   r(   r+   r.   r;   marksmokerM   rP   rY   skipifra   rc   r   r    r   <module>rk      s   7 7 7 7 7 7 7 7  ! ! ! ! ! ! - - - - - -
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

%
 
	      / / /" " "$ $ $   $ $ $B$ $ $<- - -& H%LMM+ + NM+$ H%HII+ + JI+ + +r    