
    Bpjc                     :    S SK rS SKJr  S SKJrJr  S rS rS r	g)    N)	HAS_ILP64)_lbfgsbminimizec                 `   / SQn/ SQn/ SQn/ SQnSnSnSnSn[         R                  " / S	Q5      n	[         R                  " / S
Q5      n
[         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " X5      (       a  UnU	nOk[         R                  " X5      (       a  UnU
nOK[         R                  " X5      (       a  UnUnO+[         R                  " X5      (       a  UnUnO[        S5      e[         R                  " U5      [         R                  " U5      4$ )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                  c/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/scipy/optimize/tests/test_lbfgsb_setulb.pyobjfunr      s   
B
 
#B
 B

 B 
B	B	B	B	 & 
'B
 
 ( 
)B
 
 & 
'B
 
 & 
'B 
{{1	Q			Q			Q		!" 	" GGAJ
##    c                     Sn SnSnSnSn[         (       a  [        R                  O[        R                  n[        R                  " U 4SUS9n[        R
                  " U [        R                  S9n[        R                  " U [        R                  S9n[        R                  " / S	Q5      n	[        R                  " U	5      n
[        R                  " S
[        R                  S9n[        R
                  " U [        R                  S9n[        R
                  " SU-  U -  SU -  -   SU-  U-  -   SU-  -   [        R                  S9n[        R
                  " SU -  US9n[        R
                  " SUS9n[        R
                  " SUS9n[        R
                  " SUS9n[        R
                  " SUS9n[        R
                  " S[        R                  S9n[        S5       He  n[        U
5      u  p[        R                  " XXxXkXX=XUUUUU5        X:*  R                  5       (       a  X:  R                  5       (       a  M`   S5       e   g)z\test 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%I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(ayqW5%ug	G ##%%1<*<*<*>*> 	IG	I> r    c                      S n [        U [        R                  " SS/5      SSS9n[        R                  R	                  UR
                  SSS9  g )	Nc                 |    U R                  [        R                  5      n [        R                  " U S-  5      SU -  4$ )Nr%   )astyper
   float32sum)r   s    r   fun_single_precision0test_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_issue18730rY   t   sG    # 'BHHb"X,>D$&CJJsww7r    )
numpyr
   scipy.linalg.lapackr   scipy.optimizer   r   r   rJ   rY    r    r   <module>r^      s      ) ,=$@+I\	8r    