
    >qjc                     :    d dl Zd dlmZ d dlmZmZ d Zd Zd Z	y)    N)	HAS_ILP64)_lbfgsbminimizec                 ,   g d}g d}g d}g d}d}d}d}d}t        j                  g d	      }	t        j                  g d
      }
t        j                  g d      }t        j                  g d      }t        j                  | |      r|}|	}n\t        j                  | |      r|}|
}nAt        j                  | |      r|}|}n&t        j                  | |      r|}|}nt        d      t        j                  |      t        j                  |      fS )z8simplified objective func to test lbfgsb bound violationg     ?g     ?gleffff?g%I$I?gbsE]?)      ?        r   r	   r	   )r   r	   gDW?r	   gB|m?)r   r	   gҥ?r	   g0Ԕ?gܥ+@g5s@g2a@g`_@)gFg ?gwQgb@gf漍B@)g8ۿg	MpB#?g8B92@g柇P?@g 3)g8F޿gƌJ?g%Gg;S9H@gMG@)g4</޿g dZ?gc4y?g(,7H@g @z<Simplified objective function not defined at requested point)nparrayallclose
ValueErrorcopy)xx0x1x2x3f0f1f2f3g0g1g2g3fgs                  f/opt/rentech/trading_bot/.venv/lib/python3.12/site-packages/scipy/optimize/tests/test_lbfgsb_setulb.pyobjfunr      s   
B
 
#B
 B

 B 
B	B	B	B	 & 
'B
 
 ( 
)B
 
 & 
'B
 
 & 
'B 
{{1b	Q		Q		Q	!" 	" GGAJ
##    c                     d} d}d}d}d}t         rt        j                  nt        j                  }t        j                  | fd|      }t        j
                  | t        j                        }t        j                  | t        j                        }t        j                  g d	      }	t        j                  |	      }
t        j                  d
t        j                        }t        j
                  | t        j                        }t        j
                  d|z  | z  d| z  z   d|z  |z  z   d|z  z   t        j                        }t        j
                  d| z  |      }t        j
                  d|      }t        j
                  d|      }t        j
                  d|      }t        j
                  d|      }t        j
                  dt        j                        }t        d      D ]b  }t        |
      \  }}t        j                  ||
|||||||||||||||       |
|k  j                         r|
|k\  j                         r]J d        y)zdtest if setulb() violates bounds

    checks for violation due to floating point rounding error
       
   g    cAgh㈵>      )shape
fill_valuedtype)r(   r   r	               ,         z9_lbfgsb.setulb() stepped to a point outside of the boundsN)r   r
   int64int32fullzerosfloat64onesr   r   ranger   r   setulball)nmfactrpgtolmaxls	int_dtypenbdlow_bnd	upper_bndr   r   r   r   waiwataskln_tasklsaveisavedsaven_iters                        r   test_setulb_floatroundrJ   F   s    	
A
AEEE%288I
'')
<Chhq

+G,I		
B 	A
BJJ'A
"**%A	!A#a%!A#+1Q&1,BJJ	?B
((1Q3i
(C88AY'Dhhq	*GHHQi(EHHRy)EHHRrzz*E( Iay1q!WiaE5"D%ug	G Y##%1<*<*<*> 	IG	I>Ir    c                      d } t        | t        j                  ddg      dd      }t        j                  j	                  |j
                  dd       y )	Nc                 z    | j                  t        j                        } t        j                  | dz        d| z  fS )Nr%   )astyper
   float32sum)r   s    r   fun_single_precisionz0test_gh_issue18730.<locals>.fun_single_precisionw   s/    HHRZZ vvad|ac""r    r   Tzl-bfgs-b)r   jacmethodr	   gV瞯<)atol)r   r
   r   testingassert_allclosefun)rP   ress     r   test_gh_issue18730rX   t   sG    # 'BHHb"X,>D$&CJJsww7r    )
numpyr
   scipy.linalg.lapackr   scipy.optimizer   r   r   rJ   rX    r    r   <module>r]      s      ) ,=$@+I\	8r    