
    M/Phk              
       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    d/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/base/tests/test_optimize.py
dummy_funcr      s    6M    c                     d| z  S N       @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   r4   z#dummy_constraints.<locals>.<lambda>:       1Q4%!ad(*:Q*> r    c                 2    | d          d| d         z  z   dz   S r3   r   r   s    r   r4   z#dummy_constraints.<locals>.<lambda>;   r9   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   Fr   hessfull_outputdisprA   rB   r   r(   		fit_funcsr   r$   r&   r   r   shapesizelenreset_randomstatemethodfuncxoptretvalss        r   test_full_output_falserO   @   s      $ $ X D!	 	 	MD'' !D!  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?   rC   	convergedr   r(   rD   rI   s        r   test_full_outputrR   h   s     $  $ X D 	 	 	MD'' !D   MD' 	t#$$$w&'''X(DJ"$7a8888CIIN####A $  $r    c            
          t           d         }  | t          d dddt                      t                      dd dd          \  }}t	          |d	d
gd           d S )Nr   )r#   g        r   SLSQP)
min_methodboundsconstraintsFr   r?   gffffff?g333333?   )rE   r)   r,   r<   r   rL   rM   _s      r   test_minimize_scipy_slsqpr[      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rU   rV   Fr   r?   r   r.   rX   rE   r)   r/   r   rY   s      r   test_minimize_scipy_powellrc      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-Meadra   Fr   r?   r   r.   rX   rb   rY   s      r   test_minimize_scipy_nmre      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   rE   r   r$   r&   r)   r,   r/   r<   marksmokerO   rR   r[   skipifrc   re   r   r    r   <module>rm      s   7 7 7 7 7 7 7 7  ! ! ! ! ! ! - - - - - -
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

%
 
	      / / /" " "$ $ $   $$ $$ $$N!$ !$ !$H- - -& H%LMM+ + NM+$ H%HII+ + JI+ + +r    