
    !gk              
       r   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j2                  j4                  d        Zd Zd Zej2                  j=                  ed      d        Zej2                  j=                  ed      d        Z y)    )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    a/var/www/dash_apps/app1/venv/lib/python3.12/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                 0    | 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                       y)N)r   Nr+   r   r   r    r   dummy_boundsr,   /   s    !r    c                       y)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                 $    | 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                 &    | 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                 &    | 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(  r0t
        r*t	        |j                  dk(  xr |j                  d	k(         t	        t        |      d	k(          y )
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 !	MD' !!MD' 	4 X(DJJ"$7a8CIN#;$r    c                 z   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(  r0t
        r*t	        |j                  dk(  xr |j                  d
k(         t	        t        |      d
k(          y )Nr   r>   r   Tr   r?   rC   	convergedr   r(   rD   rI   s        r   test_full_outputrR   h   s      $ X  	MD' ! MD' 	t#$w&'X(DJJ"$7a8CIN#A $r    c            
          t         d   }  | t        d dddt               t               dd dd      \  }}t	        |d	d
gd       y )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[      sV    Z D$
!"n,.	

 GD! sCj!,r    z%Powell bounds support added in SP 1.5)reasonc            
      x    t         d   }  | t        d dddt               dd dd      \  }}t        |d	d
gd       y )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$
"(*	
 GD! q#h*r    z!NM bounds support added in SP 1.7c            
      x    t         d   }  | t        d dddt               dd dd      \  }}t        |d	d
gd       y )Nr   r^   r   zNelder-Meadra   Fr   r?   r   r.   rX   rb   rY   s      r   test_minimize_scipy_nmre      sQ    Z 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  ! -
 
 
 

%
	/"$ $$ $$N!$H-& H%LM+ N+$ H%HI+ J+r    