Ë
    0Ò^jc  ã                   ó:   — 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ê?gbsÑE]ä?)ç      ð?ç        r   r	   r	   )r   r	   gDÊÔW«¥ï?r	   gB¦|müš?)r   r	   gá·Ò¥ï?r	   gèý0Ÿ‡Ô”?g‘ÚÜ¥+´@g¡5sÑ´@g2ìa´@g`� Þ_´@)gF§Îýâ¿g¼Çî¢ ú?gœ¬¦ÂwÿQÀg’½þÌôb@gfæ¼�B@)g8‘‚µÛ¿g	MpB#ð?g‘öû8B92@gÄæŸ‡Pí?@g ¨µâª3À)gÊÀÿ8FÞ¿gÆŒíÇJî?gŸƒ…%ƒG‘¿g;S™9H@g€Ñô‚MG@)g4</­Þ¿g ŠdZ½Âî?g”c�4’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                  úr/var/www/ramen.bs-engineer-server.com/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ô 
‡{�{�1�bÔØˆØ‰Ü	�‰�Q˜Ô	ØˆØ‰Ü	�‰�Q˜Ô	ØˆØ‰Ü	�‰�Q˜Ô	ØˆØ‰äð!ó"ð 	"ô �G‰G�A‹JœŸ™ ›
Ð#Ð#ó    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    ÐcAgñhãˆµøä>é   é   )Ú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Ý%”—’¬2¯8©8€Iä
�'‰'˜˜¨°)Ô
<€CÜ�h‰h�q¤§
¡
Ô+€GÜ—‘˜¤§¡Ô,€Iä	�‰ò	ó
€Bô 	�‰�‹€Aä
�‰�œBŸJ™JÔ'€AÜ
�‰�œ"Ÿ*™*Ô%€Aä	�‰�!�A‘#�a‘%˜!˜A™#‘+  1¡ Q¡Ñ&¨¨1©Ñ,´B·J±JÔ	?€BÜ
�(‰(�1�Q‘3˜iÔ
(€CÜ�8‰8�A˜YÔ'€DÜ�h‰h�q 	Ô*€GÜ�H‰H�Q˜iÔ(€EÜ�H‰H�R˜yÔ)€EÜ�H‰H�RœrŸz™zÔ*€Eä˜“(ò IˆÜ�a‹y‰ˆˆ1ä�‰�q˜!˜W i°°a¸¸EÀ5È"Ø˜D %¨°°u¸gô	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/   € Ø�H‰H”R—Z‘ZÓ ˆÜ�v‰v�a˜‘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   € ò#ô Ð'¬B¯H©H°b¸"°XÓ,>ÀDØ$ô&€Cä‡J�J×Ñ˜sŸw™w¨°ÐÕ7r    )
Únumpyr
   Úscipy.linalg.lapackr   Úscipy.optimizer   r   r   rJ   rX   © r    r   ú<module>r]      s    ðÛ Ý )ß ,ò=$ò@+Ió\	8r    