Ë
    çÿæiW/ ã                   ót	  — d Z ddlZddlZddlZddlZddlZddlZddlZddlZ	ddl
mZmZmZmZmZ ddlZddlmZ ddlZddlmZ ddlmZ ddlmZmZ ddlmZmZmZ dd	lmZ dd
lm Z  ddl!m"Z" ddl#m$Z$ ddl%m&Z&m'Z' ddl(m)Z)m*Z*m+Z+m,Z, ddl-m.Z.m/Z/m0Z0 ddl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 ddl8m9Z9 ddl:m;Z; ddl<m=Z= egZ>d„ Z? G d„ d«      Z@ G d„ de@«      ZAd„ ZBd„ ZCd„ ZDd„ ZEd„ ZFd„ ZGd„ ZHd „ ZId!„ ZJd"„ ZK G d#„ d$eA«      ZL G d%„ d&eA«      ZM G d'„ d(eA«      ZN G d)„ d*eA«      ZO G d+„ d,e@«      ZPej¢                  j¥                  d-g d.¢«      d/„ «       ZS G d0„ d1«      ZT G d2„ d3«      ZU G d4„ d5«      ZVd6„ ZW G d7„ d8«      ZXd9„ ZYd:„ ZZd;„ Z[d<„ Z\d=„ Z] G d>„ d?«      Z^d@„ Z_dA„ Z`dB„ ZadCdDgZbdEdFgZcdGZddH„ Ze G dI„ dJ«      ZfdK„ ZgdL„ ZhdM„ ZidN„ Zj G dO„ dP«      Zkej¢                  jÙ                  dQ«      dR„ «       Zm G dS„ dT«      ZndU„ Zo G dV„ dW«      Zpejâ                  dX„ «       ZrdY„ ZsdZ„ Ztd[„ Zud\„ Zvd]„ Zw ew«       Zxej¢                  jó                  d^«      ej¢                  jõ                   ejö                  d_¬`«      da   db   dc   ddk(  d^¬e«      ej¢                  j¥                  d-exdf   «      ej¢                  j¥                  dgexdg   «      ej¢                  j¥                  dhexdi   «      ej¢                  j¥                  djexdj   «      ej¢                  j¥                  dkexdl   «      dm„ «       «       «       «       «       «       «       Z|ej¢                  j¥                  d-exdf   «      dn„ «       Z}do„ Z~dp„ Zdq„ Z€ej¢                  j¥                  d-dr«      ds„ «       Z�dt„ Z‚ G du„ dv«      Zƒdw„ Z„dx„ Z…dy„ Z†ej¢                  j¥                  d-dzd{g«      ej¢                  j¥                  d|e2e3e4e5e6e7g«      d}„ «       «       Z‡ej¢                  j¥                  d~ddFg«      ej¢                  j¥                  d-g d¢«       G d€„ d�«      «       «       Zˆe�j                  d‚k  r	ddƒlŠm‹Z‹ e‹ZŒnddlŠZŠeŠ�j                  reŠ�j                  ZŒd„eŒd…eŽfd†„Z�d„eŒd…eŒfd‡„Z�d„eŒd…eŒfdˆ„Z‘d‰eŒd…dfdŠ„Z’ej¢                  �j'                  e�j                  d‚k  d‹¬e«       G dŒ„ d�«      «       Z”dŽ„ Z•y)�zx
Unit tests for optimization routines from optimize.py

Authors:
   Ed Schofield, Nov 2005
   Andrew Straw, April 2008

é    N)Úassert_allcloseÚassert_equalÚassert_almost_equalÚassert_no_warningsÚassert_array_less)Úraises)Úassert_deallocated)Úoptimize)ÚBoundsÚNonlinearConstraint)ÚMINIMIZE_METHODSÚMINIMIZE_METHODS_NEW_CBÚMINIMIZE_SCALAR_METHODS)ÚLINPROG_METHODS)ÚROOT_METHODS)ÚROOT_SCALAR_METHODS)ÚQUADRATIC_ASSIGNMENT_METHODS)ÚScalarFunctionÚ
FD_METHODS)Ú
MemoizeJacÚshow_optionsÚOptimizeResultÚ_minimize_bfgs)ÚrosenÚ	rosen_derÚ
rosen_hess)Ú
coo_matrixÚ
csc_matrixÚ
csr_matrixÚ	coo_arrayÚ	csr_arrayÚ	csc_array)Úxp_assert_equal)Úmake_xp_test_case)Ú
MapWrapperc            
      óB  — d„ } d„ }t        j                  dg«      }t        j                  | ||«      }t	        |d«       t        j                  | ||dd¬«      }t	        |d«       t        j                  | ||d¬	«      }t	        |d«       t        j                  | ||ddd¬
«      }t	        |d«       t        t        j                  | ||d¬	«      dz
  «      }|dkD  sJ ‚t        t        j                  | ||ddd¬
«      dz
  «      }|dkD  sJ ‚d„ }d„ }t        j                  ddd«      }t        j                  |||dd¬«      }t	        |d«       t        t        t        j                  |||dd¬«       t        j                  t        t        t        dd¬«      }|dk  sJ ‚y )Nc                 ó:   — ddt        j                  |  «      z   z  S ©Né   ©ÚnpÚexp©Úxs    úw/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/scipy/optimize/tests/test_optimize.pyÚexpitztest_check_grad.<locals>.expit7   s   € Ø�AœŸ™ ˜r›
‘NÑ#Ð#ó    c                 óh   — t        j                  |  «      dt        j                  |  «      z   dz  z  S ©Nr)   é   r*   r-   s    r/   Ú	der_expitz"test_check_grad.<locals>.der_expit:   s*   € Ü�v‰v�q�b‹z˜Q¤§¡¨¨£™^¨aÑ/Ñ/Ð/r1   ç      ø?r   ÚrandoméÒ  )Ú	directionÚseedç�íµ ÷Æ°>)Úepsilon)r<   r9   Úrngçš™™™™™¹?çH¯¼šò×z>c                 óN   — | t        j                  | «      z  j                  «       S ©N)r+   ÚsinÚsumr-   s    r/   Úx_sinxztest_check_grad.<locals>.x_sinxS   s   € Ø”"—&‘&˜“)‘× Ñ Ó"Ð"r1   c                 ó^   — t        j                  | «      | t        j                  | «      z  z   S rA   ©r+   rB   Úcosr-   s    r/   Ú
der_x_sinxz#test_check_grad.<locals>.der_x_sinxV   s!   € Ü�v‰v�a‹y˜1œRŸV™V A›Y™;Ñ&Ð&r1   r4   çš™™™™™É?)r9   r=   Úrandom_projectionÚallg�íµ ÷Æ >)r+   Úarrayr
   Ú
check_gradr   ÚabsÚarangeÚassert_raisesÚ
ValueErrorÚhimmelblau_gradÚhimmelblau_hessÚhimmelblau_x0)r0   r5   Úx0ÚrrD   rH   s         r/   Útest_check_gradrW   3   s–  € ò$ò0ô 
�‰�3�%‹€Bä×Ñ˜E 9¨bÓ1€AÜ˜˜1Ôä×Ñ˜E 9¨bØ&.°Tô	;€Aä˜˜1Ôä×Ñ˜E 9¨b¸$Ô?€AÜ˜˜1ÔÜ×Ñ˜E 9¨b¸$Ø&.°Dô	:€Aä˜˜1Ôô 	ŒH×Ñ  y°"¸dÔCÀaÑGÓH€AØˆtŠ8€Oˆ8ÜŒH×Ñ  y°"¸dØ*2¸ô>Ø@AñBó 	C€AàˆtŠ8€Oˆ8ò#ò'ô 
�‰�1�a˜Ó	€Bä×Ñ˜F J°Ø&.°Dô	:€Aä˜˜1Ôä”*œh×1Ñ1Ø˜* bØ/°Tõ;ô
 	×ÑœO¬_¼mØ&+°ô	7€AàˆtŠ8€O‰8r1   c                   ó.   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚCheckOptimizezÂ Base test case for a simple constrained entropy maximization problem
    (the machine translation example of Berger et al in
    Computational Linguistics, vol 22, num 1, pp 39--72, 1996.)
    c                 ó¼  — t        j                  g d¢g d¢g d¢g d¢g d¢g«      | _        t        j                  g d¢«      | _        t        j                  dt         j
                  «      | _        t        j                  g d¢«      | _        d| _        t        j                  «       | _        t        j                  «       | _        t        j                  «       | _        y )	N©r)   r)   r)   )r)   r)   r   )r)   r   r)   )r)   r   r   )ç      ð?ç333333Ó?ç      à?é   )ç        g¾š\¼ºËà¿g¢ß)ªŸ3ß?éè  )r+   rL   ÚFÚKÚzerosÚfloat64ÚstartparamsÚsolutionÚmaxiterÚ	threadingÚlocalÚ	funccallsÚ	gradcallsÚtrace©Úselfs    r/   Úsetup_methodzCheckOptimize.setup_methodo   s�   € Ü—‘š9Ú$Ú$Ú$Ú$ð	&ó 'ˆŒô
 —‘š.Ó)ˆŒÜŸ8™8 A¤r§z¡zÓ2ˆÔÜŸ™Ò!@ÓAˆŒØˆŒÜ"Ÿ™Ó*ˆŒÜ"Ÿ™Ó*ˆŒÜ—_‘_Ó&ˆ�
r1   c                 óÎ  — t        | j                  d«      sd| j                  _        t        | j                  d«      sd| j                  _        | j                  xj                  dz  c_        | j                  j                  dkD  rt	        d«      ‚t        j                  | j                  |«      }t        j                  t        t        j                  |«      «      «      }|t        j                  | j                  |«      z
  }t        | j                  d«      sg | j                  _        | j                  j                  j                  t        j                  |«      «       |S )NÚcr   r)   ip  z+too many iterations in optimization routineÚt)Úhasattrrk   rr   rl   ÚRuntimeErrorr+   Údotrb   ÚlogrC   r,   rc   rm   rs   ÚappendÚcopy)ro   r.   Úlog_pdotÚlogZÚfs        r/   ÚfunczCheckOptimize.func}   sî   € Ü�t—~‘~ sÔ+Ø ˆD�N‰NÔä�t—~‘~ sÔ+Ø ˆD�N‰NÔà�‰×Ò˜AÑÕØ�>‰>×Ñ˜dÒ"ÜÐLÓMÐMÜ—6‘6˜$Ÿ&™& !Ó$ˆÜ�v‰v”cœ"Ÿ&™& Ó*Ó+Ó,ˆØ”2—6‘6˜$Ÿ&™& !Ó$Ñ$ˆÜ�t—z‘z 3Ô'ØˆD�J‰JŒLØ�
‰
�‰×ÑœBŸG™G A›JÔ'Øˆr1   c                 óÖ  — t        | j                  d«      sd| j                  _        | j                  xj                  dz  c_        t        j                  | j
                  |«      }t        j                  t        t        j                  |«      «      «      }t        j                  ||z
  «      }t        j                  | j
                  j                  «       |«      | j                  z
  S )Nrr   r   r)   )rt   rl   rr   r+   rv   rb   rw   rC   r,   Ú	transposerc   ©ro   r.   rz   r{   Úps        r/   ÚgradzCheckOptimize.grad�   sš   € Ü�t—~‘~ sÔ+Ø ˆD�N‰NÔØ�‰×Ò˜AÑÕÜ—6‘6˜$Ÿ&™& !Ó$ˆÜ�v‰v”cœ"Ÿ&™& Ó*Ó+Ó,ˆÜ�F‰F�8˜d‘?Ó#ˆÜ�v‰v�d—f‘f×&Ñ&Ó(¨!Ó,¨t¯v©vÑ5Ð5r1   c                 óà  — t        j                  | j                  |«      }t        j                  t	        t        j
                  |«      «      «      }t        j
                  ||z
  «      }t        j                  | j                  j                  t        j                  t        j                  |«      | j                  t        j                  | j                  j                  |«      z
  «      «      S rA   )r+   rv   rb   rw   rC   r,   ÚTÚdiagr€   s        r/   ÚhesszCheckOptimize.hess˜   s“   € Ü—6‘6˜$Ÿ&™& !Ó$ˆÜ�v‰v”cœ"Ÿ&™& Ó*Ó+Ó,ˆÜ�F‰F�8˜d‘?Ó#ˆÜ�v‰v�d—f‘f—h‘hÜ—f‘fœRŸW™W Q›Z¨¯©´"·&±&¸¿¹¿¹À1Ó2EÑ)EÓFóHð 	Hr1   c                 óL   — t        j                  | j                  |«      |«      S rA   )r+   rv   r†   ©ro   r.   r�   s      r/   ÚhesspzCheckOptimize.hesspŸ   s   € Ü�v‰v�d—i‘i “l AÓ&Ð&r1   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__rp   r}   r‚   r†   r‰   © r1   r/   rY   rY   i   s!   „ ñò
'òò$6òHó'r1   rY   c                   ój  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  d«      d„ «       Zd	„ Zd
„ Zd„ Ze	j                  j!                  ddgddgddgddgg«      d„ «       Zd„ Ze	j                  j'                  d¬«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd „ Zd!„ Zd"„ Zy#)$ÚCheckOptimizeParameterizedc           
      ó>  — | j                   rp| j                  | j                  ddœ}t        j                  | j
                  | j                  dd| j                  |¬«      }|d   |d   |d   |d	   |d
   f\  }}}}}nWt        j                  | j
                  | j                  | j                  d| j                  d| j                  d¬«      }|\  }}}}}t        | j                  |«      | j                  | j                  «      d¬«       | j                  j                  dk(  sJ | j                  j                  «       ‚| j                  j                  dk(  sJ | j                  j                  «       ‚t        | j                  j                  dd g d¢g d¢gdd¬«       y )NF©rh   ÚdispÚ
return_allrŽ   ÚCG)ÚargsÚmethodÚjacÚoptionsr.   ÚfunÚnfevÚnjevÚstatusT)rh   Úfull_outputr“   Úretallr;   ©Úatolé	   é   r4   é   )r   ç      à¿r^   )r   gÃ;Ó±.à¿g)`$|;¾ß?ç›+¡†›„=r?   ©r¡   Úrtol)Úuse_wrapperrh   r“   r
   Úminimizer}   rf   r‚   Úfmin_cgr   rg   rk   rr   rl   rm   rs   )	ro   ÚoptsÚresÚparamsÚfoptÚ
func_callsÚ
grad_callsÚwarnflagÚretvals	            r/   Útest_cgz"CheckOptimizeParameterized.test_cg¥   sp  € à×ÒØ#Ÿ|™|°T·Y±YØ"'ñ)ˆDä×#Ñ# D§I¡I¨t×/?Ñ/?ÀbØ+/°T·Y±YØ,0ô2ˆCð �C‘˜#˜e™* c¨&¡k°3°v±;ÀÀHÁÐMñ ;ˆF�D˜* j±(ô ×%Ñ% d§i¡i°×1AÑ1AØ&*§i¡i°¸T¿\¹\Ø26¸T¿Y¹YØ-2ô4ˆFð @FÑ<ˆV�T˜: z°8ä˜Ÿ	™	 &Ó)¨4¯9©9°T·]±]Ó+CØ!õ	#ð
 �~‰~×Ñ 1Ò$Ð6 d§n¡n×&6Ñ&6Ó6Ð$Ø�~‰~×Ñ 1Ò$Ð6 d§n¡n×&6Ñ&6Ó6Ð$ô 	˜Ÿ
™
Ÿ™ Q qÐ)Ú'Ú=ð?à"¨ö	/r1   c                 óÂ   — d„ }t        j                  ddd«      D ]B  }t        j                  ||gd¬«      }|j                  sJ ‚t        |j                  dgd¬	«       ŒD y )
Nc                 óJ   — ddt        j                  d| dz
  z  «      z
  dz  z  S )Nç      @r)   ç      ø¿r^   r4   r*   )rV   s    r/   r|   z8CheckOptimizeParameterized.test_cg_cornercase.<locals>.fÅ   s(   € Ø˜!œbŸf™f T¨1¨s©7¡^Ó4Ñ4°qÑ8Ñ8Ð8r1   g      è¿r_   éG   r•   ©r—   r^   çñhãˆµøä>©r¨   )r+   Úlinspacer
   rª   Úsuccessr   r.   )ro   r|   rU   Úsols       r/   Útest_cg_cornercasez-CheckOptimizeParameterized.test_cg_cornercaseÄ   sT   € ò	9ô
 —+‘+˜e Q¨Ö+ˆBÜ×#Ñ# A¨ t°DÔ9ˆCØ—;’;Ð�;Ü˜CŸE™E C 5¨tÖ4ñ ,r1   c           
      óV  — | j                   rz| j                  | j                  ddœ}t        j                  | j
                  | j                  | j                  dd|¬«      }|d   |d   |d   |d	   |d
   |d   |d   f\  }}}}}}}	nYt        j                  | j
                  | j                  | j                  d| j                  d| j                  d¬«      }
|
\  }}}}}}}	t        | j                  |«      | j                  | j                  «      d¬«       | j                  j                  dk(  sJ | j                  j                  «       ‚| j                  j                  dk(  sJ | j                  j                  «       ‚t        | j                  j                  dd g d¢g d¢gdd¬«       y )NFr’   ÚBFGSrŽ   ©r˜   r—   r–   r™   r.   rš   r˜   Úhess_invr›   rœ   r�   T©r–   rh   rž   r“   rŸ   r;   r    é
   é   é   )r   g˜&ó/LÍà¿gB__E7ß?)r   g$ŸÙÜËà¿gÂ
|²3ß?r¦   r?   r§   )r©   rh   r“   r
   rª   r}   rf   r‚   Ú	fmin_bfgsr   rg   rk   rr   rl   rm   rs   )ro   r¬   r­   r®   r¯   ÚgoptÚHoptr°   r±   r²   r³   s              r/   Ú	test_bfgsz$CheckOptimizeParameterized.test_bfgsÏ   s‡  € à×ÒØ#Ÿ|™|°T·Y±YØ"'ñ)ˆDä×#Ñ# D§I¡I¨t×/?Ñ/?Ø(,¯	©	¸&ÀrØ,0ô2ˆCð
 ˜‘H˜c %™j¨#¨e©*°c¸*±oØ˜‘K  V¡¨c°(©mðJ=ÑFˆF�D˜$  j°*¹hô ×'Ñ'¨¯	©	°4×3CÑ3CÀTÇYÁYØ-/¸¿¹Ø48¸t¿y¹yØ/4ô6ˆFð
 28ñ/ˆV�T˜4 Ø˜ Xä˜Ÿ	™	 &Ó)¨4¯9©9°T·]±]Ó+CØ!õ	#ð
 �~‰~×Ñ 2Ò%Ð7 t§~¡~×'7Ñ'7Ó7Ð%Ø�~‰~×Ñ 1Ò$Ð6 d§n¡n×&6Ñ&6Ó6Ð$ô 	˜Ÿ
™
Ÿ™ Q qÐ)Ú=Ú=ð?à"¨ö	/r1   c                 ó(  — t        j                  t        d¬«      5  t        j                  g d¢«      }| j
                  t        j                  d«       dœ}t        j                  t        j                  |dd|¬«       d d d «       y # 1 sw Y   y xY w)	Nú+'hess_inv0' matrix isn't positive definite.©Úmatch©çÍÌÌÌÌÌô?çffffffæ?çš™™™™™é?çffffffþ?ç333333ó?é   ©r“   Ú	hess_inv0rÂ   rŽ   ©rU   r—   r–   r™   )
Úpytestr   rQ   r+   rL   r“   Úeyer
   rª   r   )ro   rU   r¬   s      r/   Útest_bfgs_hess_inv0_negz2CheckOptimizeParameterized.test_bfgs_hess_inv0_negñ   sk   € ô �]‰]œ:ð .0ö 1ä—‘Ò3Ó4ˆBØ ŸI™I´R·V±V¸A³Y°JÑ?ˆDÜ×ÑœhŸn™n°¸FÈØ&*õ,÷	1÷ 1ñ 1ús   œA#BÂBc                 ó4  — t        j                  t        d¬«      5  t        j                  g d¢«      }t        j
                  d«      }d|d<   | j                  |dœ}t        j                  t        j                  |dd	|¬
«       d d d «       y # 1 sw Y   y xY w)NrÎ   rÏ   rÑ   r×   r   ©r   r   rØ   rÂ   rŽ   rÚ   )
rÛ   r   rQ   r+   rL   rÜ   r“   r
   rª   r   )ro   rU   rÙ   r¬   s       r/   Útest_bfgs_hess_inv0_semiposz6CheckOptimizeParameterized.test_bfgs_hess_inv0_semiposû   sw   € ô �]‰]œ:ð .0ö 1ä—‘Ò3Ó4ˆBÜŸ™˜q›	ˆIØˆI�d‰OØ ŸI™I°IÑ>ˆDÜ×ÑœhŸn™n°¸FÈØ&*õ,÷1÷ 1ñ 1ús   œA)BÂBc                 ó`  — t         j                  }t        j                  g d¢«      }| j                  dt        j
                  d«      z  dœ}t        j                  ||dd|¬«      }t        j                  ||ddd| j                  i¬«      }t        |j                  |j                  d	¬
«       y )NrÑ   ç{®Gáz„?r×   rØ   rÂ   rŽ   rÚ   r“   r;   r    )	r
   r   r+   rL   r“   rÜ   rª   r   rš   )ro   rš   rU   r¬   r­   Úres_trues         r/   Útest_bfgs_hess_inv0_sanityz5CheckOptimizeParameterized.test_bfgs_hess_inv0_sanity  s‰   € ä�n‰nˆÜ�X‰XÒ/Ó0ˆØŸ	™	°´r·v±v¸a³yÑ0@ÑAˆÜ×Ñ ¨°6ÀØ(,ô.ˆä×$Ñ$ S¨R¸ÀRØ.4°d·i±iÐ-@ôBˆä˜Ÿ™ §¡°DÖ9r1   úignore::UserWarningc           	      óf  ‡— d„ Šˆfd„}dg}t        j                  d¬«      5  | j                  r-d| j                  i}t	        j
                  ‰||dd|¬	«      d
   }n#t	        j                  ‰||| j                  ¬«      }t        j                   ‰|«      «      rJ ‚	 d d d «       y # 1 sw Y   y xY w)Nc                 ó,   — t         j                  |  z   S rA   )r+   Úer-   s    r/   r}   z;CheckOptimizeParameterized.test_bfgs_infinite.<locals>.func  s   € Ü—D‘D˜a˜R‘L�=Ð r1   c                 ó   •—  ‰| «       S rA   rŽ   )r.   r}   s    €r/   Úfprimez=CheckOptimizeParameterized.test_bfgs_infinite.<locals>.fprime  s   ø€ Ù˜“G�8ˆOr1   r   Úignore)Úoverr“   rÂ   rŽ   rÃ   r.   ©r“   )r+   Úerrstater©   r“   r
   rª   rÉ   Úisfinite)ro   rê   rU   r¬   r.   r}   s        @r/   Útest_bfgs_infinitez-CheckOptimizeParameterized.test_bfgs_infinite  sž   ø€ ò	!ô	àˆSˆÜ�[‰[˜hÖ'Ø×ÒØ §	¡	Ð*�Ü×%Ñ% d¨B°FÀ6Ø+-°tô=Ø=@ñB‘ô ×&Ñ& t¨R°¸d¿i¹iÔH�Ü—{‘{¡4¨£7Ô+Ð+Ð+Ð+÷ (×'Ñ'ús   £A:B'Â'B0c                 óæ   — g d¢}t        j                  t         j                  |dddi¬«      }t        j                  t         j                  |dddi¬«      }|j                  |j                  k7  sJ ‚y )NrÑ   ÚbfgsÚxrtolçü©ñÒMbP?©r—   r™   Úgtol©r
   rª   r   Únit)ro   rU   r­   Úrefs       r/   Útest_bfgs_xrtolz*CheckOptimizeParameterized.test_bfgs_xrtol#  sa   € â&ˆÜ×Ñ¤§¡Ø "¨6¸GÀT¸?ôLˆä×Ñ¤§¡Ø "¨6¸FÀD¸>ôKˆà�w‰w˜#Ÿ'™'Ò!Ð!Ñ!r1   c                 óæ   — g d¢}t        j                  t         j                  |dddi¬«      }t        j                  t         j                  |dddi¬«      }|j                  |j                  kD  sJ ‚y )N©gš™™™™™$@g33333³4@gš™™™™™%@rÕ   ç333333ó¿rò   Úc1ç:Œ0âŽyE>rõ   r>   )r
   rª   r   r›   )ro   rU   Úres_c1_smallÚ
res_c1_bigs       r/   Útest_bfgs_c1z'CheckOptimizeParameterized.test_bfgs_c1,  sg   € ò +ˆÜ×(Ñ(¬¯©Ø)+°FÀTÈ4ÀLôRˆä×&Ñ&¤x§~¡~Ø')°&À4ÈÀ,ôPˆ
ð × Ñ  :§?¡?Ò2Ð2Ñ2r1   c                 óæ   — g d¢}t        j                  t         j                  |dddi¬«      }t        j                  t         j                  |dddi¬«      }|j                  |j                  kD  sJ ‚y )NrÑ   rò   Úc2çÍÌÌÌÌÌì?rõ   râ   r÷   )ro   rU   Úres_defaultÚres_mods       r/   Útest_bfgs_c2z'CheckOptimizeParameterized.test_bfgs_c27  sc   € ò 'ˆÜ×'Ñ'¬¯©Ø(*°6ÀDÈ"À:ôOˆä×#Ñ#¤H§N¡NØ$&¨vÀÀd¸|ôMˆà�‰ §¡Ò,Ð,Ñ,r1   rþ   r  r^   r4   çš™™™™™¹¿r>   rI   c           	      óÀ   — t        j                  t        d¬«      5  g d¢}t        j                  t        j
                  |d||dœ¬«       d d d «       y # 1 sw Y   y xY w)Nz'c1' and 'c2'rÏ   rü   Úcg)rþ   r  rõ   )rÛ   r   rQ   r
   rª   r   )ro   rþ   r  rU   s       r/   Útest_invalid_c1_c2z-CheckOptimizeParameterized.test_invalid_c1_c2A  sC   € ô �]‰]œ:¨_Ö=Ú.ˆBÜ×ÑœhŸn™n¨b¸Ø-/°rÑ&:õ<÷ >×=Ñ=ús   œ/AÁAc           	      ó  — | j                   rj| j                  | j                  ddœ}t        j                  | j
                  | j                  dd|¬«      }|d   |d   |d   |d	   |d
   |d   f\  }}}}}}nMt        j                  | j
                  | j                  d| j                  d| j                  d¬«      }	|	\  }}}}}}t        | j                  |«      | j                  | j                  «      d¬«       t        |dd  | j                  dd  d¬«       | j                  j                  dk  sJ | j                  j                  «       ‚| j                  j                  dk(  sJ | j                  j                  «       ‚y )NFr’   rŽ   ÚPowell©r–   r—   r™   r.   rš   Údirecrø   r›   r�   TrÅ   r;   r    r)   çñhãˆµøÔ>éˆ   r   )r©   rh   r“   r
   rª   r}   rf   Úfmin_powellr   rg   rk   rr   rl   ©
ro   r¬   r­   r®   r¯   r  Únumiterr°   r²   r³   s
             r/   Útest_powellz&CheckOptimizeParameterized.test_powellJ  sd  € à×ÒØ#Ÿ|™|°T·Y±YØ"'ñ)ˆDä×#Ñ# D§I¡I¨t×/?Ñ/?ÀbØ+3¸TôCˆCð ˜‘H˜c %™j¨#¨g©,¸¸E¹
Ø˜‘K  X¡ðB0Ñ>ˆF�D˜% ¨*±hô ×)Ñ)¨$¯)©)°T×5EÑ5EØ/1¸4¿<¹<Ø6:ÀÇÁØ16ô8ˆFð DJÑ@ˆV�T˜5 '¨:°xä˜Ÿ	™	 &Ó)¨4¯9©9°T·]±]Ó+CØ!õ	#ô 	˜˜q˜r˜
 D§M¡M°!°"Ð$5¸DÕAð �~‰~×Ñ 8Ò+Ð=¨T¯^©^×-=Ñ-=Ó=Ð+Ø�~‰~×Ñ 1Ò$Ð6 d§n¡n×&6Ñ&6Ó6Ñ$r1   zeThis part of test_powell fails on some platforms, but the solution returned by powell is still valid.©Úreasonc           	      óà  — | j                   rj| j                  | j                  ddœ}t        j                  | j
                  | j                  dd|¬«      }|d   |d   |d   |d	   |d
   |d   f\  }}}}}}nMt        j                  | j
                  | j                  d| j                  d| j                  d¬«      }	|	\  }}}}}}t        | j                  dd g d¢g d¢g d¢g d¢g d¢gdd¬«       y )NFr’   rŽ   r  r  r.   rš   r  rø   r›   r�   TrÅ   é"   é'   )ç—…~¿ûWç?çÒf"¬BÜ¿g¼€ˆ%Þ?)r  r  g:&ÃëÀÞ?)g»SÏ¼ûW÷?gÒf"¬Bì¿g{žÃ¥ørî?)r  r  ç{žÃ¥ørÞ?)gÌB¿ßý«û?r  r  r¦   r?   r§   )
r©   rh   r“   r
   rª   r}   rf   r  r   rm   r  s
             r/   Útest_powell_gh14014z.CheckOptimizeParameterized.test_powell_gh14014l  s  € ð ×ÒØ#Ÿ|™|°T·Y±YØ"'ñ)ˆDä×#Ñ# D§I¡I¨t×/?Ñ/?ÀbØ+3¸TôCˆCð ˜‘H˜c %™j¨#¨g©,¸¸E¹
Ø˜‘K  X¡ðB0Ñ>ˆF�D˜% ¨*±hô ×)Ñ)¨$¯)©)°T×5EÑ5EØ/1¸4¿<¹<Ø6:ÀÇÁØ16ô8ˆFð DJÑ@ˆV�T˜5 '¨:°xô 	˜Ÿ
™
 2 bÐ)Ú>Ú>Ú>Ú>Ú>ð	@ð
 #¨ö	/r1   c                 óN  — | j                   D �cg c]#  }t        j                   t        j                  f‘Œ% }}| j                  rÜ| j                  | j
                  ddœ}t        j                  | j                  | j                   d|d|¬«      }|d   |d   }}|| j                  j                  k(  sJ ‚t        | j                  |«      | j                  | j                  «      dd	¬
«       | j                  j                  dk  sJ ‚| j                  j                  dk(  sJ ‚y y c c}w )NFr’   rŽ   r  )r–   Úboundsr—   r™   r.   r›   r;   r»   r§   é¯   r   )rf   r+   Úpir©   rh   r“   r
   rª   r}   rk   rr   r   rg   rl   )ro   Ú_r!  r¬   r­   r®   r°   s          r/   Útest_powell_boundedz.CheckOptimizeParameterized.test_powell_bounded�  s  € ð ,0×+;Ò+;Ó<Ñ+; a”B—E‘E�6œ2Ÿ5™5’/Ð+;ˆÐ<Ø×ÒØ#Ÿ|™|°T·Y±YØ"'ñ)ˆDä×#Ñ# D§I¡I¨t×/?Ñ/?ÀbØ+1Ø+3¸TôCˆCð #& c¡(¨C°©K�JˆFà §¡×!1Ñ!1Ò1Ð1Ð1Ü˜DŸI™I fÓ-¨t¯y©y¸¿¹Ó/GØ!%¨Dõ2ð —>‘>×#Ñ# xÒ/Ð/Ð/Ø—>‘>×#Ñ# qÒ(Ð(Ñ(ð' ùò =s   �(D"c           	      ó  — | j                   re| j                  | j                  ddœ}t        j                  | j
                  | j                  dd|¬«      }|d   |d   |d   |d	   |d
   f\  }}}}}nLt        j                  | j
                  | j                  d| j                  d| j                  d¬«      }|\  }}}}}t        | j                  |«      | j                  | j                  «      d¬«       | j                  j                  dk(  sJ | j                  j                  «       ‚| j                  j                  dk(  sJ | j                  j                  «       ‚t        | j                  j                  dd g d¢g d¢gdd¬«       y )NFr’   rŽ   úNelder-meadr  r.   rš   rø   r›   r�   TrÅ   r;   r    é§   r   éL   éN   )g	dÀ£×°È?g÷×]fùä¿gtÛ×ä��Ö?)gÓ™ �…É?gäÌ#=^ä¿gÝÃoT¸ïÖ?r¦   r?   r§   )r©   rh   r“   r
   rª   r}   rf   Úfminr   rg   rk   rr   rl   rm   rs   )	ro   r¬   r­   r®   r¯   r  r°   r²   r³   s	            r/   Útest_neldermeadz*CheckOptimizeParameterized.test_neldermead¨  sc  € à×ÒØ#Ÿ|™|°T·Y±YØ"'ñ)ˆDä×#Ñ# D§I¡I¨t×/?Ñ/?ÀbØ+8À$ôHˆCð ˜‘H˜c %™j¨#¨e©*°c¸&±kØ˜‘Mð;#Ñ7ˆF�D˜' :©xô —]‘] 4§9¡9¨d×.>Ñ.>Ø(*°D·L±LØ/3¸$¿)¹)Ø*/ô1ˆFð =CÑ9ˆV�T˜7 J°ä˜Ÿ	™	 &Ó)¨4¯9©9°T·]±]Ó+CØ!õ	#ð
 �~‰~×Ñ 3Ò&Ð8¨¯©×(8Ñ(8Ó8Ð&Ø�~‰~×Ñ 1Ò$Ð6 d§n¡n×&6Ñ&6Ó6Ð$ô 	˜Ÿ
™
Ÿ™ R¨Ð+Ú=Ú>ð@à"¨ö	/r1   c           
      ó¤  — t        j                  d«      }| j                  |d<   t        d«      D ]  }||dz   |fxx   dz  cc<   Œ | j                  rq| j
                  dd|dœ}t        j                  | j                  | j                  d	d
|¬«      }|d   |d   |d   |d   |d   f\  }}}}}	t        |d   d   |d   «       nCt        j                  | j                  | j                  d	| j
                  ddd|¬«      }
|
\  }}}}}	t        | j                  |«      | j                  | j                  «      d¬«       | j                  j                  dk(  sJ | j                  j                  «       ‚| j                  j                  dk(  sJ | j                  j                  «       ‚t        | j                  j                   dd g d¢g d¢gdd¬«       y )N)r¤   r_   .r_   r)   r>   FT©rh   r“   r”   Úinitial_simplexrŽ   r'  r  r.   rš   rø   r›   r�   Úallvecsr   ©r–   rh   rž   r“   rŸ   r/  r;   r    éd   é2   é4   )gÔItžÊÌÂ?gà?'Î›Tà¿gxÅ8 áÞ?)gÓÒ¢_×†Â?gœoMçà¿gå›Ž|52ß?r¦   r?   r§   )r+   rd   rf   Úranger©   rh   r
   rª   r}   r   r+  rg   rk   rr   rl   rm   rs   )ro   ÚsimplexÚjr¬   r­   r®   r¯   r  r°   r²   r³   s              r/   Útest_neldermead_initial_simplexz:CheckOptimizeParameterized.test_neldermead_initial_simplexÇ  s»  € ä—(‘(˜6Ó"ˆØ×'Ñ'ˆ�‰Ü�q–ˆAØ�A�a‘C˜�F‹O˜sÑ"ŒOð ð ×ÒØ#Ÿ|™|°UØ"&¸7ñDˆDä×#Ñ# D§I¡I¨t×/?Ñ/?ÀbØ+8À$ôHˆCà;>¸s¹8Ø;>¸u¹:Ø;>¸u¹:Ø;>¸v¹;Ø;>¸x¹=ð	;JÑ7ˆF�D˜' :¨xô
 ˜C 	™N¨1Ñ-¨w°q©zÕ:ä—]‘] 4§9¡9¨d×.>Ñ.>Ø(*°D·L±LØ/3¸%ÈØ3:ô<ˆFð
 =CÑ9ˆV�T˜7 J°ä˜Ÿ	™	 &Ó)¨4¯9©9°T·]±]Ó+CØ!õ	#ð
 �~‰~×Ñ 3Ò&Ð8¨¯©×(8Ñ(8Ó8Ð&Ø�~‰~×Ñ 1Ò$Ð6 d§n¡n×&6Ñ&6Ó6Ð$ô 	˜Ÿ
™
Ÿ™ R¨Ð+Ú=Ú=ð?à"¨ö	/r1   c                 óL  — g }t        j                  d«      }| j                  d d |d<   t        d«      D ]  }||dz   |fxx   dz  cc<   Œ |j	                  |«       t        j                  d«      }|j	                  |«       |D ]�  }| j
                  rJ| j                  dd|dœ}t        t        t        j                  | j                  | j                  d	d
|¬«       ŒYt        t        t        j                  | j                  | j                  d	| j                  ddd|¬«
       ŒŸ y )N)r_   r4   r4   .r)   r>   )r_   r_   Fr.  rŽ   r'  r  Tr1  )r+   rd   rf   r5  rx   r©   rh   rP   rQ   r
   rª   r}   r+  )ro   Úbad_simplicesr6  r7  r¬   s        r/   Ú#test_neldermead_initial_simplex_badz>CheckOptimizeParameterized.test_neldermead_initial_simplex_badï  s  € àˆä—(‘(˜6Ó"ˆØ×'Ñ'¨¨Ð+ˆ�‰Ü�q–ˆAØ�A�a‘C˜�F‹O˜sÑ"ŒOð à×Ñ˜WÔ%ä—(‘(˜6Ó"ˆØ×Ñ˜WÔ%ã$ˆGØ×ÒØ#'§<¡<¸Ø&+ÀñI�äœjÜ&×/Ñ/Ø"Ÿi™iØ"×.Ñ.Ø#%Ø%2Ø&*ö,ô œj¬(¯-©-Ø"Ÿi™i¨×)9Ñ)9Ø#%¨t¯|©|Ø*.°UÀ5Ø.5ö	7ñ %r1   c                 óØ   — d„ }t        j                  |dgdgd¬«      }t        |j                  dg«       t        j                  |ddgddgd¬«      }t        |j                  ddg«       y )	Nc                 ó2   — t        j                  | dz  «      S ©Nr4   ©r+   rC   r-   s    r/   Úquadz>CheckOptimizeParameterized.test_neldermead_x0_ub.<locals>.quad  ó   € Ü—6‘6˜!˜Q™$“<Ðr1   r)   )r   r\   únelder-mead©r!  r—   r   r4   )r)   ç      @©r
   rª   r   r.   )ro   r@  r­   s      r/   Útest_neldermead_x0_ubz0CheckOptimizeParameterized.test_neldermead_x0_ub  st   € ò	 ô ×ÑØØˆCØ�9Ø ô	
ˆô 	˜Ÿ™ ˜sÔ#ä×ÑØØ�ˆFØ˜WÐ%Ø ô	
ˆô 	˜Ÿ™  1˜vÕ&r1   c                 ó    — ddi}t        j                  | j                  | j                  d| j                  d|¬«      }|j
                  dk(  sJ ‚y )Nrh   éÿÿÿÿú	Newton-CGrŽ   ©r—   r˜   r–   r™   r)   )r
   rª   r}   rf   r‚   r�   )ro   r¬   Úresults      r/   Útest_ncg_negative_maxiterz4CheckOptimizeParameterized.test_ncg_negative_maxiter%  sK   € à˜2ˆˆÜ×"Ñ" 4§9¡9¨d×.>Ñ.>Ø*5¸4¿9¹9Ø(*°Dô:ˆð �}‰} Ò!Ð!Ñ!r1   c           	      óÒ   — d„ }d„ }dg}d}t        j                  |||dt        |¬«      ¬«      }|j                  dk(  sJ ‚t	        |j
                  d   t        j                  «       y )Nc                 ó2   — t        j                  | d   «      S ©Nr   )r+   rG   r-   s    r/   Úcosinez=CheckOptimizeParameterized.test_ncg_zero_xtol.<locals>.cosine/  s   € Ü—6‘6˜!˜A™$“<Ðr1   c                 ó4   — t        j                  | d   «       S rO  )r+   rB   r-   s    r/   r˜   z:CheckOptimizeParameterized.test_ncg_zero_xtol.<locals>.jac2  s   € Ü—F‘F˜1˜Q™4“L�=Ð r1   r>   r   ú	newton-cg)Úxtol)rU   r˜   r—   r™   )r
   rª   Údictr�   r   r.   r+   r#  )ro   rP  r˜   rU   rS  rK  s         r/   Útest_ncg_zero_xtolz-CheckOptimizeParameterized.test_ncg_zero_xtol-  sf   € ò	 ò	!ð ˆUˆØˆÜ×"Ñ" 6Ø&(Ø'*Ø*5Ü+/°T¬?ô	<ˆð
 �}‰} Ò!Ð!Ð!Ü˜FŸH™H Q™K¬¯©Õ/r1   c           
      ó   — | j                   rW| j                  | j                  ddœ}t        j                  | j
                  | j                  d| j                  d|¬«      d   }nOt        j                  | j
                  | j                  | j                  d| j                  d| j                  d¬«      }|}t        | j                  |«      | j                  | j                  «      d¬	«       | j                  j                  d
k(  sJ | j                  j                  «       ‚| j                  j                  dk  sJ | j                  j                  «       ‚t        | j                  j                  dd g d¢g d¢gdd¬«       y )NFr’   rI  rŽ   rJ  r.   rÅ   r;   r    r£   é   r_   r×   ©ç(Æ6-H=�¾g×?üºËà¿g4 u¦3ß?©rY  g_êþéºËà¿gþ/N±§3ß?r?   r§   )r©   rh   r“   r
   rª   r}   rf   r‚   Úfmin_ncgr   rg   rk   rr   rl   rm   rs   ©ro   r¬   r³   r®   s       r/   Útest_ncgz#CheckOptimizeParameterized.test_ncg?  s:  € à×ÒØ#Ÿ|™|°T·Y±YØ"'ñ)ˆDä×&Ñ& t§y¡y°$×2BÑ2BØ.9¸t¿y¹yØ,.¸ô>à>AñC‰Fô ×&Ñ& t§y¡y°$×2BÑ2BÀDÇIÁIØ,.¸¿¹Ø38¸t¿y¹yØ.3ô5ˆFð
 ˆä˜Ÿ	™	 &Ó)¨4¯9©9°T·]±]Ó+CØ!õ	#ð
 �~‰~×Ñ 1Ò$Ð6 d§n¡n×&6Ñ&6Ó6Ð$Ø�~‰~×Ñ 2Ò%Ð7 t§~¡~×'7Ñ'7Ó7Ð%ô 	˜Ÿ
™
Ÿ™ Q qÐ)ÚKÚKðMà!¨ö	.r1   c                 ó,  — | j                   rb| j                  | j                  ddœ}t        j                  | j
                  | j                  d| j                  | j                  d|¬«      d   }nZt        j                  | j
                  | j                  | j                  | j                  d| j                  d| j                  d¬«	      }|}t        | j                  |«      | j                  | j                  «      d¬	«       | j                  j                  d
k  sJ | j                  j                  «       ‚| j                  j                  dk  sJ | j                  j                  «       ‚t        | j                  j                   dd g d¢g d¢gdd¬«       y )NFr’   rI  rŽ   )r—   r˜   r†   r–   r™   r.   )Úfhessr–   rh   rž   r“   rŸ   r;   r    r£   é   r_   r×   rX  rZ  r?   r§   )r©   rh   r“   r
   rª   r}   rf   r‚   r†   r[  r   rg   rk   rr   rl   rm   rs   r\  s       r/   Útest_ncg_hessz(CheckOptimizeParameterized.test_ncg_hess`  sK  € à×ÒØ#Ÿ|™|°T·Y±YØ"'ñ)ˆDä×&Ñ& t§y¡y°$×2BÑ2BØ.9¸t¿y¹yØ,0¯I©IØ,.¸ô>ð ?BñC‰Fô
 ×&Ñ& t§y¡y°$×2BÑ2BÀDÇIÁIØ-1¯Y©YØ,.¸¿¹Ø38¸t¿y¹yØ.3ô	5ˆFð ˆä˜Ÿ	™	 &Ó)¨4¯9©9°T·]±]Ó+CØ!õ	#ð
 �~‰~×Ñ 1Ò$Ð6 d§n¡n×&6Ñ&6Ó6Ð$Ø�~‰~×Ñ 2Ò%Ð7 t§~¡~×'7Ñ'7Ó7Ð%ô
 	˜Ÿ
™
Ÿ™ Q qÐ)ÚKÚKðMà!¨ö	.r1   c                 ó,  — | j                   rb| j                  | j                  ddœ}t        j                  | j
                  | j                  d| j                  | j                  d|¬«      d   }nZt        j                  | j
                  | j                  | j                  | j                  d| j                  d| j                  d¬«	      }|}t        | j                  |«      | j                  | j                  «      d¬	«       | j                  j                  d
k  sJ | j                  j                  «       ‚| j                  j                  dk  sJ | j                  j                  «       ‚t        | j                  j                   dd g d¢g d¢gdd¬«       y )NFr’   rI  rŽ   )r—   r˜   r‰   r–   r™   r.   )Úfhess_pr–   rh   rž   r“   rŸ   r;   r    r£   r`  r_   r×   rX  rZ  r?   r§   )r©   rh   r“   r
   rª   r}   rf   r‚   r‰   r[  r   rg   rk   rr   rl   rm   rs   r\  s       r/   Útest_ncg_hesspz)CheckOptimizeParameterized.test_ncg_hessp‚  sK  € à×ÒØ#Ÿ|™|°T·Y±YØ"'ñ)ˆDä×&Ñ& t§y¡y°$×2BÑ2BØ.9¸t¿y¹yØ-1¯Z©ZØ,.¸ô>ð ?BñC‰Fô
 ×&Ñ& t§y¡y°$×2BÑ2BÀDÇIÁIØ/3¯z©zØ,.¸¿¹Ø38¸t¿y¹yØ.3ô	5ˆFð ˆä˜Ÿ	™	 &Ó)¨4¯9©9°T·]±]Ó+CØ!õ	#ð
 �~‰~×Ñ 1Ò$Ð6 d§n¡n×&6Ñ&6Ó6Ð$Ø�~‰~×Ñ 2Ò%Ð7 t§~¡~×'7Ñ'7Ó7Ð%ô
 	˜Ÿ
™
Ÿ™ Q qÐ)ÚKÚKðMà!¨ö	.r1   c                 óp  — | j                   rªt        j                  | j                  | j                  d| j
                  | j                  dœ¬«      }t        |j                  | j                  | j                  «      d¬«       | j                  j                  dk  sJ | j                  j                  «       ‚y y )NÚcobyqa©rh   r“   rõ   r;   r    éA   )r©   r
   rª   r}   rf   rh   r“   r   rš   rg   rk   rr   ©ro   r­   s     r/   Útest_cobyqaz&CheckOptimizeParameterized.test_cobyqa¤  s‹   € à×ÒÜ×#Ñ#Ø—	‘	Ø× Ñ ØØ$(§L¡L¸$¿)¹)ÑDô	ˆCô ˜CŸG™G T§Y¡Y¨t¯}©}Ó%=ÀDÕIð —>‘>×#Ñ# wÒ.Ð@°·±×0@Ñ0@Ó@Ñ.ð r1   N) rŠ   r‹   rŒ   r´   rÀ   rÌ   rÝ   rà   rä   rÛ   ÚmarkÚfilterwarningsrð   rú   r  r  Úparametrizer  r  Úxfailr  r%  r,  r8  r;  rF  rL  rU  r]  ra  rd  rj  rŽ   r1   r/   r�   r�   £   s  „ ò/ò>	5ò /òD,ò
,ò	:ð ‡[�[×ÑÐ 5Ó6ñ,ó 7ð,ò "ò	3ò-ð ‡[�[×Ñ˜d D˜\¨S°!¨HØ-1°3¨KØ-0°#¨Jð,8ó 9ñ<ó9ð<ò 7ðD ‡[�[×Ñð &Ðó 'ñ/ó'ð/ò@)ò2/ò>&/òP7ò>'ò."ò0ò$.òB .òD .óDAr1   r�   c            	      óÒ   ‡— t         j                  j                  d«      Šˆfd„} dD ]=  }dD ]6  }t        j                  | ‰j                  d«      |d|i¬«      }|d   |k(  rŒ6J ‚ Œ? y )	Nl	   û<vgðRàI*q4Ì c                 ó,   •— ‰j                  d«      dz  S ©Nr)   ra   ©r7   )r.   r=   s    €r/   Úcostztest_maxfev_test.<locals>.cost»  s   ø€ Ø�z‰z˜!‹}˜tÑ#Ð#r1   )r)   rÆ   r3  )r  úNelder-MeadrÆ   Úmaxfevrõ   r›   )r+   r7   Údefault_rngr
   rª   )rs  Úimaxfevr—   rK  r=   s       @r/   Útest_maxfev_testrx  ¸  sq   ø€ Ü
�)‰)×
Ñ
Ð GÓ
H€Cô$ó ˆó 0ˆFÜ×&Ñ& t¨S¯Z©Z¸«^Ø.4Ø08¸'Ð/BôDˆFð ˜&‘> WÓ,Ð,Ð,ñ	 0ñ	 r1   c                  óŽ  — d„ } t         j                  j                  | t        j                  d«      d«      \  }}t        d«      D ]*  } |t        j                  |«      «       |d   |dz   k(  rŒ*J ‚ d}t        t         j                  j                  |¬«      5   |t        j                  «      «       d d d «       t         j                  j                  | t        j                  d«      d«      \  }}d}t        t        |¬«      5   |t        j                  ddg«      «       d d d «       y # 1 sw Y   ŒzxY w# 1 sw Y   y xY w)Nc                 ó   — | S rA   rŽ   r-   s    r/   Úfunc_z8test_wrap_scalar_function_with_validation.<locals>.func_Ë  s   € Øˆr1   r)   r×   r   zToo many function callsrÏ   ú@The user-provided objective function must return a scalar value.)
r
   Ú	_optimizeÚ'_wrap_scalar_function_maxfun_validationr+   Úasarrayr5  rP   Ú_MaxFuncCallErrorrQ   rL   )r{  Úfcallsr}   ÚiÚmsgs        r/   Ú)test_wrap_scalar_function_with_validationr„  É  s  € òô ×%Ñ%ß/Ñ/°´r·z±zÀ!³}ÀaÓHñ €FˆDô �1ŽXˆÙŒR�Z‰Z˜‹]ÔØ�a‰y˜A˜a™CÓÐÐð ð $€CÜ	”x×)Ñ)×;Ñ;À3Ö	GÙŒR�Z‰Z˜‹]Ô÷ 
Hô ×%Ñ%ß/Ñ/°´r·z±zÀ!³}ÀaÓHñ €FˆDð M€CÜ	”z¨Ö	-ÙŒR�X‰X�q˜!�fÓÔ÷ 
.Ð	-÷ 
HÐ	Gú÷ 
.Ð	-ús   ÂD/ÄD;Ä/D8Ä;Ec                  ó°   — d} t        t        | ¬«      5  t        j                  d„ t	        j
                  ddg«      d¬«       d d d «       y # 1 sw Y   y xY w)Nr|  rÏ   c                 ó   — | S rA   rŽ   r-   s    r/   Ú<lambda>z.test_obj_func_returns_scalar.<locals>.<lambda>æ  s   € ¡Ar1   r)   rÂ   rº   )rP   rQ   r
   rª   r+   rL   rÏ   s    r/   Útest_obj_func_returns_scalarrˆ  á  s@   € ð&€Eô 
”z¨Ö	/Ü×Ñ™+¤r§x¡x°°A°Ó'7ÀÕG÷ 
0×	/Ñ	/ús   ”/AÁAc                  ó´   — t        j                  g d¢«      } t        j                  j	                  t        j
                  | d¬«      }|j                  dk  sJ ‚y )NrÑ   rÿ   )ÚxatoliS  )r+   rL   r
   Ú	_minimizeÚ_minimize_neldermeadr   rø   )rU   r­   s     r/   Útest_neldermead_iteration_numr�  é  sG   € Ü	�‰Ò+Ó	,€BÜ
×
Ñ
×
1Ñ
1´(·.±.À"Ø8<ð 2ó >€Cà�7‰7�cŠ>Ð‰>r1   c                  ó¢   — t        j                  ddg«      j                  t         j                  «      } d„ }t	        j
                  || d¬«       y )Nç      @ç      @c                 ój   — | j                   t        j                  k(  sJ ‚t        j                  | «      S rA   )Údtyper+   Úfloat32r
   r   r-   s    r/   Úrosen_z*test_neldermead_respect_fp.<locals>.rosen_ó  s'   € Ø�w‰wœ"Ÿ*™*Ò$Ð$Ð$Ü�~‰~˜aÓ Ð r1   rt  rº   )r+   rL   Úastyper“  r
   rª   )rU   r”  s     r/   Útest_neldermead_respect_fpr–  ð  s<   € ä	�‰�3˜�*Ó	×	$Ñ	$¤R§Z¡ZÓ	0€Bò!ô ×Ñ�f˜b¨Ö7r1   c                  óV   — d„ } t         j                  j                  | ddgddd¬«       y )Nc                 ó$   — | d   dz  | d   dz  z   S ©Nr   r4   r)   rŽ   r-   s    r/   r}   z)test_neldermead_xatol_fatol.<locals>.funcý  s   € Ø�‰t�q‰y˜1˜Q™4 1™9Ñ$Ð$r1   r)   r4   rô   )rh   rŠ  Úfatol)r
   r‹  rŒ  )r}   s    r/   Útest_neldermead_xatol_fatolr›  ú  s2   € ò%ô ×Ñ×+Ñ+¨D°1°a°&À!Ø26¸dð ,õ Dr1   c                  óÐ   — d„ } g d¢}t        j                  | |d¬«      }t        |j                  d«       t        j                  | |dddi¬«      }t        |j                  d«       y )	Nc                 ó2   — t        j                  | dz  «      S r>  r?  r-   s    r/   r}   z&test_neldermead_adaptive.<locals>.func  ó   € Ü�v‰v�a˜1‘f‹~Ðr1   )géÍM@¸'Ä?güOÄC”ÆÞ?gµ§¢€~Ü?gê -Û?g¾ã¬€®ã?g#¹ÂÜj­Ô?gûù îï?g~ê³^gžÜ?gÜ r#—Åè?g^c¸¶Ç½é?g)þÖëi	×?g±Ùô÷'è?g‚Ž™Òýï?g1…›Òä?g[ÕVÎ¤¸?rt  rº   FÚadaptiveTrõ   )r
   rª   r   r¾   )r}   Úp0r­   s      r/   Útest_neldermead_adaptiver¡    s_   € òò
F€Bô ×
Ñ
˜D "¨]Ô
;€CÜ�—‘˜eÔ$ä
×
Ñ
˜D "¨]Ø%/°Ð$6ô8€Cä�—‘˜dÕ#r1   c            	      óò  — d„ } d}g d¢}t        j                  t        j                  «      5  t        j                  | ||d¬«      }d d d «       t        j                  t        j                  dgt        |«      z  «      d¬«       t        |j                  d	«       t        |j                  d
«       g d¢g d¢g d¢g}t        j                  t        j                  «      5  t        j                  | ||dd|i¬«      }d d d «       t        |j                  t        j                  g d¢«      d¬«       t        |j                  d«       t        |j                  d«       y # 1 sw Y   �ŒxY w# 1 sw Y   ŒpxY w)Nc                 ó2   — t        j                  | dz  «      S r>  r?  r-   s    r/   r}   z/test_bounded_powell_outsidebounds.<locals>.func  rž  r1   )©rH  r)   r¤  r¤  )éüÿÿÿr^   gš™™™™™é¿r  rC  r`   r;   r    Tr   ©r   r   r   )r   r)   r   )r   r   r)   r  )r!  r—   r™   )g      Àr   r   Fr¤   )rÛ   Úwarnsr
   ÚOptimizeWarningrª   r   r.   r+   rL   Úlenr   r¾   r�   )r}   r!  rU   r­   r  s        r/   Ú!test_bounded_powell_outsideboundsrª    s  € òà&€FÚ	€Bô 
�‰”h×.Ñ.Õ	/Ü×Ñ  b°ÀÔIˆ÷ 
0ä�C—E‘Eœ2Ÿ8™8 R D¬3¨r«7¡NÓ3¸$Õ?Ü�—‘˜dÔ#Ü�—‘˜QÔò š	¢9Ð-€Eä	�‰”h×.Ñ.Õ	/Ü×Ñ  bØ'-°hØ)0°%Ð(8ô:ˆ÷ 
0ô �C—E‘Eœ2Ÿ8™8¢KÓ0°tÕ<Ü�—‘˜eÔ$Ü�—‘˜QÕ÷% 
0Ñ	/ú÷ 
0Ð	/ús   ­E Ã!E-Å E*Å-E6c                  ó¨  — d„ } d}g d¢}dddœ}t        j                  | |d|¬«      }t        |j                  dd	¬
«       t        |j                  dd	¬
«       t        j                  | |||d¬«      }t        j                  g d¢«      }t        |j                  |d	¬
«       t        |j                   | |«      d	¬
«       dt
        j                   dfdt
        j                  fddf}t        j                  | |||d¬«      }t        j                  g d¢«      }t        |j                  |d	¬
«       t        |j                   | |«      d	¬
«       d„ } dgdz  }g d¢}t        j                  | |d¬«      }t        j                  | ||d¬«      }t        |j                  dd	¬
«       t        |j                  dd	¬
«       t
        j                   t
        j                  fgdz  }t        j                  | ||d¬«      }t        |j                  |j                  d	¬
«       t        |j                  |j                  d	¬
«       t        |j                  |j                  d	¬
«       g d¢}dgdz  }t        j                  t         j                  «      5  t        j                  | ||d¬«      }d d d «       t        |j                  dd	¬
«       y # 1 sw Y   Œ"xY w)Nc                 ó2   — t        j                  | dz  «      S r>  r?  r-   s    r/   r}   z+test_bounded_powell_vs_powell.<locals>.func:  rž  r1   ))éûÿÿÿrH  )éöÿÿÿr	  )r)   gffffff"@)r¥  gffffff@©gÍÌÌÌÌÌ/Àéþÿÿÿ)gÍÌÌÌÌÌ ÀgÍÌÌÌÌÌÀrÕ   r   r°  ç»½×Ùß|Û=©ÚftolrS  r  rõ   r`   r;   r    )r™   r!  r—   )rH  r	  r)   r   r°  )NrH  r	  r)   )r¥  Nr¯  c                 ó|  — t        j                  | d    «      t        j                  | d   «      z  t        j                  | d    | d   z  «      z  t        j                  | d   «      z  }|t        j                  t        j                  | d   | d   z  «      t        j                  | d   «      z  «      z  }|dz  S ©Nr   r)   r4   rF   ©r.   rs   s     r/   r}   z+test_bounded_powell_vs_powell.<locals>.funcX  s•   € Ü�F‰F�A�a‘D�5‹MœBŸF™F 1 Q¡4›LÑ(¬2¯6©6°1°Q±4°%¸!¸A¹$±,Ó+?Ñ?Ä"Ç&Á&ÈÈ1ÉÃ,ÑNˆØ	ŒR�V‰V”B—F‘F˜1˜Q™4 ! A¡$™;Ó'¬"¯&©&°°1±«,Ñ6Ó7Ñ7ˆØ�!‰tˆr1   )r°  r×   r_   )r¥   r¥   r¥   rº   rC  g´£8“ç:}?r   )gbšŽ¥4»F@gìæ†:ÀgžWÀ�¿?@)r
   rª   r   r.   rš   r+   rL   Úinfr›   rÛ   r§  r¨  )r}   r!  rU   r™   Ú
res_powellÚres_bounded_powellr�   s          r/   Útest_bounded_powell_vs_powellrº  2  st  € òàD€FÚ	!€Bà eÑ,€Gä×"Ñ" 4¨°HÀgÔN€JÜ�J—L‘L "¨4Õ0Ü�J—N‘N B¨TÕ2ä!×*Ñ*¨4°¸WØ28Ø2:ô<Ðô 	�‰Ò%Ó&€AÜÐ&×(Ñ(¨!°$Õ7ÜÐ&×*Ñ*©D°«G¸$Õ?ð œ2Ÿ6™6˜' 3˜¨!¬R¯V©V¨°jÀ+ÐM€FÜ!×*Ñ*¨4°¸WØ28Ø2:ô<Ðô 	�‰Ò%Ó&€AÜÐ&×(Ñ(¨!°$Õ7ÜÐ&×*Ñ*©D°«G¸$Õ?ò
ð
 ˆY˜‰]€FÚ	€Bä×"Ñ" 4¨°HÔ=€JÜ!×*Ñ*¨4°Ø28Ø2:ô<Ðô �J—N‘NÐ$8¸tÕDÜÐ&×*Ñ*¨A°DÕ9ô
 —‘ˆwœŸ™ÐÐ  1Ñ$€Fä!×*Ñ*¨4°Ø28Ø2:ô<Ðô �J—N‘NÐ$6×$:Ñ$:ÀÕFÜ�J—O‘OÐ%7×%<Ñ%<À4ÕHÜ�J—L‘LÐ"4×"6Ñ"6¸TÕBò 
2€BØˆY˜‰]€Fä	�‰”h×.Ñ.Õ	/Ü%×.Ñ.¨t°RØ6<Ø6>ô@Ð÷ 
0ô Ð&×*Ñ*¨A°DÖ9÷	 
0Ð	/ús   ÊKËKc                  ó  — dt         j                   dfgdz  dddœdœ} g d¢}d„ }t        j                  ||fi | ¤Ž}t	        |j
                  d	d
¬«       d„ }t        j                  ||fi | ¤Ž}t	        |j
                  d«       d„ }t        j                  ||fi | ¤Ž}t	        |j
                  dd¬«       d„ }t         j                   dfgdz  | d<   t        j                  ||fi | ¤Ž}t	        |j
                  dd¬«       y )Nr  g    €„.Ar_   rÿ   r²  )r—   r!  r™   r[   c                 ó.   — t        j                  | «       S rA   r?  r-   s    r/   r|   z1test_onesided_bounded_powell_stability.<locals>.fŠ  s   € Ü—‘�q“	ˆzÐr1   g    `ãFÁç-Cëâ6?r    c                 ó˜   — t        j                  t        j                  | «      «      dz   t        j                  | dkD  «      rdz  S dz  S )Nr>   r   r)   rH  ©r+   rN   rC   rK   r-   s    r/   r|   z1test_onesided_bounded_powell_stability.<locals>.f�  s<   € Ü—‘”r—v‘v˜a“yÓ! cÑ*Ð*´2·6±6¸!¸a¹%´=¨aÑIÐIÀbÑIÐIr1   gw£ÖÆÀc                 ó˜   — t        j                  t        j                  | «      «      dz   t        j                  | dkD  «      rdz  S dz  S )NrÆ   r   r)   rH  r¿  r-   s    r/   r|   z1test_onesided_bounded_powell_stability.<locals>.f—  s<   € Ü—‘”r—v‘v˜a“yÓ! RÑ'Ð'´·±°q¸1±u´¨1ÑFÐFÀ2ÑFÐFr1   gB+¢IñaÍr?   r¼   c                 ó  — t        j                  t        j                  | d d «      «      dz   t        j                  t        j                  | dd  «      «      dz  z
  }|t        j                  | dkD  «      rdz  }|S dz  }|S )Nr4   r×   r>   r   r)   rH  r¿  r¶  s     r/   r|   z1test_onesided_bounded_powell_stability.<locals>.fž  ss   € Ü�V‰V”B—F‘F˜1˜R˜a˜5“MÓ" aÑ'Ð'¬"¯&©&´·±¸¸!¸"¸³Ó*?ÀCÑ*HÑHˆØ	”2—6‘6˜!˜a™%”=ˆaÑ)ˆØˆð ')Ñ)ˆØˆr1   g     @�@r!  g 4&õk\Ã)r+   r·  r
   rª   r   rš   )ÚkwargsrU   r|   r­   s       r/   Ú&test_onesided_bounded_powell_stabilityrÃ  ~  s  € ð !ÜŸ6™6˜' 3˜Ð(¨1Ñ,Ø"&°Ñ5ñ7€Fò 
€Bòä
×
Ñ
˜A˜rÑ
, VÑ
,€CÜ�C—G‘G˜T¨Õ-òJô ×
Ñ
˜A˜rÑ
, VÑ
,€CÜ�C—G‘G˜_Ô-òGô ×
Ñ
˜A˜rÑ
, VÑ
,€CÜ�C—G‘G˜\°Õ5òô
 Ÿ&™&˜ #˜Ð'¨!Ñ+€Fˆ8ÑÜ
×
Ñ
˜A˜rÑ
, VÑ
,€CÜ�C—G‘GÐ9ÀÖEr1   c                   ó   — e Zd ZdZdZy)ÚTestOptimizeWrapperDispTN©rŠ   r‹   rŒ   r©   r“   rŽ   r1   r/   rÅ  rÅ  ¨  s   „ Ø€KØ�Dr1   rÅ  c                   ó   — e Zd ZdZdZy)ÚTestOptimizeWrapperNoDispTFNrÆ  rŽ   r1   r/   rÈ  rÈ  ­  s   „ Ø€KØ�Dr1   rÈ  c                   ó   — e Zd ZdZdZy)ÚTestOptimizeNoWrapperDispFTNrÆ  rŽ   r1   r/   rÊ  rÊ  ²  s   „ Ø€KØ�Dr1   rÊ  c                   ó   — e Zd ZdZdZy)ÚTestOptimizeNoWrapperNoDispFNrÆ  rŽ   r1   r/   rÌ  rÌ  ·  s   „ Ø€KØ�Dr1   rÌ  c                   óT  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej,                  j/                  d«      ej,                  j1                  d«      ej,                  j1                  d«      ej,                  j3                  dg d¢ez   «      d„ «       «       «       «       Zej,                  j3                  dg d¢«      d„ «       Zd„ Zej,                  j3                  dg d¢«      d„ «       Zej,                  j3                  dg d¢«      d„ «       Zd „ Z d!„ Z!d"„ Z"d#„ Z#ej,                  j3                  dg d$¢«      d%„ «       Z$ej,                  j3                  dg d&¢«      d'„ «       Z%ej,                  j1                  d«      ej,                  j3                  de&«      ej,                  j3                  d(g d)¢«      d*„ «       «       «       Z'd+„ Z(ej,                  j3                  dd,«      d-„ «       Z)ej,                  j3                  dg d.¢«      d/„ «       Z*y0)1ÚTestOptimizeSimplec                 óø   — d„ }d„ }t         j                  g}t        j                  dd¬«      5  t        j                  |||d¬«      }t        j
                   ||«      «      sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nc                 ó   — | S rA   rŽ   r-   s    r/   r}   z.TestOptimizeSimple.test_bfgs_nan.<locals>.funcÀ  s   € ØˆHr1   c                 ó,   — t        j                  | «      S rA   ©r+   Ú	ones_liker-   s    r/   rê   z0TestOptimizeSimple.test_bfgs_nan.<locals>.fprimeÂ  ó   € Ü—<‘< “?Ð"r1   rë   )rì   ÚinvalidFrí   )r+   Únanrî   r
   rÉ   Úisnan)ro   r}   rê   rU   r.   s        r/   Útest_bfgs_nanz TestOptimizeSimple.test_bfgs_nan¾  s]   € ò	ò	#ä�f‰fˆXˆÜ�[‰[˜h°Ö9Ü×"Ñ" 4¨¨V¸%Ô@ˆAÜ—8‘8™D ›GÔ$Ð$Ñ$÷ :×9Ñ9ús   ¯7A0Á0A9c                 óª  — d„ }t        j                  d¬«      5  t        j                  |d«      }d d d «       t        j                  d   «      sJ ‚|d   du sJ ‚d„ }d	„ }t        j                  d¬«      5  t        j                  |d|¬
«      }d d d «       t        j                  |d   «      sJ ‚|d   du sJ ‚y # 1 sw Y   Œ�xY w# 1 sw Y   Œ9xY w)Nc                 ó"   — t         j                  S rA   ©r+   rÖ  r-   s    r/   r}   z5TestOptimizeSimple.test_bfgs_nan_return.<locals>.funcÍ  ó   € Ü—6‘6ˆMr1   rë   ©rÕ  r   rš   r¾   Fc                 ó0   — | dk(  rdS t         j                  S rO  rÛ  r-   s    r/   r}   z5TestOptimizeSimple.test_bfgs_nan_return.<locals>.funcÖ  s   € Ø˜Qš�1Ð*¤B§F¡FÐ*r1   c                 ó,   — t        j                  | «      S rA   rÒ  r-   s    r/   rê   z7TestOptimizeSimple.test_bfgs_nan_return.<locals>.fprimeØ  rÔ  r1   )r˜   )r+   rî   r
   rª   r×  )ro   r}   rK  rê   s       r/   Útest_bfgs_nan_returnz'TestOptimizeSimple.test_bfgs_nan_returnÉ  sÁ   € ò	ä�[‰[ Ö*Ü×&Ñ& t¨QÓ/ˆF÷ +ô �x‰x˜˜u™Ô&Ð&Ð&Ø�iÑ  EÑ)Ð)Ð)ò	+ò	#ä�[‰[ Ö*Ü×&Ñ& t¨Q°FÔ;ˆF÷ +ô �x‰x˜˜u™Ô&Ð&Ð&Ø�iÑ  EÑ)Ð)Ñ)÷ +Ð*ú÷ +Ð*ús   šB=Á8C	Â=CÃ	Cc                 óº  — t         j                  j                  d«      }t        j                  t        j                  d«      «      |j                  t        | j                  «      «      z  }t        j                  | j                  | j                  |d| j                  d¬«      }t        | j                  |«      | j                  | j                  «      d¬«       y )Nr8   r\   rŽ   F)r<   r–   rh   r“   r;   r    )r+   r7   rv  ÚsqrtÚspacingr©  rg   r
   rÉ   r}   rf   rh   r   )ro   r=   r<   r®   s       r/   Útest_bfgs_numerical_jacobianz/TestOptimizeSimple.test_bfgs_numerical_jacobianà  s™   € ô �i‰i×#Ñ# DÓ)ˆÜ—'‘'œ"Ÿ*™* R›.Ó)¨C¯J©J´s¸4¿=¹=Ó7IÓ,JÑJˆä×#Ñ# D§I¡I¨t×/?Ñ/?Ø,3¸"Ø,0¯L©L¸uôFˆô 	˜Ÿ	™	 &Ó)¨4¯9©9°T·]±]Ó+CØ!ö	#r1   c                 ó*  — g d¢}g d¢}t        j                  ||«      D ]r  \  }}t        j                  | j                  | j
                  ||¬«      }t        | j	                  |j                  «      | j	                  | j                  «      d¬«       Œt y )N)rÂ   r•   ÚTNC©ú2-pointú3-pointN)r—   r˜   r;   r    )	Ú	itertoolsÚproductr
   rª   r}   rf   r   r.   rg   )ro   ÚmethodsÚjacsr—   r˜   rK  s         r/   Útest_finite_differences_jacz.TestOptimizeSimple.test_finite_differences_jací  ss   € Ú'ˆÚ+ˆÜ$×,Ñ,¨W°dÖ;‰KˆF�CÜ×&Ñ& t§y¡y°$×2BÑ2BØ.4¸#ô?ˆFä˜DŸI™I f§h¡hÓ/°·±¸4¿=¹=Ó1IØ!%ö'ñ <r1   c           	      ó  — g d¢}t         t        j                  fz   }t        j                  ||«      D ]d  \  }}|t        j                  u r |«       }t        j
                  | j                  | j                  || j                  |¬«      }|j                  rŒdJ ‚ g d¢}|D ]\  }t        j                  t        «      5  t        j
                  | j                  | j                  || j                  d ¬«       d d d «       Œ^ y # 1 sw Y   ŒixY w)N)útrust-constrrI  ú	trust-ncgútrust-krylov©r—   r˜   r†   )rñ  rò  Údoglegútrust-exact)r   r
   rÂ   rê  rë  rª   r}   rf   r‚   r¾   rÛ   r   rQ   )ro   rì  Úhessesr—   r†   rK  s         r/   Útest_finite_differences_hessz/TestOptimizeSimple.test_finite_differences_hessö  sÖ   € ò MˆÜœxŸ}™}Ð.Ñ.ˆÜ%×-Ñ-¨g°vÖ>‰LˆF�DØ”x—}‘}Ñ$Ù“v�Ü×&Ñ& t§y¡y°$×2BÑ2BØ.4¸$¿)¹)Ø,0ô2ˆFð —>“>Ð!�>ð ?ò IˆÛˆFÜ—‘œzÕ*Ü×!Ñ! $§)¡)¨T×-=Ñ-=Ø)/°T·Y±YØ'+õ-÷ +Ð*ñ ß*Ð*ús   Â<9D Ä D		c                 óZ   — d„ }t        j                  |dgd¬«      }t        |ddd¬«       y )Nc                 ó   — | dk  ry| d| z  z   S )Nr   g÷BŒþÿÿïr\   rŽ   r-   s    r/   r|   z/TestOptimizeSimple.test_bfgs_gh_2169.<locals>.f  s   € Ø�1ŠuØ&à˜2˜a™4‘x�r1   ç      $@Frí   r\   r½  ©r¨   r¡   )r
   rÉ   r   )ro   r|   Úxss      r/   Útest_bfgs_gh_2169z$TestOptimizeSimple.test_bfgs_gh_2169  s-   € ò	 ô
 ×Ñ  C 5¨uÔ5ˆÜ˜˜C d°Ö6r1   c                 óX   ‡— ˆfd„}t        «       Št        j                  |dddd¬«       y )Nc                 óV   •— | d   }|‰vsJ ‚‰j                  |«       d| dz  z  d| z  fS )Nr   rÆ   r4   é   )Úadd)r.   ÚxpÚseens     €r/   r|   z:TestOptimizeSimple.test_bfgs_double_evaluations.<locals>.f  s9   ø€ Ø�1‘ˆBØ˜T‘>Ð!�>Ø�H‰H�RŒLØ�a˜‘d‘7˜B˜q™D�=Ð r1   éœÿÿÿrò   Tr?   )r—   r˜   Útol)Úsetr
   rª   )ro   r|   r  s     @r/   Útest_bfgs_double_evaluationsz/TestOptimizeSimple.test_bfgs_double_evaluations  s'   ø€ ô	!ô ‹uˆÜ×Ñ˜!˜T¨&°dÀÖEr1   c                 ó(  — t        j                  | j                  | j                  | j                  d| j
                  ¬«      }|\  }}}t        | j                  |«      | j                  | j                  «      d¬«       | j                  j                  dk(  sJ | j                  j                  «       ‚| j                  j                  dk(  sJ | j                  j                  «       ‚t        | j                  j                  dd g d¢g d	¢gd
d¬«       y )NrŽ   )r–   rh   r;   r    r£   r×   r_   )gžÈî°>Í<gwTë³¹ à¿gÓUuAXß?)r`   g¿‹ŒHóËà¿g!mÊ²3ß?r¦   r?   r§   )r
   Úfmin_l_bfgs_br}   rf   r‚   rh   r   rg   rk   rr   rl   rm   rs   ©ro   r³   r®   r¯   Úds        r/   Útest_l_bfgs_bz TestOptimizeSimple.test_l_bfgs_b$  sÞ   € ä×'Ñ'¨¯	©	°4×3CÑ3CØ(,¯	©	¸Ø04·±ô>ˆð #Ñˆ��qä˜Ÿ	™	 &Ó)¨4¯9©9°T·]±]Ó+CØ!õ	#ð
 �~‰~×Ñ 1Ò$Ð6 d§n¡n×&6Ñ&6Ó6Ð$Ø�~‰~×Ñ 1Ò$Ð6 d§n¡n×&6Ñ&6Ó6Ð$ô 	˜Ÿ
™
Ÿ™ Q qÐ)ÚDÚ6ð8à"¨ö	/r1   c                 óê   — t        j                  | j                  | j                  d| j                  ¬«      }|\  }}}t        | j                  |«      | j                  | j                  «      d¬«       y )NT)Úapprox_gradrh   r;   r    )r
   r	  r}   rf   rh   r   rg   r
  s        r/   Útest_l_bfgs_b_numjacz'TestOptimizeSimple.test_l_bfgs_b_numjac;  s]   € ä×'Ñ'¨¯	©	°4×3CÑ3CØ48Ø04·±ô>ˆð #Ñˆ��qä˜Ÿ	™	 &Ó)¨4¯9©9°T·]±]Ó+CØ!ö	#r1   c                 óà   ‡ — ˆ fd„}t        j                  |‰ j                  ‰ j                  ¬«      }|\  }}}t	        ‰ j                  |«      ‰ j                  ‰ j                  «      d¬«       y )Nc                 óH   •— ‰j                  | «      ‰j                  | «      fS rA   )r}   r‚   )r.   ro   s    €r/   rš   z4TestOptimizeSimple.test_l_bfgs_b_funjac.<locals>.funH  s   ø€ Ø—9‘9˜Q“< §¡¨1£Ð-Ð-r1   ©rh   r;   r    )r
   r	  rf   rh   r   r}   rg   )ro   rš   r³   r®   r¯   r  s   `     r/   Útest_l_bfgs_b_funjacz'TestOptimizeSimple.test_l_bfgs_b_funjacF  s^   ø€ ô	.ô ×'Ñ'¨¨T×-=Ñ-=Ø04·±ô>ˆð #Ñˆ��qä˜Ÿ	™	 &Ó)¨4¯9©9°T·]±]Ó+CØ!ö	#r1   c                 ó¢  —  G d„ d«      } |«       }t        j                  t         j                  ddgd|ddi¬«      }t        |j                  d«       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  d«       |j                  d	u sJ ‚t        |j                  d
«       y )Nc                   ó   — e Zd Zd„ Zd„ Zy)ú:TestOptimizeSimple.test_l_bfgs_b_maxiter.<locals>.Callbackc                 ó.   — d| _         d | _        d | _        y rO  )rø   rš   r.   rn   s    r/   Ú__init__zCTestOptimizeSimple.test_l_bfgs_b_maxiter.<locals>.Callback.__init__W  s   € Ø�”Ø�”Ø�•r1   c                 óp   — || _         t        j                  |«      | _        | xj                  dz  c_        y r(   )r.   r
   r   rš   rø   ©ro   r.   s     r/   Ú__call__zCTestOptimizeSimple.test_l_bfgs_b_maxiter.<locals>.Callback.__call__\  s&   € Ø�”Ü#Ÿ>™>¨!Ó,�”Ø—’˜A‘–r1   N©rŠ   r‹   rŒ   r  r  rŽ   r1   r/   ÚCallbackr  V  s   „ òó
r1   r  r`   úl-bfgs-brh   r×   )r—   Úcallbackr™   r)   Fz+STOP: TOTAL NO. OF ITERATIONS REACHED LIMIT)r
   rª   r   r   rø   r   r.   rš   r�   r¾   Úmessage)ro   r  rr   r­   s       r/   Útest_l_bfgs_b_maxiterz(TestOptimizeSimple.test_l_bfgs_b_maxiterS  s£   € ÷		ñ 		ñ ‹JˆÜ×Ñ¤§¡°°R°ÀØ)*°YÀ°NôDˆô 	�S—W‘W˜aÔ Ü˜CŸE™E 1§3¡3Ô'Ü˜CŸG™G Q§U¡UÔ+Ü�S—Z‘Z Ô#Ø�{‰{˜eÑ#Ð#Ð#Ü�S—[‘[ØBõ	Dr1   c                 ó,  — d| j                   i}t        j                  | j                  | j                  d| j
                  |¬«      }t        | j                  |j                  «      | j                  | j                  «      d¬«       | j                  j                  |j                  k(  sJ ‚dx| j                  _
        | j                  _
        t        j                  | j                  | j                  d|¬«      }| j                  j                  |j                  k(  sJ ‚t        | j                  |j                  «      | j                  | j                  «      d¬«       dx| j                  _
        | j                  _
        t        j                  | j                  | j                  dd|¬	«      }| j                  j                  |j                  k(  sJ ‚t        | j                  |j                  «      | j                  | j                  «      d¬«       y )
Nrh   úL-BFGS-B©r—   r˜   r™   r;   r    r   rõ   ré  ©r˜   r—   r™   )rh   r
   rª   r}   rf   r‚   r   r.   rg   rl   rr   rœ   rk   r›   )ro   r¬   rV   Úras       r/   Útest_minimize_l_bfgs_bz)TestOptimizeSimple.test_minimize_l_bfgs_bm  s†  € à˜4Ÿ<™<Ð(ˆÜ×Ñ˜dŸi™i¨×)9Ñ)9Ø%/°T·Y±YØ&*ô,ˆô 	˜Ÿ	™	 !§#¡#›¨¯	©	°$·-±-Ó(@Ø!õ	#à�~‰~×Ñ 1§6¡6Ò)Ð)Ð)à./Ð/ˆ�‰Ô˜4Ÿ>™>Ô+ä×Ñ˜tŸy™y¨$×*:Ñ*:Ø&0¸$ô@ˆð �~‰~×Ñ 2§7¡7Ò*Ð*Ð*Ü˜Ÿ	™	 "§$¡$›¨¯©°4·=±=Ó)AØ!õ	#ð /0Ð/ˆ�‰Ô˜4Ÿ>™>Ô+ä×Ñ˜tŸy™y¨$×*:Ñ*:À	Ø&0¸$ô@ˆà�~‰~×Ñ 2§7¡7Ò*Ð*Ð*Ü˜Ÿ	™	 "§$¡$›¨¯©°4·=±=Ó)AØ!ö	#r1   c                 ó@  — d }dD ]—  }| j                   |dœ}t        j                  | j                  | j                  d| j
                  |¬«      }| j                  |j                  «      }|€|}n||k  sJ ‚t        || j                  | j                  «      |¬«       Œ™ y )N)r>   r½  r?   r±  )rh   r³  r#  r$  r¼   )	rh   r
   rª   r}   rf   r‚   r.   r   rg   )ro   Úv0r  r¬   r¿   Úvs         r/   Útest_minimize_l_bfgs_b_ftolz.TestOptimizeSimple.test_minimize_l_bfgs_b_ftol‰  s‹   € àˆÛ,ˆCØ#Ÿ|™|°SÑ9ˆDÜ×#Ñ# D§I¡I¨t×/?Ñ/?Ø+5¸4¿9¹9Ø,0ô2ˆCð —	‘	˜#Ÿ%™%Ó ˆAàˆzØ‘à˜2’v��vä˜A˜tŸy™y¨¯©Ó7¸cÖBñ -r1   c                 óº   — t        j                  t         j                  t        j                  ddg«      dt         j
                  ddi¬«      }|j                  rJ ‚y )Nrý   r\   r#  Úmaxlsr)   r$  )r
   rª   r   r+   rL   r   r¾   )ro   r¿   s     r/   Útest_minimize_l_bfgs_maxlsz-TestOptimizeSimple.test_minimize_l_bfgs_maxlsš  sI   € ä×Ñ¤§¡´·±¸$À¸Ó0EØ'1´x×7IÑ7IØ)0°!¨ô6ˆð —;’;Ðˆ�;r1   c                 ó|  ‡‡— t         j                  Št         j                  }g Št        j                  dd«      }ˆˆfd„}d\  }}}t        j
                  ||||¬«       t        d„ t        ‰|d  «      D «       «      \  }}||z   }	t        ‰d | «      }
t        j
                  ‰|||	¬«      \  }}}t        ||
«       y )Nr£   ra   c                 ó:   •—  ‰| «      }‰j                  |«       |S rA   )rx   )r.   Úvaluer|   Úvaluess     €€r/   ÚobjfunzMTestOptimizeSimple.test_minimize_l_bfgs_b_maxfun_interruption.<locals>.objfun¨  s   ø€ Ù�a“DˆEØ�M‰M˜%Ô ØˆLr1   )é   r2  i,  )rê   Úmaxfunc              3   ó*   K  — | ]  \  }}||f–— Œ y ­wrA   rŽ   )Ú.0r‚  Úys      r/   Ú	<genexpr>zPTestOptimizeSimple.test_minimize_l_bfgs_b_maxfun_interruption.<locals>.<genexpr>²  s   è ø€ ÐAÑ&@™d˜a �A�q”6Ñ&@ùs   ‚)
r
   r   r   r+   Úfullr	  ÚmaxÚ	enumerateÚminr   )ro   ÚgrU   r3  ÚlowÚmediumÚhighr*  Úkr5  ÚtargetÚxminr+  r  r|   r2  s                 @@r/   Ú*test_minimize_l_bfgs_b_maxfun_interruptionz=TestOptimizeSimple.test_minimize_l_bfgs_b_maxfun_interruption¡  s³   ù€ ä�N‰NˆÜ×ÑˆØˆÜ�W‰W�Q˜Óˆõ	ð )ÑˆˆV�TÜ×Ñ˜v r°!¸DÕAÜÑA¤i°°v°w°Ô&@ÓAÓA‰ˆˆ1Ø˜!‘ˆô �V˜D˜S�\Ó"ˆÜ ×.Ñ.¨q°"¸QÀvÔN‰ˆˆd�AÜ˜$ Õ'r1   c                 ó¬   — 	 	 d	d„}g d¢}t        j                  t         j                  ||t        d¬«      ¬«      }t	        |j
                  ddd¬«       y )
Nc                 ó˜  — |} | |«      }	d}
d}d}d}|rš|s˜||k  r“d}|dz  }t        t        j                  |«      «      D ]a  }||   |z
  ||   |z   fD ]6  }t        j                  |«      }|||<    | |g|¢­Ž }|
dz  }
||	k  sŒ1|}	|}d}Œ8 |� ||«       |€ŒY|
|k\  sŒ_d} n |r|s||k  rŒ“t	        j
                  |	|||
|dkD  ¬«      S )Nr)   r   TF©rš   r.   rø   r›   r¾   )r5  r+   Úsizery   r
   r   )rš   rU   r–   ru  Ústepsizerh   r  r™   ÚbestxÚbestyÚfuncallsÚniterÚimprovedÚstopÚdimÚsÚtestxÚtestys                     r/   Úcustminz/TestOptimizeSimple.test_custom.<locals>.custmin½  s  € àˆEÙ˜“GˆEØˆHØˆEØˆHØˆDá¡4¨E°GªOØ �Ø˜‘
�Ü ¤§¡¨£Ö-�CØ# C™j¨8Ñ3°U¸3±ZÀ(Ñ5JÓK˜Ü "§¡¨£˜Ø%&˜˜c™
Ù # EÐ 1¨DÒ 1˜Ø  A™˜Ø  5›=Ø$)˜EØ$)˜EØ'+™Hð Lð  Ð+Ù  œØÑ)¨h¸&Ó.@Ø#˜Ùð .ñ ¡4¨E°G«Oô& ×*Ñ*¨u¸À5Ø08À5È1Á9ôOð Or1   )gš™™™™™õ?r  rÔ   çš™™™™™ñ?rÖ   çš™™™™™©?©rJ  rõ   r\   r½  rû  ©rŽ   Nr>   r2  N)r
   rª   r   rT  r   r.   )ro   rU  rU   r­   s       r/   Útest_customzTestOptimizeSimple.test_custom»  sI   € à<?Ø*.ó	Oò> (ˆÜ×Ñ¤§¡°¸7Ü(,°dÔ(;ô=ˆä˜Ÿ™˜s¨°DÖ9r1   c                 óx   ‡‡— ddgŠdŠˆˆfd„}ddg}t        j                  t         j                  ||‰‰¬«       y )N)r°  r4   )r   r_   Úconstraintsc                 óP   •— |d   ‰u sJ ‚|d   ‰u sJ ‚t        j                  «       S )Nr!  r\  ©r
   r   )rš   rU   r™   r!  r\  s      €€r/   rU  z0TestOptimizeSimple.test_gh10771.<locals>.custminç  s8   ø€ Ø˜8Ñ$¨Ñ.Ð.Ð.Ø˜=Ñ)¨[Ñ8Ð8Ð8Ü×*Ñ*Ó,Ð,r1   r)   )r—   r!  r\  )r
   rª   r   )ro   rU  rU   r!  r\  s      @@r/   Útest_gh10771zTestOptimizeSimple.test_gh10771á  sB   ù€ ð ˜6Ð"ˆØ#ˆõ	-ð
 �ˆVˆÜ×Ñœ(Ÿ.™.¨"°WØ!'°[ö	Br1   c           	      óH  — d„ }d„ }dD ]—  }|dv rd }n|}t        j                  |ddg|d|¬«      }t        j                  |ddg|d|¬«      } ||j                  «       ||j                  «      k  rŒjJ |› d	 ||j                  «      › d
 ||j                  «      › �«       ‚ y )Nc                 ó4   — | \  }}|dz  |dz  z  |dz  z   dz   S )Nr4   r¤   r)   rŽ   ©Úzr.   r8  s      r/   r}   z<TestOptimizeSimple.test_minimize_tol_parameter.<locals>.funcò  s+   € Ø‰DˆAˆqØ�a‘4˜˜1™‘9˜q !™tÑ# aÑ'Ð'r1   c                 óp   — | \  }}t        j                  d|z  |dz  z  d|dz  z  z   d|dz  z  |z  g«      S )Nr4   r¤   r_   ©r+   rL   rb  s      r/   Údfuncz=TestOptimizeSimple.test_minimize_tol_parameter.<locals>.dfuncö  sD   € Ø‰DˆAˆqÜ—8‘8˜Q˜q™S  A¡™X¨¨!¨Q©$©Ñ.°°!°Q±$±°q±Ð9Ó:Ð:r1   ©
rB  Úpowellr  rò   rR  r  ÚtncÚcobylarf  Úslsqp©rB  rh  rj  rf  r4   r±  )r˜   r  r—   r\   ú: z vs. )r
   rª   r.   )ro   r}   rf  r—   r˜   Úsol1Úsol2s          r/   Útest_minimize_tol_parameterz.TestOptimizeSimple.test_minimize_tol_parameterð  s¶   € ò	(ò	;ó4ˆFð ÐFÑFØ‘à�ä×$Ñ$ T¨A¨q¨6°sÀØ,2ô4ˆDä×$Ñ$ T¨A¨q¨6°sÀØ,2ô4ˆDá˜Ÿ™“<¡$ t§v¡v£,Ó.ð BØ�X˜R¡ T§V¡V£˜~¨U±4¸¿¹³<°.ÐAóBÐ.ñ4r1   rÆ   rå   úignore::RuntimeWarningr—   )r+  r  r«   rÉ   r[  r	  Úfmin_tncÚ
fmin_slsqpc                 ó¶  ‡‡
— ‰dv rd„ }n0t         j                  }t         j                  }t         j                  }t	        j
                  d«      }i }‰j                  d«      r6t        t         ‰«      }‰dk(  rd|d<   nY‰dk(  rd	|d
<   nN‰dv rd|d<   nDd|d<   n>ˆfd„}‰dk(  rt        d	¬«      |d<   n$‰dk(  rt        d	¬«      |d<   nt        d¬«      |d<   ‰dv r|d<   n‰dv r|d<   n‰dv r
|d<   |d<   g Š
ˆ
fd„} |||fd|i|¤Ž t        ‰
«      dkD  sJ ‚t        d„ ‰
D «       «      sJ ‚t        j                  ‰
d«      }	t        d„ |	D «       «      rJ ‚y )N)rr  r	  c                 óV   — t        j                  | «      t        j                  | «      fS rA   )r
   r   r   r-   s    r/   r}   zDTestOptimizeSimple.test_minimize_callback_copies_array.<locals>.func  s!   € Ü—~‘~ aÓ(¬(×*<Ñ*<¸QÓ*?Ð?Ð?r1   rÆ   r+  rs  r×   Úiterrr  r2  r5  )r+  r  i¬  rh   c                  ó8   •— ‰|d<   t        j                  | i |¤ŽS )Nr—   ©r
   rª   )ÚaÚkwr—   s     €r/   ÚroutinezGTestOptimizeSimple.test_minimize_callback_copies_array.<locals>.routine+  s"   ø€ Ø%��8‘Ü×(Ñ(¨!Ð2¨rÑ2Ð2r1   ri  ©r5  r™   rj  r  )r[  rê   )rR  r˜   ©rò  rõ  rñ  rô  rð  r†   c                 óŠ   •— t        | t        j                  «      rJ ‚‰j                  | t	        j
                  | «      f«       y rA   )Ú
isinstancer
   r   rx   r+   ry   )r.   r–   rÂ  Úresultss      €r/   r  zHTestOptimizeSimple.test_minimize_callback_copies_array.<locals>.callbackB  s1   ø€ Ü! !¤X×%<Ñ%<Ô=Ð=Ð=Ø�N‰N˜AœrŸw™w q›z˜?Õ+r1   r  r4   c              3   óR   K  — | ]  \  }}t        j                  ||k(  «      –— Œ! y ­wrA   )r+   rK   ©r7  r.   r8  s      r/   r9  zITestOptimizeSimple.test_minimize_callback_copies_array.<locals>.<genexpr>K  s!   è ø€ Ð6©g¡d a¨”2—6‘6˜!˜q™&—>©gùs   ‚%'c              3   óZ   K  — | ]#  \  }}t        j                  |d    |d    «      –— Œ% y­w)r   N)r+   Úmay_share_memoryr‚  s      r/   r9  zITestOptimizeSimple.test_minimize_callback_copies_array.<locals>.<genexpr>M  s*   è ø€ ÐPÁ<¹4¸1¸a”r×*Ñ*¨1¨Q©4°°1±×6Á<ùs   ‚)+)r
   r   r   r   r+   rd   Ú
startswithÚgetattrrT  r©  rK   rê  ÚcombinationsÚany)ro   r—   r}   r˜   r†   rU   rÂ  r{  r  r‡  r€  s    `        @r/   Ú#test_minimize_callback_copies_arrayz6TestOptimizeSimple.test_minimize_callback_copies_array	  sš  ù€ ð Ð2Ñ2ó@ô —>‘>ˆDÜ×$Ñ$ˆCÜ×&Ñ&ˆDä�X‰X�b‹\ˆð ˆØ×Ñ˜VÔ$Üœh¨Ó/ˆGØ˜Ò%Ø!"��v’Ø˜:Ò%Ø#&��xÒ ØÐ2Ñ2Ø$(��yÒ!à$%��yÒ!ô3ð ˜ŠÜ$(°Ô$4��yÒ!Ø˜8Ò#Ü$(°Ô$5��yÒ!ä$(°¤O��yÑ!à�]Ñ"Ø"ˆF�8ÒØ�~Ñ%ØˆF�5ŠMØð (ñ (àˆF�5‰MØ!ˆF�6‰Nð ˆô	,ñ 	��bÑ6 8Ð6¨vÒ6ô �7‹|˜aÒÐÐÜÑ6©gÓ6Ô6Ð6Ð6Ü ×-Ñ-¨g°qÓ9ˆÜÑPÁ<ÓPÔPÐPÐPÐPr1   rg  c                 óx  — d„ }d„ }t        j                  dg«      } ||«      }|}|dk(  rt        d¬«      nt        d¬«      }|dv rd }t        j                  |||||¬	«      }t         ||j                  «      |j                  «       |d
k(  rt        j                  d«        ||j                  «      |k  sJ ‚y )Nc                 ó   — | dz
  dz  S r3   rŽ   r-   s    r/   r}   z1TestOptimizeSimple.test_no_increase.<locals>.funcV  ó   € Ø˜‘E˜A‘:Ðr1   c                 ó   — d| dz
  z  dz  dz
  S )Nr4   r)   rH  rŽ   r-   s    r/   Úbad_gradz5TestOptimizeSimple.test_no_increase.<locals>.bad_gradY  s   € ð �a˜!‘e‘9 Ñ# aÑ'Ð'r1   ç       @ri  r   r|  r  rl  r%  rk  zSLSQP returns slightly worse)
r+   rL   rT  r
   rª   r   r.   rš   rÛ   rn  )	ro   r—   r}   rŽ  rU   Úf0r˜   r™   r¿   s	            r/   Útest_no_increasez#TestOptimizeSimple.test_no_increaseO  s«   € ò	ò	(ô
 �X‰X�s�e‹_ˆÙ�"‹XˆØˆØ%+¨u¢_”$˜b•/¼$ÀrÔ:JˆØÐBÑBØˆCÜ×Ñ  b¨c¸&Ø(/ô1ˆä‘T˜#Ÿ%™%“[ #§'¡'Ô*à�WÒÜ�L‰LÐ7Ô8Ù�C—E‘E‹{˜bÒ Ð Ñ r1   c                 óÖ   — d„ }d„ }t        j                  g d¢«      }t        j                  ||dd|dœ¬«      }t	        |j
                  t        j                  g d¢«      d	z  d
¬«       y )Nc                 óN   — t        | t        j                  g d¢«      z
  dz  «      S )N)r\   r�  rD  r�  r4   )rC   r+   rL   r-   s    r/   r|   z7TestOptimizeSimple.test_slsqp_respect_bounds.<locals>.fn  s!   € Ü˜œBŸH™HÒ%5Ó6Ñ6¸Ñ:Ó;Ð;r1   c                 ó¾   — t        j                  g d¢g d¢g«      }t        j                  t        j                  || «      t        j                  ddg«      z   | g«      S )N)rH  rH  rH  rH  )éýÿÿÿr•  r°  rH  r×   rÆ   )r+   rL   Úconcatenaterv   ©r.   ry  s     r/   Úconsz:TestOptimizeSimple.test_slsqp_respect_bounds.<locals>.consq  sG   € Ü—‘Ò*Ò,<Ð=Ó>ˆAÜ—>‘>¤2§6¡6¨!¨Q£<´"·(±(¸A¸r¸7Ó2CÑ#CÀQÐ"GÓHÐHr1   )r^   r\   r6   r�  rk  Úineq©Útyperš   ©r—   r\  )r`   r4   r×   rÇ   r_   gê-�™—q=r    )r+   rL   r
   rª   r   r.   )ro   r|   r˜  rU   r­   s        r/   Útest_slsqp_respect_boundsz,TestOptimizeSimple.test_slsqp_respect_boundsl  s[   € ò	<ò	Iô �X‰XÒ(Ó)ˆÜ×Ñ  2¨gØ5;ÀDÑ,IôKˆä˜Ÿ™œrŸx™xªÓ6°qÑ8¸uÖEr1   )rt  r  r•   rÂ   rI  r#  ÚSLSQPrð  rô  rñ  rõ  rò  rf  c           	      óv  — d}t        j                  d«      }t        t        j                  |dt        j
                  t        j                  d d «      }|t        |¬«      dœ}|dv r|j                  |d<   n"|dv r|j                  |d<   |j                  |d	<   t        j                  |j                  |fi |¤Ž}|j                  |k(  sJ ‚|j                  |j                  k\  sJ ‚t        |d
«      r|j                  |j                   k\  sJ ‚|dk(  r|j"                  dk(  sJ ‚y |dk(  r|j"                  dk(  sJ ‚y y )Nr¤   rÆ   rŽ   r  rõ   )rI  r˜   r}  r†   rœ   rž  r¢   rf  rÈ   )r+   rd   r   r
   r   r   r   rT  r‚   r†   rª   rš   rø   r›   rt   rœ   Úngevr�   )ro   r—   ÚMAXITERrU   ÚsfrÂ  r¿   s          r/   Útest_respect_maxiterz'TestOptimizeSimple.test_respect_maxiterz  s&  € ð ˆä�X‰X�b‹\ˆäœHŸN™N¨B°´H×4FÑ4FÜ$×/Ñ/°°tó=ˆð #¬t¸GÔ/DÑEˆà�^Ñ#ØŸG™GˆF�5ŠMØð (ñ (àŸG™GˆF�5‰MØŸW™WˆF�6‰Nä×Ñ §¡¨Ñ5¨fÑ5ˆØ�w‰w˜'Ò!Ð!Ð!Ø�x‰x˜2Ÿ7™7Ò"Ð"Ð"Ü�3˜ÔØ—8‘8˜rŸw™wÒ&Ð&Ð&ð �WÒØ—:‘: ’?Ð"‘?Ø�xÒØ—:‘: ’?Ð"‘?ð  r1   )rt  r  r+  r  c           	      óÀ  — t        j                  d«      }t        t        j                  |dt        j
                  t        j                  d d «      }dddœ}t        j                  t        d¬«      5  |j                  d«      r%t        t        |«      } ||j                  |fi |¤Ž n#t        j                  |j                  |||¬	«       d d d «       y # 1 sw Y   y xY w)
NrÆ   rŽ   r)   Trg  zMaximum number of iterationsrÏ   r+  rõ   )r+   rd   r   r
   r   r   r   rÛ   r§  ÚRuntimeWarningr…  r†  rš   rª   )ro   r—   rU   r¢  r™   r{  s         r/   Útest_runtime_warningz'TestOptimizeSimple.test_runtime_warningŸ  s®   € ô �X‰X�b‹\ˆÜœHŸN™N¨B°´H×4FÑ4FÜ$×/Ñ/°°tó=ˆà¨Ñ.ˆÜ�\‰\œ.Ø ?öAà× Ñ  Ô(Ü!¤(¨FÓ3�Ù˜Ÿ™ Ñ. gÓ.ä×!Ñ! "§&¡&¨"°VÀWÕM÷A÷ Añ Aús   Á1ACÃCc                 ó  — d}t         j                  }t         j                  }t         j                  }d„ }d|dœf}t	        j
                  d«      }t        j                  |||||dt        |¬«      ¬«      }|j                  |k(  sJ ‚y )	Nr¤   c                 ó^   — t        j                  d| d   z  d| d   z  z
  d| d   z  z
  g«      S )NrI   r   çš™™™™™Ù?r)   ç…ëQ¸Õ?r4   re  r-   s    r/   rš   zRTestOptimizeSimple.test_respect_maxiter_trust_constr_ineq_constraints.<locals>.fun·  s6   € Ü—8‘8˜S 1 Q¡4™Z¨#°°!±©*Ñ4°t¸aÀ¹d±{ÑBÐCÓDÐDr1   r™  rš  rÆ   rð  r  )r\  r˜   r†   r—   r™   )	r
   r   r   r   r+   rd   rª   rT  rø   )	ro   r¡  r|   r˜   r†   rš   r˜  rU   r¿   s	            r/   Ú2test_respect_maxiter_trust_constr_ineq_constraintszETestOptimizeSimple.test_respect_maxiter_trust_constr_ineq_constraints®  sˆ   € ð ˆÜ�N‰NˆÜ× Ñ ˆÜ×"Ñ"ˆò	EàØñð ˆô �X‰X�b‹\ˆÜ×Ñ  2°4¸SÀtØ'5Ü(,°WÔ(=ô?ˆð �w‰w˜'Ò!Ð!Ñ!r1   c                 ón  — d„ }d„ }t        j                  dg«      }t        j                  ||«      }t        j                  ||d|dœg¬«      }t        j                  ||dg¬«      }t        j                  ||d|dœgdg¬	«      }t        j                  ||d|dœgd
g¬	«      }|||||fD ]  }	|	j                  rŒJ ‚ t        |j                  dd¬«       t        |j                  dd¬«       t        |j                  dd¬«       t        |j                  dd¬«       t        |j                  dd¬«       y )Nc                 ó   — | dz  S r>  rŽ   r-   s    r/   r|   z6TestOptimizeSimple.test_minimize_automethod.<locals>.fÃ  ó   € Ø�a‘4ˆKr1   c                 ó   — | dz
  S r>  rŽ   r-   s    r/   r˜  z9TestOptimizeSimple.test_minimize_automethod.<locals>.consÆ  s   € Ø�q‘5ˆLr1   rú  r™  rš  )r\  )r×   rÆ   ©r!  )r\  r!  ©r)   rÆ   r   r?   r    r4   r×   )r+   rL   r
   rª   r¾   r   r.   )
ro   r|   r˜  rU   Úsol_0Úsol_1Úsol_2Úsol_3Úsol_4r¿   s
             r/   Útest_minimize_automethodz+TestOptimizeSimple.test_minimize_automethodÂ  s(  € ò	ò	ô �X‰X�s�e‹_ˆÜ×!Ñ! ! RÓ(ˆÜ×!Ñ! ! R¸vØ>Bñ7Dð 6Eô Fˆä×!Ñ! ! R°°	Ô:ˆÜ×!Ñ! ! RØ8>ÀtÑ/LÐ.MØ*1¨ô4ˆô ×!Ñ! ! RØ8>ÀtÑ/LÐ.MØ*1¨ô4ˆð ˜5 %¨°Ó6ˆCØ—;“;Ð�;ð 7ä˜Ÿ™ ¨Õ.Ü˜Ÿ™ ¨Õ.Ü˜Ÿ™ ¨Õ.Ü˜Ÿ™ ¨Õ.Ü˜Ÿ™ ¨Ö.r1   c                 óæ   — d„ }dd„}t        j                  g d¢«      }t         j                  j                  d«      }|j	                  t        |«      «      }t        j                  ||||d¬«       y )Nc                 ó8   — t        j                  | |z
  dz  «      S r>  r?  ©r.   rr   s     r/   ÚYz=TestOptimizeSimple.test_minimize_coerce_args_param.<locals>.YÞ  s   € Ü—6‘6˜1˜Q™3 ™(Ó#Ð#r1   c                 ó   — d| |z
  z  S r>  rŽ   rº  s     r/   ÚdY_dxzATestOptimizeSimple.test_minimize_coerce_args_param.<locals>.dY_dxá  s   € Ø�a˜‘c‘7ˆNr1   )r_   r)   r¤   r)   r×   r¢   r4   rÈ   r×   r_   r×   r8   rÂ   )r˜   r–   r—   rA   )r+   rL   r7   rv  Ústandard_normalr©  r
   rª   )ro   r»  r½  rr   r=   Úxinits         r/   Útest_minimize_coerce_args_paramz2TestOptimizeSimple.test_minimize_coerce_args_paramÜ  s[   € ò	$ó	ô �H‰HÒ6Ó7ˆÜ�i‰i×#Ñ# DÓ)ˆØ×#Ñ#¤C¨£FÓ+ˆÜ×Ñ˜!˜U¨°QÀÖGr1   c                 ó  ‡	‡
‡— g d¢}g d¢}ˆ	ˆ
ˆfd„}ˆ
fd„}t        j                  ||«      D ]Ï  \  Š
}|dv rt        ‰
dz  ¬«      }n
t        «       }‰
dk  r|d	v rŒ.d
gŠd gŠ	t        j                  |‰|||¬«      }|› d‰
› d‰	› d|› �}|j
                  sJ |«       ‚t        |j                  dg|¬«       |j                  dk  sJ |«       ‚‰
dkD  r.|dv rt        ‰	d   d|¬«       Œ¸‰	d   dkD  r	‰	d   dk  rŒÉJ |«       ‚ŒÑ y )N)g¸ÔJzî�5r)   gšd~ÅQJ)r•   rÂ   r#  rI  c                 ó¼   •— ‰d   €"| d   ‰d   k7  rt        | d   ‰d   z
  «      ‰d<   t        | «      j                  «       dkD  rt        d«      ‚‰| d   dz
  dz  z  S )Nr   g     ˆÃ@zOptimization stepped far away!r)   r4   )rN   r;  ÚAssertionError)r.   Úfirst_step_sizeÚscalerU   s    €€€r/   r|   z7TestOptimizeSimple.test_initial_step_scaling.<locals>.fð  sl   ø€ Ø˜qÑ!Ð)¨a°©d°b¸±eªmÜ%(¨¨1©°°1±©Ó%6� Ñ"Ü�1‹v�z‰z‹|˜cÒ!Ü$Ð%EÓFÐFØ˜!˜A™$ ™( Q™Ñ&Ð&r1   c                 óB   •— t        j                  ‰| d   dz
  z  g«      S ©Nr   r)   re  )r.   rÅ  s    €r/   r>  z7TestOptimizeSimple.test_initial_step_scaling.<locals>.g÷  s"   ø€ Ü—8‘8˜U A a¡D¨1¡HÑ-Ð.Ó/Ð/r1   )r•   rÂ   rÿ   )rö   r±  )r#  rI  ç      ð¿r%  Ú rm  r\   ©Úerr_msgr_   r   ç)\�Âõ(ð?r^   )	rê  rë  rT  r
   rª   r¾   r   r.   rø   )ro   Úscalesrì  r|   r>  r—   r™   r­   rË  rÄ  rÅ  rU   s            @@@r/   Útest_initial_step_scalingz,TestOptimizeSimple.test_initial_step_scalingé  s2  ú€ ò "ˆÚ9ˆö	'ô	0ô '×.Ñ.¨v°wÖ?‰MˆE�6Ø˜Ñ'Ü E¨$¡JÔ/‘ä›&�à�uŠ} Ð+DÑ!Dàà�ˆBØ#˜fˆOÜ×#Ñ# A r¨q¸Ø,3ô5ˆCð  ˜  % ¨¨?Ð*;¸2¸c¸UÐCˆGà—;’;Ð' Ó'�;Ü˜CŸE™E C 5°'Õ:Ø—7‘7˜a’<Ð( Ó(�<à�uŠ}Ø˜^Ñ+Ü# O°AÑ$6¸ÀgÖNð +¨1Ñ-°Ò3¸ÈÑ8JÈQÓ8NÐWÐPWÓWÐNð ñ? @r1   )rB  rh  r  rò   rR  r  ri  rf  rk  rð  rô  rñ  rõ  rò  c                 ó   ‡‡— t         j                  j                  d«      ŠdgŠd„ }ˆˆfd„}d„ }d„ }t        j                  dg«      }|dv }|d	v }||g}	|r|gn|d g}
|r|gn|d g}|d
k(  rt	        d¬«      nt	        d¬«      }t        j
                  d¬«      5  t        j                  «       5  t        j                  ddt        «       t        j                  ddt        «       t        j                  ddt        «       t        j                  |	|
|«      D ]:  \  }}}dgŠt        j                  ||||||¬«      }t        |j                   d«       Œ< 	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Niòà r   c                 ó"   — t         j                  S rA   rÛ  r-   s    r/   r}   z0TestOptimizeSimple.test_nan_values.<locals>.func)  rÜ  r1   c                 ón   •— ‰dxx   dz  cc<   ‰d   dkD  rt         j                  S ‰j                  «       S rµ  )r+   rÖ  r7   )r.   Úcountr=   s    €€r/   Úfunc2z1TestOptimizeSimple.test_nan_values.<locals>.func2,  s0   ø€ Ø�!‹H˜‰M‹HØ�Q‰x˜!Š|Ü—v‘v�à—z‘z“|Ð#r1   c                 ó.   — t        j                  dg«      S ©Nr\   re  r-   s    r/   r‚   z0TestOptimizeSimple.test_nan_values.<locals>.grad3  s   € Ü—8‘8˜S˜E“?Ð"r1   c                 ó0   — t        j                  dgg«      S rÕ  re  r-   s    r/   r†   z0TestOptimizeSimple.test_nan_values.<locals>.hess6  s   € Ü—8‘8˜c˜U˜GÓ$Ð$r1   r\   ©rR  rò  rõ  rñ  rô  ©rò  rõ  rñ  rô  ri  r   r|  r  rë   rÝ  údelta_grad == 0.*ú.*does not use Hessian.*ú.*does not use gradient.*©r˜   r†   r—   r™   F)r+   r7   rv  rL   rT  rî   ÚwarningsÚcatch_warningsrl  ÚUserWarningr¥  rê  rë  r
   rª   r   r¾   )ro   r—   r}   rÓ  r‚   r†   rU   Ú
needs_gradÚ
needs_hessÚfuncsÚgradsÚhesssr™   r|   r>  Úhr¿   rÒ  r=   s                    @@r/   Útest_nan_valuesz"TestOptimizeSimple.test_nan_values  sh  ù€ ô �i‰i×#Ñ# FÓ+ˆà�ˆò	õ	$ò	#ò	%ô �X‰X�s�e‹_ˆàð  7ð 7ˆ
àð  *ð *ˆ
ð �u�ˆÙ$�‘¨4°¨,ˆÙ$�‘¨4°¨,ˆØ%+¨u¢_”$˜b•/¼$ÀrÔ:Jˆä�[‰[ Ö*¬H×,CÑ,CÕ,EÜ×#Ñ# HÐ.AÄ;ÔOÜ×#Ñ#ØÐ4´nôFä×#Ñ#ØÐ5´~ôGô %×,Ñ,¨U°E¸5ÖA‘��1�aØ˜�Ü×'Ñ'¨¨2°1¸1ÀVØ07ô9�ä˜SŸ[™[¨%Õ0ñ	 B÷ -F×*Ð*×,EÐ,Eú×*Ð*ús%   ÂE4Â0B&E(ÅE4Å(E1	Å-E4Å4E=)rB  r  rò   r  ri  rj  rf  rk  rð  rô  rñ  rõ  rò  c           	      óŒ  — d x}}|dv r| j                   }|dv r| j                  }t        j                  d¬«      5  t	        j
                  «       5  t	        j                  ddt        «       t        j                  | j                  | j                  |||¬«       d d d «       d d d «       t        dt        | j                  j                  «      «      D ]W  }t        j                   | j                  j                  |dz
     | j                  j                  |   «      sŒKt#        d|› �«      ‚ y # 1 sw Y   Œ•xY w# 1 sw Y   Œ™xY w)	Nr×  rØ  rë   rÝ  rÙ  ró  r)   zDuplicate evaluations made by )r‚   r†   r+   rî   rÝ  rÞ  rl  rß  r
   rª   r}   rf   r5  r©  rm   rs   Úarray_equalru   )ro   r—   r˜   r†   r‚  s        r/   Útest_duplicate_evaluationsz-TestOptimizeSimple.test_duplicate_evaluationsR  s  € ð ÐˆˆdØð -ñ -à—)‘)ˆCØð  ñ  à—9‘9ˆDä�[‰[ Ö*¬H×,CÑ,CÕ,Eä×#Ñ# HÐ.AÄ;ÔOÜ×Ñ˜dŸi™i¨×)9Ñ)9Ø%+°¸4õA÷ -F×*ô �qœ#˜dŸj™jŸl™lÓ+Ö,ˆAÜ�~‰~˜dŸj™jŸl™l¨1¨q©5Ñ1°4·:±:·<±<À±?ÕCÜ"Ø4°V°HÐ=ó?ð ?ñ -÷ -FÐ,Eú×*Ð*ús$   »D:ÁA
D.ÂD:Ä.D7	Ä3D:Ä:EÚnew_cb_interface)r   r)   r4   c                 ó*  ‡
‡‡— ˆfd„Šd‰_         ˆfd„}ˆfd„}dŠ|dk(  rˆ
ˆfd„}n|dk(  r G ˆ
ˆfd	„d
«      } |«       }nˆ
fd„}ˆ
ˆfd„Š
d‰
_        d‰
_         dgdz  |‰||dœ}t        j                  di |¤d|i¤Ž}|dk(  r‰dz   Š|dk(  r?t        j                  di |¤dd‰ii¤Ž}	|j                  |	j                  cxk(  r‰k(  sáJ ‚ J ‚|dk(  r{t        ‰t        |d   «      dz   «      Št        j                  di |¤dd‰ii¤Ž}	|j                  dk(  sJ ‚|j                  dk(  sJ ‚|	j                  dk(  sJ ‚|	j                  dk(  sJ ‚y t        j                  di |¤dd‰ii¤Ž}	|j                  j                  d«      sJ ‚|j                  |	j                  cxk(  r‰k(  sJ ‚ J ‚|dk7  r;|j                  |	j                  k(  sJ ‚t        |j                  |	j                  «       |dv r|j                  dk(  sJ ‚	 |dk7  r|j                  rJ ‚y y ) Nc                 ó<   •— d‰_         t        j                  | «      S ©NF)Úflagr
   r   ©r.   r|   s    €r/   r|   z9TestOptimizeSimple.test_callback_stopiteration.<locals>.fs  s   ø€ ØˆAŒFÜ—>‘> !Ó$Ð$r1   Fc                 ó<   •— d‰_         t        j                  | «      S rí  )rî  r
   r   rï  s    €r/   r>  z9TestOptimizeSimple.test_callback_stopiteration.<locals>.gx  s   ø€ ØˆAŒFÜ×%Ñ% aÓ(Ð(r1   c                 ó<   •— d‰_         t        j                  | «      S rí  )rî  r
   r   rï  s    €r/   rå  z9TestOptimizeSimple.test_callback_stopiteration.<locals>.h|  s   ø€ ØˆAŒFÜ×&Ñ& qÓ)Ð)r1   r×   r)   c                 óV   •— | j                    ‰| j                  «      k(  sJ ‚ ‰«        y rA   ©rš   r.   )Úintermediate_resultr  r|   s    €€r/   Úcallback_interfacezJTestOptimizeSimple.test_callback_stopiteration.<locals>.callback_interfaceƒ  s(   ø€ Ø*×.Ñ.±!Ð4G×4IÑ4IÓ2JÒJÐJÐJÙ•
r1   r4   c                   ó    •— e Zd Zdefˆ ˆfd„Zy)ú@TestOptimizeSimple.test_callback_stopiteration.<locals>.Callbackrô  c                 óV   •— |j                    ‰|j                  «      k(  sJ ‚ ‰«        y rA   ró  )ro   rô  r  r|   s     €€r/   r  zITestOptimizeSimple.test_callback_stopiteration.<locals>.Callback.__call__ˆ  s(   ø€ Ø.×2Ñ2±aÐ8K×8MÑ8MÓ6NÒNÐNÐNÙ•Jr1   N)rŠ   r‹   rŒ   r   r  )r  r|   s   €€r/   r  r÷  ‡  s   ø„ ð¸÷ r1   r  c                 ó   •—  ‰«        y rA   rŽ   )Úxkr–   r  s     €r/   rõ  zJTestOptimizeSimple.test_callback_stopiteration.<locals>.callback_interface�  s   ø€ Ù•
r1   c                  ó~   •— ‰ xj                   dz  c_         d‰ _        ‰ j                   ‰k(  rd‰ _        t        «       ‚y )Nr)   FT)r‚  rî  ÚStopIteration)r  rh   s   €€r/   r  z@TestOptimizeSimple.test_callback_stopiteration.<locals>.callback�  s7   ø€ Ø�JŠJ˜!‰O�JØ!ˆHŒMØ�z‰z˜WÒ$Ø $�”Ü#“oÐ%ð %r1   r   rV  )rU   r—   rš   r˜   r†   r  rB  rf  r™   ru  rj  rU   rh   r4  zFReturn from COBYLA because the callback function requested terminationr_   zRReturn from COBYLA because the objective function has been evaluated MAXFUN times.z!`callback` raised `StopIteration`rk  >   rf  rð  rŽ   )rî  r‚  r
   rª   r›   r;  r©  r�   r   r…  rø   rš   r   r.   r¾   )ro   r—   rê  r>  rå  rõ  r  rÂ  r­   rù   r  r|   rh   s             @@@r/   Útest_callback_stopiterationz.TestOptimizeSimple.test_callback_stopiterationl  sS  ú€ ô	%ð ˆŒô	)ô	*ð ˆà˜qÒ öð  Ò"÷ô ñ "*£Ñôõ	&ð ˆŒ
ØˆŒà˜˜a™¨6Ø 1¨añ1ˆô ×ÑÑF &ÑFÐ3EÒFˆØ�]Ò"Ø ‘kˆGØ�XÒÜ×#Ñ#ÑJ fÑJ°xÀÐ6IÒJˆCØ—8‘8˜sŸx™xÔ2¨7Ò2Ð2Ñ2Ð2Ð2Ø�xÒô ˜'¤3 v¨d¡|Ó#4°QÑ#6Ó7ˆGÜ×#Ñ#ÑK fÑK°yÀ'Ð6JÒKˆCØ—:‘: Ò#Ð#Ð#Ø—;‘;ð $;ò <ð <ð <à—:‘: ’?Ð"�?Ø—;‘;ð $Fò Gð Gð Gð ä×#Ñ#ÑK fÑK°yÀ'Ð6JÒKˆCØ—;‘;×)Ñ)Ð*MÔNÐNÐNØ—7‘7˜cŸg™gÔ0¨Ò0Ð0Ñ0Ð0Ð0Ø�WÒð —7‘7˜cŸg™gÒ%Ð%Ð%Ü˜Ÿ™ §¡Ô&Ø"(Ð,FÑ"Fˆs�z‰z˜QŠÐNÐNÈBØ�XÒØ—{’{Ð"�?�{ð r1   c                 ó¨   — d}t        t        |¬«      5  t        j                  d„ t	        j
                  d«      «       d d d «       y # 1 sw Y   y xY w)Nz"'x0' must only have one dimension.rÏ   c                 ó   — | S rA   rŽ   r-   s    r/   r‡  z4TestOptimizeSimple.test_ndim_error.<locals>.<lambda>Ã  s   € ©r1   )r4   r)   )rP   rQ   r
   rª   r+   Úones©ro   rƒ  s     r/   Útest_ndim_errorz"TestOptimizeSimple.test_ndim_errorÀ  s5   € Ø2ˆÜœ:¨SÖ1Ü×Ñ™k¬2¯7©7°6«?Ô;÷ 2×1Ñ1ús   ”+AÁA)rB  r  ri  rh  rj  rf  rð  c                 ó~  — d„ }t        ddgddg«      }d}t        j                  t        |¬«      5  t	        j
                  |g d¢||¬	«       d d d «       t        g d
¢g d¢«      }d}t        j                  t        |¬«      5  t	        j
                  |g d¢||¬	«       d d d «       y # 1 sw Y   Œ[xY w# 1 sw Y   y xY w)Nc                 ó2   — t        j                  | dz  «      S r>  r?  r-   s    r/   r|   z:TestOptimizeSimple.test_minimize_invalid_bounds.<locals>.fÉ  rA  r1   r)   r4   r_   r¤   z?The number of bounds is not compatible with the length of `x0`.rÏ   )r)   r4   r_   ©rU   r—   r!  )r)   rÈ   r)   )r_   r¤   r4   z:An upper bound is less than the corresponding lower bound.)r   rÛ   r   rQ   r
   rª   )ro   r—   r|   r!  rƒ  s        r/   Útest_minimize_invalid_boundsz/TestOptimizeSimple.test_minimize_invalid_boundsÅ  s˜   € ò	 ô ˜˜A˜  A Ó'ˆØOˆÜ�]‰]œ:¨SÖ1Ü×Ñ˜a¢I°fÀVÕL÷ 2ô š	¢9Ó-ˆØJˆÜ�]‰]œ:¨SÖ1Ü×Ñ˜a¢I°fÀVÕL÷ 2Ð1÷ 2Ð1ú÷
 2Ð1ús   ±B'ÂB3Â'B0Â3B<)rò   r  rR  rh  c                 óL  — |dk(  ri ndt         j                  i}|dk(  rt        nt         j                  }dddœ}t	        j
                  |d¬«      5  t        j                  d„ d	d	gf||d
œ|¤Ž d d d «       d|d<   t        j                  d„ d	d	gf||d
œ|¤Ž y # 1 sw Y   Œ,xY w)Nrh  r˜   TrÆ   ©r“   rh   úMaximum numberrÏ   c                 ó,   — t        j                  | «      S rA   ©r
   r   r-   s    r/   r‡  zBTestOptimizeSimple.test_minimize_warnings_gh1953.<locals>.<lambda>à  s   € ¬¯©°qÔ(9r1   r   rõ   Fr“   c                 ó,   — t        j                  | «      S rA   r  r-   s    r/   r‡  zBTestOptimizeSimple.test_minimize_warnings_gh1953.<locals>.<lambda>ä  s   € ¤H§N¡N°1Ô$5r1   )r
   r   r¥  r¨  rÛ   r§  rª   )ro   r—   rÂ  Úwarning_typer™   s        r/   Útest_minimize_warnings_gh1953z0TestOptimizeSimple.test_minimize_warnings_gh1953Ö  sÃ   € ð ˜xÒ'‘¨e´X×5GÑ5GÐ-HˆØ*0°(Ò*:�Ü%×5Ñ5ð 	ð  ¨BÑ/ˆÜ�\‰\˜,Ð.>Ö?Ü×ÑÑ9¸A¸q¸6ð HØ%+°WñHØ@FòH÷ @ð  ˆ�‰Ü×ÑÑ5¸¸1°vð 	DØ!'°ñ	DØ<Bó	D÷ @Ð?ús   ÁBÂB#N)+rŠ   r‹   rŒ   rØ  rà  rä  rî  r÷  rý  r  r  r  r  r!  r'  r+  r.  rE  rZ  r_  rp  rÛ   rk  Ú	fail_slowrl  rm  r   r‰  r‘  r�  r£  r¦  r«  r·  rÀ  rÎ  ræ  ré  r   rý  r  r  r  rŽ   r1   r/   rÎ  rÎ  ¼  s“  „ ò	%ò*ò.#ò'ò-ò47ò	Fò/ò.	#ò#òDò4#ò8Cò"ò(ò4$:òLBòBð2 ‡[�[×Ñ˜2ÓØ‡[�[×ÑÐ 5Ó6Ø‡[�[×ÑÐ 8Ó9Ø‡[�[×Ñ˜Xò,à.>ñ?ó@ñ=Qó	@ó :ó 7ó ð=Qð~ ‡[�[×Ñ˜Xò (Ló Mñ!óMð!ò4Fð ‡[�[×Ñ˜Xò (2ó 3ñ
#ó3ð
#ð@ ‡[�[×Ñ˜Xò (?ó @ñNó@ðNò"ò(/ò4Hò0ðd ‡[�[×Ñ˜Xò (Gó Hñ
01óHð
01ðd ‡[�[×Ñ˜Xò (Gó Hñ
?óHð
?ð* ‡[�[×ÑÐ 8Ó9Ø‡[�[×Ñ˜XÐ'>Ó?Ø‡[�[×ÑÐ/²Ó;ñO#ó <ó @ó :ðO#òb<ð
 ‡[�[×Ñ˜Xð (8ó 9ñMó9ðMð ‡[�[×Ñ˜XÒ'LÓMñDó NñDr1   rÎ  r—   )r  ri  r  rt  rf  c                 óŒ   — d„ }t        j                  |ddg| ¬«      }|j                  sJ ‚t        |j                  dgd¬«       y )Nc                 ó2   — t        j                  | dz  «      S r>  r?  r-   s    r/   r|   z$test_minimize_with_scalar.<locals>.fî  rž  r1   é   )r  r2  rC  r`   r»   r    )r
   rª   r¾   r   r.   )r—   r|   r­   s      r/   Útest_minimize_with_scalarr  è  s?   € òô ×
Ñ
˜A˜r¨;¨-ÀÔ
G€CØ�;Š;Ðˆ;Ü�C—E‘E˜C˜5 tÖ,r1   c                   ó˜   — e Zd Zd„ Zdd„Zdd„Zdd„Zd„ Zd„ Zd„ Z	e
j                  j                  dd	d
gd
d	gd	d	gg«      d„ «       Zd„ Zy)ÚTestLBFGSBBoundsc                 ó    — d| _         d| _        y )N))r)   N©NN)r)   r   )r!  rg   rn   s    r/   rp   zTestLBFGSBBounds.setup_method÷  s   € Ø/ˆŒØˆ�r1   c                 ó0   — d|z  |d   |z  |d   |z  z   z  S )Nr\   r   r)   rŽ   rˆ   s      r/   rš   zTestLBFGSBBounds.funû  s&   € Ø�Q‰w˜!˜A™$ ™' A a¡D¨!¡GÑ+Ñ,Ð,r1   c                 ó   — ||dz
  z  S r(   rŽ   rˆ   s      r/   r˜   zTestLBFGSBBounds.jacþ  s   € Ø�1�q‘5‰zÐr1   c                 óJ   — | j                  ||«      | j                  ||«      fS rA   ©rš   r˜   rˆ   s      r/   ÚfjzTestLBFGSBBounds.fj  s!   € Ø�x‰x˜˜1‹~˜tŸx™x¨¨1›~Ð-Ð-r1   c                 óÒ   — t        j                  | j                  ddg| j                  | j                  ¬«      \  }}}|d   dk(  s
J |d   «       ‚t        || j                  d¬«       y )Nr   rH  )rê   r!  r²   Útaskr;   r    )r
   r	  rš   r˜   r!  r   rg   ©ro   r.   r|   r  s       r/   Útest_l_bfgs_b_boundsz%TestLBFGSBBounds.test_l_bfgs_b_bounds  s_   € Ü×(Ñ(¨¯©°A°r°7Ø04·±Ø04·±ô=‰ˆˆ1ˆað �‰} Ò!Ð, 1 V¡9Ó,Ð!Ü˜˜4Ÿ=™=¨tÖ4r1   c                 ó¾   — t        j                  | j                  ddgd| j                  ¬«      \  }}}|d   dk(  s
J |d   «       ‚t	        || j
                  d¬«       y )	Nr   rH  ©r�  )r–   r!  r²   r  r;   r    )r
   r	  r  r!  r   rg   r  s       r/   r  z%TestLBFGSBBounds.test_l_bfgs_b_funjac  sX   € ä×(Ñ(¨¯©°1°b°'ÀØ04·±ô=‰ˆˆ1ˆaà�‰} Ò!Ð, 1 V¡9Ó,Ð!Ü˜˜4Ÿ=™=¨tÖ4r1   c                 óÚ   — t        j                  | j                  ddgd| j                  | j                  ¬«      }|d   s
J |d   «       ‚t        |j                  | j                  d¬«       y )	Nr   rH  r#  ©r—   r˜   r!  r¾   r   r;   r    )r
   rª   rš   r˜   r!  r   r.   rg   ri  s     r/   Útest_minimize_l_bfgs_b_boundsz.TestLBFGSBBounds.test_minimize_l_bfgs_b_bounds  sW   € ä×Ñ §¡¨1¨b¨'¸*Ø$(§H¡H°T·[±[ôBˆà�9Š~Ð-˜s 9™~Ó-ˆ~Ü˜Ÿ™˜tŸ}™}°4Ö8r1   r!  )rÆ   r)   r±  c                 óÄ   — t        j                  t        d¬«      5  t        j                  | j
                  ddgd| j                  |¬«       d d d «       y # 1 sw Y   y xY w)Nz	.*bound.*rÏ   r   rH  r#  r$  )rÛ   r   rQ   r
   rª   rš   r˜   )ro   r!  s     r/   Ú'test_minimize_l_bfgs_b_incorrect_boundsz8TestLBFGSBBounds.test_minimize_l_bfgs_b_incorrect_bounds  sC   € ô �]‰]œ:¨[Ö9Ü×Ñ˜dŸh™h¨¨B¨¸
Ø"&§(¡(°6õ;÷ :×9Ñ9ús   œ1AÁAc                 ó  — g d¢}ddg}t        j                  ||«      D ]j  \  }}t        j                  | j                  ddg|d|| j
                  dd i¬«      }|d	   s
J |d
   «       ‚t        |j                  | j                  d¬«       Œl y )Nrç  r"  rŽ   r   rH  r#  Úfinite_diff_rel_step)r–   r—   r˜   r!  r™   r¾   r   r;   r    )	rê  rë  r
   rª   rš   r!  r   r.   rg   )ro   rí  Úargssr˜   r–   r­   s         r/   Ú test_minimize_l_bfgs_b_bounds_FDz1TestLBFGSBBounds.test_minimize_l_bfgs_b_bounds_FD#  s‹   € ò
 ,ˆØ˜�ˆÜ"×*Ñ*¨4°Ö7‰IˆC�Ü×#Ñ# D§H¡H¨q°"¨g¸DØ+5Ø(+°D·K±KØ-CÀTÐ,JôLˆCð �y’>Ð1 3 y¡>Ó1�>Ü˜CŸE™E 4§=¡=°tÖ<ñ 8r1   Nr"  )rŠ   r‹   rŒ   rp   rš   r˜   r  r   r  r%  rÛ   rk  rm  r'  r+  rŽ   r1   r/   r  r  ö  sl   „ òó-óó.ò5ò5ò9ð ‡[�[×Ñ˜XØ
�7Ð	Ø
�7Ð	Ø
�7Ð	ð(ó ñ
;óð
;ó
=r1   r  c                   ó:  — e Zd Zd„ Zd d„Zd„ Zej                  j                  d«      d„ «       Z	d„ Z
d„ Zd„ Zd	„ Zd
„ Zd„ Zej                  j!                  dg d¢«      d„ «       Zej                  j!                  dg d¢«      d„ «       Zej                  j                  d«      ej                  j!                  dg d¢«      d„ «       «       Zd„ Zd„ Zej                  j!                  dddg«      d„ «       Zej                  j                  d«      ej                  j!                  de«      ej                  j!                  dddg«      ej                  j!                  dg d¢«      d„ «       «       «       «       Zej                  j!                  dg d¢«      d„ «       Zy)!ÚTestOptimizeScalarc                 ó   — d| _         y )Nr6   )rg   rn   s    r/   rp   zTestOptimizeScalar.setup_method4  s	   € Øˆ�r1   c                 ó   — ||z
  dz  dz
  S )zObjective functionr4   rÔ   rŽ   )ro   r.   ry  s      r/   rš   zTestOptimizeScalar.fun7  s   € à�A‘˜‰z˜CÑÐr1   c                 ó  — t        j                  | j                  «      }t        || j                  d¬«       t        j                  | j                  d¬«      }t        || j                  d¬«       t        j                  | j                  d¬«      }t        |d   | j                  d¬«       t        j                  | j                  d¬«      }t        || j                  d¬«       d	}t        j                  t        |¬
«      5  t        j                  | j                  d¬«       d d d «       d}t        j                  t        |¬
«      5  t        j                  | j                  d¬«       d d d «       y # 1 sw Y   ŒQxY w# 1 sw Y   y xY w)Nr;   r    ©r•  r°  ©ÚbrackT©rž   r   ©iñÿÿÿrH  é   ú/\(f\(xb\) < f\(xa\)\) and \(f\(xb\) < f\(xc\)\)rÏ   ©rH  r   r)   ú\(xa < xb\) and \(xb < xc\)©r   rH  r)   )r
   Úbrentrš   r   rg   rÛ   r   rQ   )ro   r.   r   s      r/   Ú
test_brentzTestOptimizeScalar.test_brent;  sÿ   € Ü�N‰N˜4Ÿ8™8Ó$ˆÜ˜˜4Ÿ=™=¨tÕ4ä�N‰N˜4Ÿ8™8¨8Ô4ˆÜ˜˜4Ÿ=™=¨tÕ4ä�N‰N˜4Ÿ8™8°Ô6ˆÜ˜˜!™˜dŸm™m°$Õ7ä�N‰N˜4Ÿ8™8¨=Ô9ˆÜ˜˜4Ÿ=™=¨tÕ4àDˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜4Ÿ8™8¨:Õ6÷ 6ð 1ˆÜ�]‰]œ:¨WÖ5Ü�N‰N˜4Ÿ8™8¨:Õ6÷ 6Ð5÷	 6Ð5ú÷ 6Ð5ús   Ä"E5Å
"FÅ5E>ÆF
rå   c                 óX  — t        j                  | j                  «      }t        || j                  d¬«       t        j                  | j                  d¬«      }t        || j                  d¬«       t        j                  | j                  d¬«      }t        |d   | j                  d¬«       t        j                  | j                  d¬«      }t        || j                  d¬«       t        j                  | j                  d¬	«      }t        || j                  «       g d
¢}|D ]_  }t        j                  | j                  dd¬«      }t        j                  | j                  |d¬«      }|d   |d   }}t        ||z
  |«       Œa d}t        j                  t        |¬«      5  t        j                  | j                  d¬«       d d d «       d}t        j                  t        |¬«      5  t        j                  | j                  d¬«       d d d «       y # 1 sw Y   ŒQxY w# 1 sw Y   y xY w)Nr;   r    r1  r2  Tr4  r   r5  ©r  )r   r)   r×   )rh   rž   r4   r7  rÏ   r8  r9  r:  )	r
   Úgoldenrš   r   rg   r   rÛ   r   rQ   )ro   r.   Úmaxiter_test_casesrh   rU   Únfev0r›   r   s           r/   Útest_goldenzTestOptimizeScalar.test_goldenP  s  € ä�O‰O˜DŸH™HÓ%ˆÜ˜˜4Ÿ=™=¨tÕ4ä�O‰O˜DŸH™H¨HÔ5ˆÜ˜˜4Ÿ=™=¨tÕ4ä�O‰O˜DŸH™H°$Ô7ˆÜ˜˜!™˜dŸm™m°$Õ7ä�O‰O˜DŸH™H¨MÔ:ˆÜ˜˜4Ÿ=™=¨tÕ4ä�O‰O˜DŸH™H¨!Ô,ˆÜ˜˜4Ÿ=™=Ô)â&ÐÛ)ˆGÜ—‘ §¡°1À$ÔGˆBÜ—‘ §¡°'ÀtÔLˆAØ˜Q™%  1¡�4ˆEÜ˜ ™ wÕ/ð	 *ð EˆÜ�]‰]œ:¨WÖ5Ü�O‰O˜DŸH™H¨JÕ7÷ 6ð 1ˆÜ�]‰]œ:¨WÖ5Ü�O‰O˜DŸH™H¨JÕ7÷ 6Ð5÷	 6Ð5ú÷ 6Ð5ús   Æ""HÇ)"H ÈHÈ H)c                 óì  — t        j                  | j                  dd«      }t        |dd¬«       t        j                  | j                  dd«      }t        || j                  d¬«       t        j                  | j                  t        j                  dg«      t        j                  dg«      «      }t        || j                  d¬«       t        t        t         j                  | j                  dd«       y )Nr   r)   r½  r    r×   r;   )	r
   Ú	fminboundrš   r   rg   r+   rL   rP   rQ   r  s     r/   Útest_fminboundz!TestOptimizeScalar.test_fminboundp  s¤   € Ü×Ñ˜tŸx™x¨¨AÓ.ˆÜ˜˜1 4Õ(ä×Ñ˜tŸx™x¨¨AÓ.ˆÜ˜˜4Ÿ=™=¨tÕ4ä×Ñ˜tŸx™x¬¯©°1°#«¼¿¹À!À»ÓFˆÜ˜˜4Ÿ=™=¨tÕ4Ü”j¤(×"4Ñ"4°d·h±hÀÀ1ÕEr1   c                 ód  — t        j                  t        d¬«      5  t        j                  | j
                  t        j                  d«      d«       d d d «       t        j                  | j
                  dt        j                  d«      «      }t        || j                  d¬«       y # 1 sw Y   ŒVxY w)Nz.*must be finite scalars.*rÏ   ©r)   r4   r)   r×   r;   r    )rÛ   r   rQ   r
   rD  rš   r+   rd   rL   r   rg   r  s     r/   Útest_fminbound_scalarz(TestOptimizeScalar.test_fminbound_scalar{  sr   € Ü�]‰]œ:Ð-IÖJÜ×Ñ˜tŸx™x¬¯©°&Ó)9¸1Ô=÷ Kô ×Ñ˜tŸx™x¨¬B¯H©H°Q«KÓ8ˆÜ˜˜4Ÿ=™=¨tÖ4÷	 KÐJús   œ5B&Â&B/c                 ó8   — d„ }t        j                  |dd«       y )Nc                 ó   — | dz  S r>  rŽ   r-   s    r/   rš   z,TestOptimizeScalar.test_gh11207.<locals>.funƒ  r®  r1   r   )r
   rD  )ro   rš   s     r/   Útest_gh11207zTestOptimizeScalar.test_gh11207‚  s   € ò	ä×Ñ˜3  1Õ%r1   c                 ó(  — t        j                  | j                  «      j                  }t	        || j
                  d¬«       t        j                  | j                  d¬«      }|j                  sJ ‚t        j                  | j                  dt        d¬«      ¬«      }|j                  rJ ‚t        j                  | j                  dd	d¬
«      j                  }t	        || j
                  d¬«       t        j                  | j                  dd	¬«      j                  }t	        || j
                  d¬«       t        j                  | j                  dd	d¬
«      j                  }t	        || j
                  d¬«       t        j                  | j                  dd	d¬
«      j                  }t	        || j
                  d¬«       t        j                  | j                  dd	¬«      j                  }t	        || j
                  d¬«       t        j                  | j                  dd	d¬
«      j                  }t	        || j
                  d¬«       t        j                  | j                  dd	d¬«      j                  }t	        |dd¬«       t        j                  | j                  dd	d¬«      j                  }t	        || j
                  d¬«       t        j                  | j                  t        j                  dg«      t        j                  dg«      ft        j                  dg«      fd¬«      j                  }t	        || j
                  d¬«       t        t        t         j                  | j                  ddd	¬«       t        t        t         j                  | j                  t        j                  d«      dfdd	¬«       t        j                  | j                  dt        j                  d«      fd¬«      j                  }t	        || j
                  d¬«       y )Nr;   r    ÚBrentrº   r_   r  rõ   r1  ©r6   )Úbracketr–   r—   )r—   r–   r5  r?  )r   r)   ÚBounded)r!  r–   r—   r)   r½  )r)   r×   Úboundedr×   r6   )r×   r)   ©r!  r—   r–   r4   rC  )r
   Úminimize_scalarrš   r.   r   rg   r¾   rT  r+   rL   rP   rQ   rd   r  s     r/   Útest_minimize_scalarz'TestOptimizeScalar.test_minimize_scalar‡  s  € ä×$Ñ$ T§X¡XÓ.×0Ñ0ˆÜ˜˜4Ÿ=™=¨tÕ4ä×$Ñ$ T§X¡X°gÔ>ˆØ�yŠyÐˆyä×$Ñ$ T§X¡X°gÜ-1¸!¬_ô>ˆà—9’9Ðˆ}ä×$Ñ$ T§X¡X°xØ*1¸'ôCßCDÁ1ð 	
ä˜˜4Ÿ=™=¨tÕ4ä×$Ñ$ T§X¡X°gØ*0ô2ß23±!ð 	
ä˜˜4Ÿ=™=¨tÕ4ä×$Ñ$ T§X¡X°}Ø*1¸'ôCßCDÁ1ð 	
ä˜˜4Ÿ=™=¨tÕ4ä×$Ñ$ T§X¡X°xØ*1¸(ôDßDEÁAð 	
ä˜˜4Ÿ=™=¨tÕ4ä×$Ñ$ T§X¡X°hØ*0ô2ß23±!ð 	
ä˜˜4Ÿ=™=¨tÕ4ä×$Ñ$ T§X¡X°}Ø*1¸(ôDßDEÁAð 	
ä˜˜4Ÿ=™=¨tÕ4ä×$Ñ$ T§X¡X°fÀ6Ø,5ô7ß78±qð 	
ä˜˜1 4Õ(ä×$Ñ$ T§X¡X°fÀ7Ø,5ô7ß78±qð 	
ä˜˜4Ÿ=™=¨tÕ4ä×$Ñ$ T§X¡X´r·x±xÀÀ³}Ü79·x±xÀÀ³}ð7Fä+-¯8©8°S°E«?Ð*=Ø,5ô7÷ 89±qð 	
ô 	˜˜4Ÿ=™=¨tÕ4ä”j¤(×":Ñ":¸D¿H¹HØ#¨I¸Gõ	Eô 	”j¤(×":Ñ":¸D¿H¹HÜ Ÿh™h q›k¨1Ð-°iÀgõ	Oô ×$Ñ$ T§X¡X°q¼"¿(¹(À1»+Ð6FØ,5ô7ß78±qð 	
ä˜˜4Ÿ=™=¨tÖ4r1   c                 ó®   — 	 	 dd„}t        j                  | j                  d|t        d¬«      ¬«      }t	        |j
                  | j                  d¬«       y )	Nc                 ó&  — |d   |d   z   dz  } | |«      }	d}
d}d}d}|rU|sS||k  rNd}|dz  }||z
  ||z   fD ]  } | |g|¢­Ž }|
dz  }
||	k  sŒ|}	|}d}Œ |� ||«       |�|
|k\  rd}n
|r|s||k  rŒNt        j                  |	|||
|dkD  ¬«      S )Nr)   r   r�  TFrH  r^  )rš   rO  r–   ru  rJ  rh   r  r™   rK  rL  rM  rN  rO  rP  rS  rT  s                   r/   rU  z?TestOptimizeScalar.test_minimize_scalar_custom.<locals>.custminÅ  sî   € à˜Q‘Z '¨!¡*Ñ,°Ñ3ˆEÙ˜“JˆEØˆHØˆEØˆHØˆDá¡4¨E°GªOØ �Ø˜‘
�Ø# hÑ.°¸Ñ0@ÓA�EÙ Ð-¨Ò-�EØ ‘M�HØ˜u“}Ø %˜Ø %˜Ø#'™ð Bð Ð'Ù˜U”OØÐ%¨(°fÒ*<Ø�DØñ ¡4¨E°G«Oô  ×*Ñ*¨u¸À5Ø08À5È1Á9ôOð Or1   )r   r¤   rW  rX  )rO  r—   r™   r;   r    rY  )r
   rS  rš   rT  r   r.   rg   )ro   rU  r­   s      r/   Útest_minimize_scalar_customz.TestOptimizeScalar.test_minimize_scalar_customÃ  sJ   € àADØ*.ó	Oô8 ×&Ñ& t§x¡x¸Ø.5Ü/3¸TÔ/BôDˆô 	˜Ÿ™˜tŸ}™}°4Ö8r1   c                 óF   — t        j                  | j                  d¬«       y )Nr6   ©r–   ©r
   rS  rš   rn   s    r/   Ú&test_minimize_scalar_coerce_args_paramz9TestOptimizeScalar.test_minimize_scalar_coerce_args_paramæ  s   € ä× Ñ  §¡°Ö4r1   r—   )r;  rQ  r?  c                 óX   — dD ]%  }t        j                  | j                  d|i¬«       Œ' y )N)r   r)   r4   r_   r“   )r™   rZ  )ro   r—   r“   s      r/   Ú	test_dispzTestOptimizeScalar.test_dispê  s&   € ó !ˆDÜ×$Ñ$ T§X¡X¸À°~ÖFñ !r1   c                 ó
  — |dk(  rdddgini }t        j                  | j                  fd|i|¤Ž}t        |d«      sJ ‚t        |d«      sJ ‚t        |d«      sJ ‚t        |d	«      sJ ‚t        |d
«      sJ ‚t        |d«      sJ ‚y )NrQ  r!  r®  rÆ   r—   r.   r¾   r   rš   r›   rø   )r
   rS  rš   rt   )ro   r—   rÂ  rK  s       r/   Útest_result_attributesz)TestOptimizeScalar.test_result_attributesð  s—   € à*0°IÒ*=�(˜S "˜IÑ&À2ˆÜ×)Ñ)¨$¯(©(ÑL¸6ÐLÀVÑLˆÜ�v˜sÔ#Ð#Ð#Ü�v˜yÔ)Ð)Ð)Ü�v˜yÔ)Ð)Ð)Ü�v˜uÔ%Ð%Ð%Ü�v˜vÔ&Ð&Ð&Ü�v˜uÔ%Ð%Ñ%r1   c           
      óþ  ‡— dgŠˆfd„}d}d}t        j                  d¬«      5  t        j                  «       5  t        j                  ddt
        «       t        j                  ddt        «       t        j                  dd	t        «       dgŠ|d
k(  rd|ini }t        j                  |fd|i|¤|t        d¬«      dœ¤Ž}t        |j                  d«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr   c                 óŠ   •— ‰dxx   dz  cc<   ‰d   dkD  rt         j                  S | dz  dt        j                  | «      z  z   S )Nr   r)   r¤   r4   r>   )r+   rÖ  rB   )r.   rÒ  s    €r/   r}   z0TestOptimizeScalar.test_nan_values.<locals>.func  s?   ø€ Ø�!‹H˜‰M‹HØ�Q‰x˜!Š|Ü—v‘v�à˜!‘t˜c¤B§F¡F¨1£I™oÑ-Ð-r1   r8  r¤  rë   rÝ  rÙ  rÚ  rÛ  rQ  r!  rO  r   r  rõ   F)r+   rî   rÝ  rÞ  rl  rß  r¥  r
   rS  rT  r   r¾   )ro   r—   r}   rO  r!  rÂ  r¿   rÒ  s          @r/   ræ  z"TestOptimizeScalar.test_nan_valuesû  sð   ø€ ð
 �ˆô	.ð ˆØˆä�[‰[ Ö*¬H×,CÑ,CÕ,EÜ×#Ñ# HÐ.AÄ;ÔOÜ×#Ñ#ØÐ4´nôFä×#Ñ#ØÐ5´~ôGð �CˆEà+1°YÒ+>�h Ñ'ÀBˆFÜ×*Ñ*¨4ñ E¸ð EØ-3ðEØ<BÜ37ÀÔ3CóEˆCô ˜Ÿ™ eÔ,÷ -F×*Ð*×,EÐ,Eú×*Ð*ús#   ¤C3¹BC'ÃC3Ã'C0	Ã,C3Ã3C<c                 óÄ   — d„ }t        j                  |«      }t        |j                  dd¬«       t        j                  |dddi¬«      }t        |j                  d	«       y )
Nc                 ó   — | dz  S r>  rŽ   r-   s    r/   r|   zCTestOptimizeScalar.test_minimize_scalar_defaults_gh10911.<locals>.f  r®  r1   r   rÿ   r    )r)   r2  rŠ  r±  )r!  r™   r)   )r
   rS  r   r.   )ro   r|   r­   s      r/   Ú%test_minimize_scalar_defaults_gh10911z8TestOptimizeScalar.test_minimize_scalar_defaults_gh10911  sT   € ò	ô ×&Ñ& qÓ)ˆÜ˜Ÿ™˜q tÕ,ä×&Ñ& q°Ø07¸Ð/?ôAˆä˜Ÿ™˜qÕ!r1   c                 óœ  — d}t        j                  t        |¬«      5  t        j                  t
        j                  dt
        j                  f¬«       d d d «       t        j                  t        |¬«      5  t        j                  t
        j                  t
        j                  df¬«       d d d «       y # 1 sw Y   ŒcxY w# 1 sw Y   y xY w)Nz+Optimization bounds must be finite scalars.rÏ   r)   r°  )	rÛ   r   rQ   r
   rS  r+   rB   r·  rÖ  r  s     r/   Ú'test_minimize_non_finite_bounds_gh10911z:TestOptimizeScalar.test_minimize_non_finite_bounds_gh10911(  sz   € ð <ˆÜ�]‰]œ:¨SÖ1Ü×$Ñ$¤R§V¡V°Q¼¿¹°KÕ@÷ 2ä�]‰]œ:¨SÖ1Ü×$Ñ$¤R§V¡V´R·V±V¸Q°KÕ@÷ 2Ð1÷ 2Ð1úç1Ð1ús   ž6B6Á76CÂ6B?ÃCr;  r?  c                 ó´   — d}t        j                  t        |¬«      5  t        j                  t
        j                  |d¬«       d d d «       y # 1 sw Y   y xY w)Nz'Use of `bounds` is incompatible with...rÏ   rG  ©r—   r!  )rÛ   r   rQ   r
   rS  r+   rB   )ro   r—   rƒ  s      r/   Ú2test_minimize_unbounded_method_with_bounds_gh10911zETestOptimizeScalar.test_minimize_unbounded_method_with_bounds_gh109111  s9   € ð 8ˆÜ�]‰]œ:¨SÖ1Ü×$Ñ$¤R§V¡V°FÀ6ÕJ÷ 2×1Ñ1ús   ž'AÁArq  r  r)   r;   Úfshape)rŽ   ©r)   ©r)   r)   c                 óp  ‡— ˆfd„}d\  }}|dk7  rt        ||f¬«      nt        ||f¬«      }|j                  t        ||¬«      «       t        j                  |fi |¤Ž}|j                  j
                  |j                  j
                  cxk(  r& ||j                  «      j
                  cxk(  r‰k(  sJ ‚ J ‚y )Nc                 óR   •— t        j                  | dz  «      j                  ‰«      S ©Nr¤   )r+   rL   Úreshape)r.   rj  s    €r/   r|   zITestOptimizeScalar.test_minimize_scalar_dimensionality_gh16196.<locals>.fA  s    ø€ Ü—8‘8˜A˜q™D“>×)Ñ)¨&Ó1Ð1r1   )r	  rI   rQ  )rO  r°  )r—   r  )rT  Úupdater
   rS  r.   Úshaperš   )	ro   r—   r  rj  r|   ry  ÚbrÂ  r­   s	      `     r/   Ú+test_minimize_scalar_dimensionality_gh16196z>TestOptimizeScalar.test_minimize_scalar_dimensionality_gh161969  s™   ø€ ô	2ð ‰ˆˆ1Ø*0°IÒ*=”$  1˜vÕ&Ü A q 6Ô*ð 	à�‰”d &¨cÔ2Ô3ä×&Ñ& qÑ3¨FÑ3ˆØ�u‰u�{‰{˜cŸg™gŸm™mÔG©q°·±«x¯~©~ÔGÀÒGÐGÑGÐGÑGr1   )rQ  r;  r?  c                 ó  — d„ }i }|dk(  rdnd}ddg||<   ddd	œ}t        j                  t        j                  d
¬«      5  t        j                  |f||dœ|¤Ž d d d «       d|d<   t        j                  |f||dœ|¤Ž y # 1 sw Y   Œ(xY w)Nc                 ó   — | dz
  dz  S r3   rŽ   r-   s    r/   r|   zBTestOptimizeScalar.test_minimize_scalar_warnings_gh1953.<locals>.fP  rŒ  r1   rQ  r!  rO  r°  rÆ   Tr_   r  r	  rÏ   rõ   Fr“   )rÛ   r§  r
   r¨  rS  )ro   r—   r|   rÂ  Úkwdr™   s         r/   Ú$test_minimize_scalar_warnings_gh1953z7TestOptimizeScalar.test_minimize_scalar_warnings_gh1953L  sž   € ò	ð ˆØ  IÒ-‰h°9ˆØ˜2�hˆˆs‰à¨AÑ.ˆÜ�\‰\œ(×2Ñ2Ð:JÖKÜ×$Ñ$ Qð /¨v¸wñ /Ø'-ò/÷ Lð  ˆ�‰Ü× Ñ  ÐM¨6¸7ÑMÀfÓM÷ LÐKús   Á BÂB
NrN  )rŠ   r‹   rŒ   rp   rš   r<  rÛ   rk  rl  rB  rE  rH  rK  rT  rW  r[  rm  r]  r_  ræ  rd  rf  ri  r   rt  rx  rŽ   r1   r/   r-  r-  3  s½  „ òó ò7ð* ‡[�[×ÑÐ 5Ó6ñ8ó 7ð8ò>	Fò5ò&ò
:5òx!9òF5ð ‡[�[×Ñ˜XÒ'EÓFñGó GðGð
 ‡[�[×Ñ˜XÒ'EÓFñ&ó Gð&ð ‡[�[×ÑÐ 5Ó6Ø‡[�[×Ñ˜XÒ'EÓFñ-ó Gó 7ð-ò<"òAð ‡[�[×Ñ˜X¨°Ð':Ó;ñKó <ðKð ‡[�[×ÑÐ 8Ó9Ø‡[�[×Ñ˜XÐ'>Ó?Ø‡[�[×Ñ˜U Q¨ IÓ.Ø‡[�[×Ñ˜XÒ'9Ó:ñHó ;ó /ó @ó :ðHð ‡[�[×Ñ˜XÒ'EÓFñNó GñNr1   r-  c                   ó’   — e Zd Zej                  j                  d«      d„ «       Zej                  j                  dd«      d„ «       Zy)ÚTestBracketrq  c                 ó   — d„ }d}t        j                  t        |¬«      5  t        j                  |dd«       d d d «       t        j                  t        |¬«      5  t        j                  |dt
        j                  «       d d d «       t        j                  t        |¬«      5  t        j                  |d¬«       d d d «       t        j                  t        |¬«      5  t        j                  |d¬«       d d d «       d„ }d	}t        j                  t        |¬«      5  t        j                  |d
dd¬«       d d d «       y # 1 sw Y   �ŒxY w# 1 sw Y   ŒÏxY w# 1 sw Y   Œ xY w# 1 sw Y   ŒqxY w# 1 sw Y   y xY w)Nc                 ó&   — d| k  | dk  z  r| dz  S dS ©NrH  r)   r4   g      Y@rŽ   r-   s    r/   r|   z3TestBracket.test_errors_and_status_false.<locals>.fe  ó    € Ø !™V¨¨A©Ò.�1�a‘4Ð:°UÐ:r1   ú9The algorithm terminated without finding a valid bracket.rÏ   rH  r)   r¤  r2  c                 óZ   — d| dz  z  d| dz  z  z   d| dz  z  z
  d| dz  z  z   d| z  z
  dz   S )	Nr­  r×   r¤   é   r_   é   r4   r)   rŽ   r-   s    r/   r|   z3TestBracket.test_errors_and_status_false.<locals>.fr  sE   € Ø˜˜1™‘9˜q 1 a¡4™xÑ'¨"¨q°!©t©)Ñ3°b¸1¸a¹4±iÑ?À!ÀaÁ%ÑGÈ!ÑKÐKr1   z8No valid bracket was found before the iteration limit...r¥   r^   rÆ   r  )	rÛ   r   ru   r
   rO  r+   r·  r;  r?  )ro   r|   r   s      r/   Útest_errors_and_status_falsez(TestBracket.test_errors_and_status_falseb  sþ   € ò	;ð NˆÜ�]‰]œ<¨wÖ7Ü×Ñ˜Q  AÔ&÷ 8ä�]‰]œ<¨wÖ7Ü×Ñ˜Q ¤B§F¡FÔ+÷ 8ä�]‰]œ<¨wÖ7Ü�N‰N˜1 GÕ,÷ 8ä�]‰]œ<¨wÖ7Ü�O‰O˜A WÕ-÷ 8ò	Lð MˆÜ�]‰]œ<¨wÖ7Ü×Ñ˜Q  c°2Õ6÷ 8Ð7÷ 8Ñ7úç7Ð7úç7Ð7úç7Ð7ú÷ 8Ð7ús;   ¡EÁ&EÂ%EÃ E(Ä E4ÅEÅEÅE%Å(E1Å4E=r—   )r;  r?  c                 óà   — d„ }d}t        j                  |d|¬«      }|j                  rJ ‚||j                  v sJ ‚|j                  dk(  sJ ‚|j
                  dk(  sJ ‚|j                  dk(  sJ ‚y )Nc                 ó&   — d| k  | dk  z  r| dz  S dS r}  rŽ   r-   s    r/   r|   z9TestBracket.test_minimize_scalar_success_false.<locals>.f|  r~  r1   r  r¤  )rO  r—   r_   r   r2  )r
   rS  r¾   r   r›   rø   rš   )ro   r—   r|   r   r­   s        r/   Ú"test_minimize_scalar_success_falsez.TestBracket.test_minimize_scalar_success_falsey  sq   € ò	;ð Nˆä×&Ñ& q°'À&ÔIˆØ—;’;ÐˆØ˜#Ÿ+™+Ñ%Ð%Ð%Ø�x‰x˜1Š}Ðˆ}Ø�w‰w˜!Š|Ðˆ|Ø�w‰w˜#Š~Ð‰~r1   N)	rŠ   r‹   rŒ   rÛ   rk  rl  rƒ  rm  r†  rŽ   r1   r/   rz  rz  `  sJ   „ à‡[�[×ÑÐ 8Ó9ñ7ó :ð7ð, ‡[�[×Ñ˜XÐ':Ó;ñó <ñr1   rz  c                  ób   — t        t        t        j                  t        j
                  d¬«       y )Ng{®Gáz„¿r>  )rP   rQ   r
   r;  r+   rG   rŽ   r1   r/   Útest_brent_negative_tolerancerˆ  ‰  s   € Ü”*œhŸn™n¬b¯f©f¸$Ö?r1   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestNewtonCgc                 óP  — t        j                  ddg«      }t        j                  t        j                  |t        j
                  t        j                  dd¬«      }|j                  sJ |j                  «       ‚t        |j                  t        j                  ddg«      d¬«       y ©	Nrý   r\   r»   rI  ©r˜   r†   r  r—   r)   r½  r¼   )r+   rL   r
   rª   r   r   r   r¾   r   r   r.   ©ro   rU   r¿   s      r/   Útest_rosenbrockzTestNewtonCg.test_rosenbrockŽ  sx   € Ü�X‰X�t˜S�kÓ"ˆÜ×Ñ¤§¡°Ü$,×$6Ñ$6Ü%-×%8Ñ%8Ø$(Ø'2ô	4ˆð
 �{Š{Ð'˜CŸK™KÓ'ˆ{Ü˜Ÿ™œrŸx™x¨¨A¨Ó/°dÖ;r1   c                 ó.  — t        j                  t        «      }t        j                  t
        |t        t        dd¬«      }|j                  sJ |j                  «       ‚t        |j                  t        d¬«       t        |j                  t        d¬«       y )NrI  r;   )r˜   r†   r—   r  r½  r¼   r    )r+   rL   rT   r
   rª   Ú
himmelblaurR   rS   r¾   r   r   r.   Úhimmelblau_xoptrš   Úhimmelblau_minrŽ  s      r/   Útest_himmelblauzTestNewtonCg.test_himmelblau˜  sh   € Ü�X‰X”mÓ$ˆÜ×Ñ¤
Ø "Ü$3Ü%4Ø'2Ø$(ô*ˆð �{Š{Ð'˜CŸK™KÓ'ˆ{Ü˜Ÿ™œ°TÕ:Ü˜Ÿ™¤°dÖ;r1   c                 ó4  — t        j                  ddg«      }t        j                  t        j                  |t        j
                  ddd¬«      }|j                  sJ |j                  «       ‚t        |j                  t        j                  ddg«      d¬	«       y )
Nrý   r\   rè  r»   rI  r�  r)   r½  r¼   )
r+   rL   r
   rª   r   r   r¾   r   r   r.   rŽ  s      r/   Útest_finite_differencez#TestNewtonCg.test_finite_difference¤  sr   € Ü�X‰X�t˜S�kÓ"ˆÜ×Ñ¤§¡°Ü$,×$6Ñ$6Ø%.Ø$(Ø'2ô	4ˆð
 �{Š{Ð'˜CŸK™KÓ'ˆ{Ü˜Ÿ™œrŸx™x¨¨A¨Ó/°dÖ;r1   c                 óX  — t        j                  ddg«      }t        j                  t        j                  |t        j
                  t        j                  «       dd¬«      }|j                  sJ |j                  «       ‚t        |j                  t        j                  ddg«      d¬«       y rŒ  )r+   rL   r
   rª   r   r   rÂ   r¾   r   r   r.   rŽ  s      r/   Útest_hessian_update_strategyz)TestNewtonCg.test_hessian_update_strategy®  sx   € Ü�X‰X�t˜S�kÓ"ˆÜ×Ñ¤§¡°Ü$,×$6Ñ$6Ü%-§]¡]£_Ø$(Ø'2ô	4ˆð
 �{Š{Ð'˜CŸK™KÓ'ˆ{Ü˜Ÿ™œrŸx™x¨¨A¨Ó/°dÖ;r1   N)rŠ   r‹   rŒ   r�  r”  r–  r˜  rŽ   r1   r/   rŠ  rŠ  �  s   „ ò<ò
<ò<ó<r1   rŠ  c                  óÜ  — t         j                  j                  } t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }|t        j                  g d¢«      ddf|t        j                  g d¢«      d	d
f|t        j                  g d¢«      ddf|t        j                  g d¢«      ddf|t        j                  g d¢«      d	d
f|t        j                  g d¢«      ddf|t        j                  g d¢«      ddf|t        j                  g d¢«      ddf|t        j                  g d¢«      dd	f|t        j                  g d¢«      ddf|t        j                  g d¢«      ddf|t        j                  g d¢«      dd	f|t        j                  g d¢«      ddff}|D ]1  \  }}}}	 | ||||«      \  }
}t        |
|d¬«       t        ||	d¬«       Œ3 t        j                  t        j                   d	t        j                   dg«      }t        j                  t        j                  d
dt        j                  g«      }|t        j                  g d¢«      t        j                   t        j                  f|t        j                  g d¢«      d	d
f|t        j                  g d¢«      t        j                   df|t        j                  g d¢«      dt        j                  f|t        j                  g d¢«      d	d
f|t        j                  g d¢«      dt        j                  f|t        j                  g d¢«      t        j                   t        j                  f|t        j                  g d¢«      dd	f|t        j                  g d¢«      t        j                   df|t        j                  g d¢«      dt        j                  f|t        j                  g d¢«      dd	f|t        j                  g d¢«      dt        j                  ff}|D ]1  \  }}}}	 | ||||«      \  }
}t        |
|d¬«       t        ||	d¬«       Œ3 y )N)ç333333ÀrH  r¸   r•  )rÕ   r)   çffffff@r_   ©r`   r   r   r   )r`   r4   r•  r   ©r\   r   r   r   rš  rÕ   ©r`   r)   r   r   rH  r)   ©r`   r   r)   r   r¸   r›  ©r`   r   r   r)   r•  r_   )r\   r)   r   r   )r\   r   rH  r4   r6   )r�  r   rH  r4   gffffffî?g333333@)r\   r   rH  r   r;   r    g333333À)r
   r}  Ú_line_for_searchr+   rL   r   r·  )Úline_for_searchÚlower_boundÚupper_boundrU   Úx1Ú	all_testsr.   ÚalphaÚlminÚlmaxÚmiÚmas               r/   Útest_line_for_searchr¬  ¹  sh  € ô
 ×(Ñ(×9Ñ9€Oô —(‘(Ò/Ó0€KÜ—(‘(Ò+Ó,€Kô 
�‰’-Ó	 €Bä	�‰’.Ó	!€Bð 
ŒR�X‰X’mÓ$ d¨CÐ0Ø	ŒR�X‰X’mÓ$ b¨!Ð,Ø	ŒR�X‰X’mÓ$ d¨CÐ0Ø	ŒR�X‰X’mÓ$ b¨!Ð,Ø	ŒR�X‰X’mÓ$ b¨!Ð,Ø	ŒR�X‰X’nÓ% t¨SÐ1Ø	ŒR�X‰X’nÓ% t¨TÐ2Ø	ŒR�X‰X’mÓ$ d¨CÐ0Ø	ŒR�X‰X’mÓ$ b¨"Ð-Ø	ŒR�X‰X’mÓ$ c¨3Ð/Ø	ŒR�X‰X’mÓ$ b¨!Ð,Ø	ŒR�X‰X’mÓ$ b¨"Ð-Ø	ŒR�X‰X’nÓ% t¨TÐ2ð€Ió  !*Ñˆˆ5�$˜Ù   E¨;¸ÓD‰ˆˆBÜ˜˜D tÕ,Ü˜˜D tÖ,ð !*ô —(‘(œRŸV™V˜G R¬"¯&©&¨°"Ð5Ó6€KÜ—(‘(œBŸF™F A s¬B¯F©FÐ3Ó4€Kð 
ŒR�X‰X’mÓ$¤r§v¡v g¬r¯v©vÐ6Ø	ŒR�X‰X’mÓ$ b¨!Ð,Ø	ŒR�X‰X’mÓ$¤r§v¡v g¨sÐ3Ø	ŒR�X‰X’mÓ$ b¬"¯&©&Ð1Ø	ŒR�X‰X’mÓ$ b¨!Ð,Ø	ŒR�X‰X’nÓ% t¬R¯V©VÐ4Ø	ŒR�X‰X’mÓ$¤r§v¡v g¬r¯v©vÐ6Ø	ŒR�X‰X’mÓ$ b¨"Ð-Ø	ŒR�X‰X’mÓ$¤r§v¡v g¨sÐ3Ø	ŒR�X‰X’mÓ$ b¬"¯&©&Ð1Ø	ŒR�X‰X’mÓ$ b¨"Ð-Ø	ŒR�X‰X’nÓ% t¬R¯V©VÐ4ð€Ió !*Ñˆˆ5�$˜Ù   E¨;¸ÓD‰ˆˆBÜ˜˜D tÕ,Ü˜˜D tÖ,ñ !*r1   c            
      ó®  — t         j                  j                  } d„ }t        j                  g d¢«      } ||«      }t        j                  t        j
                   gdz  «      }t        j                  t        j
                  gdz  «      }t        j                  g d¢«      dft        j                  g d¢«      dft        j                  g d¢«      d	ft        j                  g d
¢«      dft        j                  g d¢«      dft        j                  g d¢«      dft        j                  g d¢«      dff}|D ]›  \  }} | ||||d¬«      \  }	}
}t        |	 |||z  «      d¬«       t        |
||z  d¬«       t        |||z  d¬«        | |||d|||¬«      \  }	}
}t        |	 |||z  «      d¬«       t        |
||z  d¬«       t        |||z  d¬«       Œ� y )Nc                 ób   — t        j                  | t        j                  g d¢«      z
  dz  «      S ©N)rÈ  r�  r6   çš™™™™™Ù¿r4   ©r+   rC   rL   r-   s    r/   r}   z$test_linesearch_powell.<locals>.funcý  ó%   € Ü�v‰v�qœ2Ÿ8™8Ò$:Ó;Ñ;ÀÑAÓBÐBr1   rœ  r¤   r�  rH  rž  r4   rŸ  r6   r   r°  ©rÈ  r   r)   r   ç      ô?©r`   r   r)   r)   çš™™™™™á?©r�  r   rH  r)   çÍÌÌÌÌÌä¿r»   )Úfvalr  r;   r    ©r  r£  r¤  r¹  )r
   r}  Ú_linesearch_powellr+   rL   r·  r   ©Úlinesearch_powellr}   r   r¹  r£  r¤  r¦  ÚxiÚlr|   r�   r9   s               r/   Útest_linesearch_powellrÀ  ø  sš  € ä ×*Ñ*×=Ñ=ÐòCä	�‰’-Ó	 €BÙ�‹8€DÜ—(‘(œRŸV™V˜G˜9 q™=Ó)€KÜ—(‘(œBŸF™F˜8 a™<Ó(€Kô 
�‰’-Ó	  "Ð%Ü	�‰’-Ó	  !Ð$Ü	�‰’-Ó	  #Ð&Ü	�‰’-Ó	  #Ð&Ü	�‰’.Ó	! 4Ð(Ü	�‰’-Ó	  #Ð&Ü	�‰’.Ó	! 4Ð(ð€Ió ‰ˆˆAÙ+¨D°"°bØ15¸4ôA‰ˆˆ1ˆiä˜™4  B¡›<¨dÕ3Ü˜˜1˜r™6¨Õ-Ü˜	 1 r¡6°Õ5á+¨D°"°b¸dØ8CØ8CØ15ô7‰ˆˆ1ˆiô 	˜™4  B¡›<¨dÕ3Ü˜˜1˜r™6¨Õ-Ü˜	 1 r¡6°Ö5ñ r1   c            
      óÞ  — t         j                  j                  } d„ }t        j                  g d¢«      } ||«      }t        j                  dgdz  «      }t        j                  dgdz  «      }t        j                  g d¢«      dft        j                  g d¢«      d	ft        j                  g d
¢«      dft        j                  g d¢«      dft        j                  g d¢«      dft        j                  g d¢«      dft        j                  g d¢«      dff}|D ]Q  \  }} | |||d|||¬«      \  }	}
}t        |	 |||z  «      d¬«       t        |
||z  d¬«       t        |||z  d¬«       ŒS t        j                  dgdz  dgz   «      }t        j                  dgdz  dgz   «      }t        j                  g d¢«      dft        j                  g d¢«      dft        j                  g d
¢«      dft        j                  g d¢«      dft        j                  g d¢«      dft        j                  g d¢«      dft        j                  g d¢«      dff}|D ]Q  \  }} | |||d|||¬«      \  }	}
}t        |	 |||z  «      d¬«       t        |
||z  d¬«       t        |||z  d¬«       ŒS t        j                  g d¢«      } ||«      }t        j                  g d¢«      dft        j                  g d¢«      dft        j                  g d
¢«      dft        j                  g d¢«      d ff}|D ]W  \  }} | |||d|||¬«      \  }	}
}t        |	 ||||z  z   «      d¬«       t        |
|||z  z   d¬«       t        |||z  d¬«       ŒY t        j                  g d¢«      } ||«      }t        j                  dt        j                   t        j                   dg«      }t        j                  t        j                  dt        j                  dg«      }t        j                  g d¢«      dft        j                  g d¢«      dft        j                  g d
¢«      dft        j                  g d¢«      dft        j                  g d¢«      dft        j                  g d¢«      dft        j                  g d¢«      dff}|D ]Q  \  }} | |||d|||¬«      \  }	}
}t        |	 |||z  «      d¬«       t        |
||z  d¬«       t        |||z  d¬«       ŒS t        j                  g d¢«      } ||«      }t        j                  g d¢«      dft        j                  g d¢«      dft        j                  g d
¢«      dft        j                  g d¢«      d ff}|D ]W  \  }} | |||d|||¬«      \  }	}
}t        |	 ||||z  z   «      d¬«       t        |
|||z  z   d¬«       t        |||z  d¬«       ŒY y )!Nc                 ób   — t        j                  | t        j                  g d¢«      z
  dz  «      S r¯  r±  r-   s    r/   r}   z,test_linesearch_powell_bounded.<locals>.func#	  r²  r1   rœ  g       Àr¤   r�  r�  rH  rž  r4   rŸ  r6   r   r°  r³  r´  rµ  r¶  r·  r¸  r»   rº  r;   r    g333333Ó¿r_   gÍÌÌÌÌÌÜ?r  r]   g333333Ã¿)rÈ  r   r   r4   rÓ   g333333À)r
   r}  r»  r+   rL   r   r·  r¼  s               r/   Útest_linesearch_powell_boundedrÃ  	  sO  € ä ×*Ñ*×=Ñ=ÐòCä	�‰’-Ó	 €BÙ�‹8€Dô —(‘(˜C˜5 ™7Ó#€KÜ—(‘(˜B˜4 ™6Ó"€Kô 
�‰’-Ó	  "Ð%Ü	�‰’-Ó	  !Ð$Ü	�‰’-Ó	  #Ð&Ü	�‰’-Ó	  #Ð&Ü	�‰’.Ó	! 4Ð(Ü	�‰’-Ó	  #Ð&Ü	�‰’.Ó	! 4Ð(ð€Ió ‰ˆˆAÙ+¨D°"°b¸dØ8CØ8CØ15ô7‰ˆˆ1ˆiô 	˜™4  B¡›<¨dÕ3Ü˜˜1˜r™6¨Õ-Ü˜	 1 r¡6°Ö5ð ô —(‘(˜C˜5 ™7 b T™>Ó*€KÜ—(‘(˜C˜5 ™7 b T™>Ó*€Kô 
�‰’-Ó	  #Ð&Ü	�‰’-Ó	  #Ð&Ü	�‰’-Ó	  #Ð&Ü	�‰’-Ó	  #Ð&Ü	�‰’.Ó	! 2Ð&Ü	�‰’-Ó	  #Ð&Ü	�‰’.Ó	! 4Ð(ð€Ió ‰ˆˆAÙ+¨D°"°b¸dØ8CØ8CØ15ô7‰ˆˆ1ˆiô 	˜™4  B¡›<¨dÕ3Ü˜˜1˜r™6¨Õ-Ü˜	 1 r¡6°Ö5ð ô 
�‰’.Ó	!€BÙ�‹8€Dô 
�‰’-Ó	  "Ð%Ü	�‰’-Ó	  #Ð&Ü	�‰’-Ó	  #Ð&Ü	�‰’-Ó	  $Ð'ð	€Ió ‰ˆˆAÙ+¨D°"°b¸dØ8CØ8CØ15ô7‰ˆˆ1ˆiô 	˜™4  Q¨¡V¡Ó,°4Õ8Ü˜˜2  B¡™;¨TÕ2Ü˜	 1 r¡6°Ö5ð ô 
�‰’-Ó	 €BÙ�‹8€Dô —(‘(˜C¤"§&¡& ¬2¯6©6¨'°2Ð6Ó7€KÜ—(‘(œBŸF™F C¬¯©°Ð4Ó5€Kô 
�‰’-Ó	  #Ð&Ü	�‰’-Ó	  #Ð&Ü	�‰’-Ó	  #Ð&Ü	�‰’-Ó	  #Ð&Ü	�‰’.Ó	! 2Ð&Ü	�‰’-Ó	  #Ð&Ü	�‰’.Ó	! 4Ð(ð€Ió ‰ˆˆAÙ+¨D°"°b¸dØ8CØ8CØ15ô7‰ˆˆ1ˆiô 	˜™4  B¡›<¨dÕ3Ü˜˜1˜r™6¨Õ-Ü˜	 1 r¡6°Ö5ð ô 
�‰’.Ó	!€BÙ�‹8€Dô 
�‰’-Ó	  "Ð%Ü	�‰’-Ó	  #Ð&Ü	�‰’-Ó	  #Ð&Ü	�‰’-Ó	  $Ð'ð	€Ió ‰ˆˆAÙ+¨D°"°b¸dØ8CØ8CØ15ô7‰ˆˆ1ˆiô 	˜™4  Q¨¡V¡Ó,°4Õ8Ü˜˜2  B¡™;¨TÕ2Ü˜	 1 r¡6°Ö5ñ r1   c                  óê   ‡— t        j                  ddgddg«      Šˆfd„} t        j                  | ddgd‰¬«       t        j                  dgdgdg¬	«      Šd
„ }t        j                  |dgd‰¬«       y )Nr   ç333333ã?r   c                 óœ   •— | \  }}| ‰j                   k\  j                  «       r| ‰j                  k  j                  «       sJ ‚|dz  |dz  z   S r>  )ÚlbrK   Úub)r.   ry  rs  r!  s      €r/   rš   ztest_powell_limits.<locals>.funŸ	  sK   ø€ Ø‰ˆˆ1Ø�V—Y‘Y‘×#Ñ#Ô%¨1°·	±	©>×*>Ñ*>Ô*@Ð@Ð@Ø�A‰v˜˜Q™‰Ðr1   r  r  r)   T)rÇ  rÈ  Úkeep_feasiblec                 óD   — | dk\  r| dk  sJ ‚t        j                  | «      S rÇ  r*   r-   s    r/   r}   z test_powell_limits.<locals>.func©	  s#   € Ø�AŠv˜!˜qš&Ð Ð Ü�v‰v�a‹yÐr1   r^   rh  )rš   rU   r—   r!  )r
   r   rª   )rš   r}   r!  s     @r/   Útest_powell_limitsrË  ›	  sq   ø€ ä�_‰_˜a ˜V c¨2 YÓ/€Fôô
 ×Ñ�c˜s B˜i°ÀÕHô �_‰_  ¨!¨¸d¸WÔE€Fòô ×Ñ˜$ C 5°À&ÖIr1   c                  óž   — t         d„ d„ g} | D ]=  }t        j                  |ddgd¬«      }t        j                  |j
                  «      rŒ=J ‚ y )Nc                 ó>   — t        j                  t        | «      «      S rA   ©r+   rL   r   r-   s    r/   r‡  z$test_powell_output.<locals>.<lambda>±	  s   € œRŸX™X¤e¨A£hÔ/r1   c                 ó@   — t        j                  t        | «      g«      S rA   rÎ  r-   s    r/   r‡  z$test_powell_output.<locals>.<lambda>±	  s   € ¼2¿8¹8ÄUÈ1ÃXÀJÔ;Or1   rÅ  r   r  )rU   r—   )r   r
   rª   r+   Úisscalarrš   )Úfunsrš   r­   s      r/   Útest_powell_outputrÒ  °	  sH   € ÜÑ/Ñ1OÐP€DÛˆÜ×Ñ ¨¨b¨	¸(ÔCˆÜ�{‰{˜3Ÿ7™7Õ#Ð#Ð#ñ r1   c                   ó²   — e Zd Z eej
                  «      d„ «       Z eej                  «      d„ «       Z eej                  ej                  «      d„ «       Zy)Ú	TestRosenc                 ó†   — |j                  g d¢«      }t        t        j                  |«      |j                  d«      «       y )Nr[   r`   )r  r#   r
   r   ©ro   r  r.   s      r/   Ú
test_rosenzTestRosen.test_rosen¸	  s0   € ð �J‰J’yÓ!ˆÜœŸ™ qÓ)ØŸ
™
 2›õ	(r1   c           	      ó¼   — |j                  g d¢«      }t        t        j                  |«      |j	                  ||j                  d«      j
                  ¬«      «       y )N)r)   r)   r)   r)   r\   )r’  )r  r#   r
   r   Ú
zeros_liker’  rÖ  s      r/   Útest_rosen_derzTestRosen.test_rosen_der¿	  sD   € à�J‰J’|Ó$ˆÜœ×*Ñ*¨1Ó-ØŸ™ a¨r¯z©z¸"«~×/CÑ/C˜ÓDõ	Fr1   c                 ó  — |j                  d«      }|j                  g d¢«      }|j                  g d¢«      }t        j                  ||«      }|j                  ||j                  «      }t        j
                  |«      |z  }t        ||«       y )Nr\   )r_   r¤   r×   )r4   r4   r4   )r  r
   Úrosen_hess_prodr•  r’  r   r#   )ro   r  Úoner.   r�   ÚhpÚdothps          r/   Útest_hess_prodzTestRosen.test_hess_prodÅ	  sr   € à�j‰j˜‹nˆð �J‰J’yÓ!ˆØ�J‰J’yÓ!ˆÜ×%Ñ% a¨Ó+ˆØ�I‰I�a˜Ÿ™Ó#ˆÜ×#Ñ# AÓ&¨Ñ*ˆÜ˜˜EÕ"r1   N)rŠ   r‹   rŒ   r$   r
   r   r×  r   rÚ  r   rÜ  rà  rŽ   r1   r/   rÔ  rÔ  ·	  sf   „ Ù�x—~‘~Ó&ñ(ó 'ð(ñ �x×)Ñ)Ó*ñFó +ðFñ
 �x×*Ñ*¨H×,DÑ,DÓEñ	#ó Fñ	#r1   rÔ  c                 óN   — | \  }}||z  |z   dz
  }|||z  z   dz
  }||z  ||z  z   S )zx
    R^2 -> R^1 test function for optimization. The function has four local
    minima where himmelblau(xopt) == 0.
    r‚  r£   rŽ   )r�   r.   r8  ry  rs  s        r/   r‘  r‘  Ò	  sA   € ð
 �D€A€qØ	ˆ!‰ˆa‰�"‰€AØ	ˆAˆa‰C‰�!‰€AØˆQ‰3��1‘‰9Ðr1   c                 ó¾   — | \  }}t        j                  d|dz  z  d|z  |z  z   d|z  z
  d|dz  z  z   dz
  d|dz  z  d|z  |z  z   d|dz  z  z   d|z  z
  dz
  g«      S )Nr¤   r_   é*   r4   é   é   rW  re  ©r�   r.   r8  s      r/   rR   rR   Ý	  s„   € Ø�D€A€qÜ�8‰8�Q�q˜!‘t‘V˜a ™c !™e‘^ b¨¡dÑ*¨Q¨q°!©t©VÑ3°bÑ8Ø�q˜!‘t‘V˜a ™c !™e‘^ a¨¨1©¡fÑ,¨r°!©tÑ3°bÑ8ð:ó ;ð ;r1   c                 ó¢   — | \  }}t        j                  d|dz  z  d|z  z   dz
  d|z  d|z  z   gd|z  d|z  z   d|z  d|dz  z  z   dz
  gg«      S )Nr�  r4   r¤   rã  rå  re  ræ  s      r/   rS   rS   ã	  sr   € Ø�D€A€qÜ�8‰8�b˜˜A™‘g  !¡‘m bÑ(¨!¨A©#°°!±©)Ð4Ø˜‘c˜A˜a™C‘i  1¡ r¨!¨Q©$¡w¡°Ñ!3Ð4ð6ó 7ð 7r1   gHáz®GÑ¿gÍÌÌÌÌÌì¿r_   r4   r`   c                  ó¢   — d„ } d„ }d„ }d| dœd|dœd|dœf}d„ }t        j                  |g d¢d|¬	«      }t        |j                  g d
¢d¬«       y )Nc                 ód   — t        j                  dd| d   z  z
  d| d   z  z
  d| d   z  z
  g«      S )Né   rI   r   r©  r)   rª  r4   re  r-   s    r/   r}   z0test_minimize_multiple_constraints.<locals>.funcð	  s:   € Ü�x‰x˜˜c A a¡D™j™¨3°°1±©:Ñ5¸¸qÀ¹t¹ÑCÐDÓEÐEr1   c                 ó4   — t        j                  | d   g«      S r(   re  r-   s    r/   Úfunc1z1test_minimize_multiple_constraints.<locals>.func1ó	  ó   € Ü�x‰x˜˜1™˜ÓÐr1   c                 ó4   — t        j                  | d   g«      S r>  re  r-   s    r/   rÓ  z1test_minimize_multiple_constraints.<locals>.func2ö	  rí  r1   r™  rš  c                 ó*   — d| d   | d   z   | d   z   z  S )NrH  r   r)   r4   rŽ   r-   s    r/   r|   z-test_minimize_multiple_constraints.<locals>.fý	  s"   € Ø�Q�q‘T˜A˜a™D‘[ 1 Q¡4Ñ'Ñ(Ð(r1   r¦  rž  rœ  )é}   r   r   r±  r    rE  )r}   rì  rÓ  r˜  r|   r­   s         r/   Ú"test_minimize_multiple_constraintsrñ  î	  s`   € òFò ò ð  DÑ)Ø EÑ*Ø EÑ*ð,€Dò)ô ×
Ñ
˜Ašy°ÀdÔ
K€CÜ�C—E‘Eš;¨UÖ3r1   c                   óT   — e Zd Zd„ Zej
                  j                  d«      d„ «       Zy)ÚTestOptimizeResultAttributesc                 óÐ   — ddg| _         t        j                  | _        t        j                  | _        t        j                  | _        t        j                  | _	        ddg| _
        y )Nr×   )r`   rú  )rU   r
   r   r}   r   r˜   r   r†   rÜ  r‰   r!  rn   s    r/   rp   z)TestOptimizeResultAttributes.setup_method
  sK   € Ø�a�&ˆŒÜ—N‘NˆŒ	Ü×%Ñ%ˆŒÜ×'Ñ'ˆŒ	Ü×-Ñ-ˆŒ
Ø  )Ð,ˆ�r1   r4   c           
      óæ  — g d¢}ddgi}t         D ]Ó  }t        j                  «       5  t        j                  ddt        «       t        j                  | j                  | j                  || j                  | j                  | j                  ¬«      }d d d «       |D ]+  }||v r|||   v rŒt        |«      sJ ‚|t        |«      v rŒ+J ‚ t        j                  t         «      rŒÓJ ‚ y # 1 sw Y   ŒXxY w)N)rø   r›   r.   r¾   r�   rš   r   rj  rø   rë   z7Method .+ does not use (gradient|Hessian.*) information)r—   r˜   r†   r‰   )r   rÝ  rÞ  rl  r¥  r
   rª   r}   rU   r˜   r†   r‰   rt   Údirr  r   Ústr)ro   Ú
attributesÚskipr—   r­   Ú	attributes         r/   Útest_attributes_presentz4TestOptimizeResultAttributes.test_attributes_present
  sÜ   € ò!ˆ
à˜5˜'Ð"ˆß&ˆFÜ×(Ñ(Õ*Ü×'Ñ'¨ð+Ü-;ô=ô ×'Ñ'¨¯	©	°4·7±7À6Ø,0¯H©H¸4¿9¹9Ø.2¯j©jô:�÷	 +ó (�	Ø˜T‘> i°4¸±<Ñ&?Øä˜s IÔ.Ð.Ð.Ø ¤C¨£HÒ,Ð,Ð,ð (ô ˜cŸk™k¬3Õ/Ð/Ð/ñ! 'ß*Ð*ús   §A)C'Ã'C0	N)rŠ   r‹   rŒ   rp   rÛ   rk  r  rû  rŽ   r1   r/   ró  ró  
  s*   „ ò-ð ‡[�[×Ñ˜1Óñ0ó ñ0r1   ró  c                 ó~   — | \  }}|\  }}}}}}	}
}}}}}}||dz  z  ||z  |z  z   ||dz  z  z   ||z  z   ||z  z   |	z   S r>  rŽ   ©rc  r®   r.   r8  ry  rs  rr   r  rè   r|   r>  rå  r‚  r7  rB  r¿  rÅ  s                    r/   Úf1rþ  '
  sj   € Ø�D€A€qØ06Ñ-€A€qˆ!ˆQ��1�a˜˜A˜q ! Q¨Ø��1‘‰H�q˜1‘u˜q‘yÑ  1 q¨!¡t¡8Ñ+¨a°©cÑ1°A°a±CÑ7¸!Ñ;Ð<r1   c                 ó„   — | \  }}|\  }}}}}}	}
}}}}}}|
 t        j                  ||z
  dz  ||z
  dz  z    |z  «      z  S r>  r*   rý  s                    r/   Úf2r   -
  ó^   € Ø�D€A€qØ06Ñ-€A€qˆ!ˆQ��1�a˜˜A˜q ! Q¨ØˆBŒr�v‰v˜˜1™˜q™ A a¡C¨!¡8Ñ+Ð,¨uÑ4Ó5Ñ5Ð6r1   c                 ó„   — | \  }}|\  }}}}}}	}
}}}}}}| t        j                  ||z
  dz  ||z
  dz  z    |z  «      z  S r>  r*   rý  s                    r/   Úf3r  3
  r  r1   c                 óN   — t        | g|¢­Ž t        | g|¢­Ž z   t        | g|¢­Ž z   S rA   )rþ  r   r  )rc  r®   s     r/   Ú
brute_funcr  9
  s*   € Üˆaˆ>�&Š>œB˜q˜N 6šNÑ*¬R°¨^°Fª^Ñ;Ð;r1   c                   ór   — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  d«      d„ «       Z
d„ Zd„ Zy	)
Ú	TestBrutec                 óˆ   — d| _         t        ddd«      t        ddd«      f| _        t        j                  ddg«      | _        y )N©r4   r_   r£   rÇ   r¢   rÆ   é,   rH  r4   rå  r)   r°  r^   r¥  r¤   ç      Ð?g_}ú×èð¿g•÷iÃþîü?)r®   ÚsliceÚrrangesr+   rL   rg   rn   s    r/   rp   zTestBrute.setup_method?
  s<   € ØDˆŒÜ˜b ! TÓ*¬E°"°a¸Ó,>Ð?ˆŒÜŸ™ +¨zÐ!:Ó;ˆ�r1   c                 ó   — t        |g|¢­Ž S rA   )r  )ro   rc  r®   s      r/   r  zTestBrute.brute_funcD
  s   € ä˜!Ð%˜fÒ%Ð%r1   c                 óî  — t        j                  t        | j                  | j                  dt         j
                  ¬«      }t        |d   | j                  d¬«       t        |d   t        | j                  g| j                  ¢­Ž d¬«       t        j                  t        | j                  | j                  dt         j                  ¬«      }t        |d   | j                  d¬«       t        |d   t        | j                  g| j                  ¢­Ž d¬«       t        j                  | j                  | j                  | j                  dt         j                  ¬«      }t        |d   | j                  d¬«       y )NT©r–   rž   Úfinishr   rô   r    r)   )	r
   Úbruter  r  r®   r+  r   rg   rª   )ro   Úresbrutes     r/   Ú
test_brutezTestBrute.test_bruteH
  s
  € ä—>‘>¤*¨d¯l©lÀÇÁØ.2¼8¿=¹=ôJˆä˜ ™ T§]¡]¸Õ>Ü˜ ™¤Z°·±Ð%LÀÇÁÒ%LØ!õ	#ô —>‘>¤*¨d¯l©lÀÇÁØ.2Ü)1×):Ñ):ô<ˆô 	˜ ™ T§]¡]¸Õ>Ü˜ ™¤Z°·±Ð%LÀÇÁÒ%LØ!õ	#ô
 —>‘> $§/¡/°4·<±<Ø'+§{¡{ÀÜ)1×):Ñ):ô<ˆô 	˜ ™ T§]¡]¸Ö>r1   c                 ó>   — d„ }t        j                  |dgdd ¬«       y )Nc                 óh   — t        | j                  «      dk(  sJ ‚| j                  d   dk(  sJ ‚| dz  S )Nr)   r   r4   )r©  rr  r-   s    r/   r|   zTestBrute.test_1D.<locals>.fb
  s5   € Ü�q—w‘w“< 1Ò$Ð$Ð$Ø—7‘7˜1‘: ’?Ð"�?Ø˜‘6ˆMr1   r¤  r_   )ÚNsr  )r
   r  )ro   r|   s     r/   Útest_1DzTestBrute.test_1D_
  s   € ò	ô
 	�‰�q˜7˜)¨°$Ö7r1   rÆ   c                 ó  — t        j                  t        | j                  | j                  dd ¬«      }t        j                  t        | j                  | j                  dd d¬«      }t        |d   |d   «       t        |d   |d   «       y )NTr  r4   )r–   rž   r  ÚworkersrH  r   )r
   r  r  r  r®   r   )ro   r  Ú	resbrute1s      r/   Útest_workerszTestBrute.test_workersi
  sr   € ô —>‘>¤*¨d¯l©lÀÇÁØ.2¸4ôAˆô —N‘N¤:¨t¯|©|À$Ç+Á+Ø/3¸DÈ!ôMˆ	ô 	˜	 "™ x°¡|Ô4Ü˜	 !™ h¨q¡kÕ2r1   c                 ó  ‡— t         j                  j                  d«      Šˆfd„}d}t        j                  t
        |¬«      5  t        j                  || j                  | j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nr8   c                 ó,   •— ‰j                  d«      dz  S rq  rr  )rc  r®   r=   s     €r/   r}   z,TestBrute.test_runtime_warning.<locals>.funcx
  s   ø€ Ø—:‘:˜a“= 4Ñ'Ð'r1   zFfinal optimization did not succeed.*|Maximum number of function eval.*rÏ   T)r–   r“   )
r+   r7   rv  rÛ   r§  r¥  r
   r  r  r®   )ro   Úcapsysr}   rƒ  r=   s       @r/   r¦  zTestBrute.test_runtime_warningu
  sX   ø€ Ü�i‰i×#Ñ# DÓ)ˆô	(ð WˆÜ�\‰\œ.°Ö4Ü�N‰N˜4 §¡°D·K±KÀdÕK÷ 5×4Ñ4ús   Á.A:Á:Bc                 ój   — d„ }t        j                  |t        ddd«      fd¬«      }t        |d«       y )Nc                 ó   — | |d   z  S rO  rŽ   )r.   r–   s     r/   r|   z+TestBrute.test_coerce_args_param.<locals>.f�
  s   € Ø˜˜Q™‘<Ðr1   r¥  r¤   r  r4   rY  r   )r
   r  r  r   )ro   r|   r  s      r/   Útest_coerce_args_paramz TestBrute.test_coerce_args_param
  s1   € ò	 ô —>‘> !¤e¨B°°3Ó&7Ð%9ÀÔBˆÜ˜ !Õ$r1   N)rŠ   r‹   rŒ   rp   r  r  r  rÛ   rk  r  r  r¦  r"  rŽ   r1   r/   r  r  =
  sD   „ ò<ò
&ò?ò.8ð ‡[�[×Ñ˜2Óñ	3ó ð	3òLó%r1   r  r   c                  ó^  ‡‡‡‡	— dd l } dd lŠ	ˆ	fd„Šˆ	fd„ŠdŠˆˆfd„}ˆˆfd„}| j                  j                  «       5 }g }|j	                  |j                  |«      «       |j	                  |j                  |«      «       |D ]  }|j                  «        Œ 	 d d d «       y # 1 sw Y   y xY w)Nr   c                 ó6   •— ‰j                  d«       | d   dz  S )Nr>   r   r4   ©Úsleep©r.   Útimes    €r/   Ú
objective1z*test_cobyla_threadsafe.<locals>.objective1�
  s   ø€ Ø�
‰
�3ŒØ�‰t�Q‰wˆr1   c                 ó<   •— ‰j                  d«       | d   dz
  dz  S )Nr>   r   r)   r4   r%  r'  s    €r/   Ú
objective2z*test_cobyla_threadsafe.<locals>.objective2”
  s    ø€ Ø�
‰
�3ŒØ�!‘�Q‘˜‰{Ðr1   ÚCOBYLAc                  ó6   •— t        j                  ‰dg‰ ¬«      S ©Nr`   rº   rx  )Ú
min_methodr)  s   €€r/   Ú
minimizer1z*test_cobyla_threadsafe.<locals>.minimizer1š
  ó    ø€ Ü× Ñ  Ø'* eØ-7ô9ð 	9r1   c                  ó6   •— t        j                  ‰dg‰ ¬«      S r.  rx  )r/  r+  s   €€r/   Ú
minimizer2z*test_cobyla_threadsafe.<locals>.minimizer2Ÿ
  r1  r1   )Úconcurrent.futuresr(  ÚfuturesÚThreadPoolExecutorrx   ÚsubmitrK  )
Ú
concurrentr0  r3  ÚpoolÚtasksrs   r/  r)  r+  r(  s
         @@@@r/   Útest_cobyla_threadsafer;  ˆ
  sŠ   û€ ó
 Ûôôð €Jõ9õ
9ð
 
×	Ñ	×	.Ñ	.Ô	0°DØˆØ�‰�T—[‘[ Ó,Ô-Ø�‰�T—[‘[ Ó,Ô-ÛˆAØ�H‰H�Jñ ÷	 
1×	0Ñ	0ús   ¿AB#Â#B,c                   óf   — e Zd Zd„ Zd„ Zej                  j                  d«      d„ «       Zd„ Z	d„ Z
y)ÚTestIterationLimitsc                 ó6   — t        j                  «       | _        y rA   )ri   rj   rM  rn   s    r/   rp   z TestIterationLimits.setup_method°
  s   € Ü!Ÿ™Ó)ˆ�r1   c                 óP  — t        | j                  d«      sd| j                  _        | j                  xj                  dz  c_        t        j                  |d   dz  |d   dz  z   «      t        j
                  |d   |d   «      }}t        j                  |dz  |z   «      |dz  z   S )Nrr   r   r)   r4   r   r^   )rt   rM  rr   r+   râ  Úarctan2rB   )ro   r*  rV   rs   s       r/   Ú	slow_funczTestIterationLimits.slow_func³
  s†   € Ü�t—}‘} cÔ*ØˆD�M‰MŒOØ�‰�Š˜1Ñ�Ü�w‰w�q˜‘t˜Q‘w˜q ™t Q™w‘Ó'¬¯©°A°a±D¸!¸A¹$Ó)?ˆ1ˆÜ�v‰v�a˜‘d˜Q‘hÓ  #¡Ñ%Ð%r1   rÆ   c                 ó(   — | j                  dd«       y )Nrt  éÈ   ©Úcheck_limitsrn   s    r/   Útest_neldermead_limitz)TestIterationLimits.test_neldermead_limitº
  s   € à×Ñ˜-¨Õ-r1   c                 ó(   — | j                  dd«       y )Nrh  ra   rD  rn   s    r/   Útest_powell_limitz%TestIterationLimits.test_powell_limit¾
  s   € Ø×Ñ˜( DÕ)r1   c           
      óZ  — ddgddgddgfD �]  }dD ]p  }d| j                   _        t        j                  | j                  ||d|i¬«      }| j                   j                  |d   k(  sJ ‚|d	   r|d   |k  rŒeJ ‚|d   |k\  rŒpJ ‚ dD ]A  }t        j                  | j                  ||d
|i¬«      }|d	   r|d   |k  rŒ6J ‚|d   |k\  rŒAJ ‚ ddgddgdt
        j                  gfD ]…  \  }}d| j                   _        t        j                  | j                  ||||dœ¬«      }| j                   j                  |d   k(  sJ ‚|d	   r|d   |k  r	|d   |k  rŒqJ ‚|d   |k\  rŒ||d   |k\  rŒ…J ‚ t
        j                  d gd t
        j                  gfD ]–  \  }}d| j                   _        t        j                  | j                  ||||dœ¬«      }| j                   j                  |d   k(  sJ ‚|d	   r|€|d   |dz  k  rŒnJ ‚|d   |dz  k  rŒ|J ‚|d   |dz  k\  rŒŠ|d   |dz  k\  rŒ–J ‚ �Œ y )Nr>   r)   r4   )r3  iô  éˆ  r   ru  rõ   r›   r¾   rh   rø   r3  rJ  )rh   ru  )rM  rr   r
   rª   rA  r+   r·  )ro   r—   Údefault_itersÚstart_vÚmfevr­   Úmits          r/   rE  z TestIterationLimits.check_limitsÁ
  sŠ  € Ø˜c˜
 Q¨ F¨Q°¨FÔ3ˆGÛ'�Ø"#�—‘”Ü×'Ñ'¨¯©¸Ø/5Ø19¸4Ð0@ôB�ð —}‘}—‘¨#¨f©+Ò5Ð5Ð5Ø�y’>Ø˜v™;¨Ó-Ð-Ð-à˜v™;¨$Ó.Ð.Ð.ð (ó '�Ü×'Ñ'¨¯©¸Ø/5Ø1:¸CÐ0@ôB�ð �y’>Ø˜u™:¨Ó,Ð,Ð,à˜u™:¨Ó,Ð,Ð,ð 'ð  " 2˜h¨¨t¨°t¼R¿V¹V°nÓE‘	��cØ"#�—‘”Ü×'Ñ'¨¯©¸Ø/5Ø<?Ø;?ñ1AôB�ð —}‘}—‘¨#¨f©+Ò5Ð5Ð5Ø�y’>Ø˜v™;¨Ò-°#°e±*ÀÓ2CÐCÐCà˜v™;¨$Ó.°#°e±*ÀÓ2CÐCÐCð Fô  "Ÿv™v t˜n¨t´R·V±V¨nÓ=‘	��cØ"#�—‘”Ü×'Ñ'¨¯©¸Ø/5Ø<?Ø;?ñ1AôB�ð —}‘}—‘¨#¨f©+Ò5Ð5Ð5Ø�y’>Ø�|Ø" 6™{¨]¸1©_Ó<Ð<Ð<à" 5™z¨]¸1©_Ó<Ð<Ð<à ™K¨=¸©?Ó:Ø" 5™z¨]¸1©_Ó<ð>ð =ò >ñ= 4r1   N)rŠ   r‹   rŒ   rp   rA  rÛ   rk  r  rF  rH  rE  rŽ   r1   r/   r=  r=  ¬
  s9   „ ò*ò&ð ‡[�[×Ñ˜2Óñ.ó ð.ò*ó->r1   r=  c                  ób  — d„ } d„ }d„ }g d¢}|D ]I  }t        j                  | t        j                  dg«      |¬«      }|j                  j
                  dk(  rŒIJ ‚ g d¢}|D ]K  }t        j                  | t        j                  dg«      |||¬	«      }|j                  j
                  dk(  rŒKJ ‚ y )
Nc                 ó   — | | z  S rA   rŽ   r-   s    r/   rš   z2test_result_x_shape_when_len_x_is_one.<locals>.funò
  s   € Ø�1‰uˆr1   c                 ó   — d| z  S ©Nr�  rŽ   r-   s    r/   r˜   z2test_result_x_shape_when_len_x_is_one.<locals>.jacõ
  s   € Ø�A‰vˆr1   c                 ó0   — t        j                  dgg«      S rR  re  r-   s    r/   r†   z3test_result_x_shape_when_len_x_is_one.<locals>.hessø
  s   € Ü�x‰x˜"˜˜ÓÐr1   )	rt  r  r•   rÂ   r#  ræ  r,  ÚCOBYQArž  r>   rº   rk  )rð  rô  rñ  rõ  rò  rI  ró  )r
   rª   r+   rL   r.   rr  )rš   r˜   r†   rì  r—   r­   s         r/   Ú%test_result_x_shape_when_len_x_is_onerU  ñ
  s¢   € òòò ò,€GãˆÜ×Ñ ¤R§X¡X¨s¨e£_¸VÔDˆØ�u‰u�{‰{˜dÓ"Ð"Ð"ð ò
,€GãˆÜ×Ñ ¤R§X¡X¨s¨e£_¸VÈØ%)ô+ˆà�u‰u�{‰{˜dÓ"Ð"Ð"ñ r1   c                   ó   — e Zd Zd„ Zd„ Zy)ÚFunctionWithGradientc                 ó6   — t        j                  «       | _        y rA   )ri   rj   Únumber_of_callsrn   s    r/   r  zFunctionWithGradient.__init__  s   € Ü(Ÿ™Ó0ˆÕr1   c                 óÈ   — t        | j                  d«      sd| j                  _        | j                  xj                  dz  c_        t        j                  |dz  «      d|z  fS )Nrr   r   r)   r4   )rt   rY  rr   r+   rC   r  s     r/   r  zFunctionWithGradient.__call__  sR   € Ü�t×+Ñ+¨SÔ1Ø%&ˆD× Ñ Ô"Ø×Ñ×Ò !Ñ#ÕÜ�v‰v�a˜‘d‹|˜Q ™UÐ"Ð"r1   Nr  rŽ   r1   r/   rW  rW  
  s   „ ò1ó#r1   rW  c                  ó   — t        «       S rA   )rW  rŽ   r1   r/   Úfunction_with_gradientr\    s   € äÓ!Ð!r1   c                 óŒ  — t        | «      }t        j                  ddg«      }t         ||«      d«       | j                  j
                  dk(  sJ ‚t        |j                  |«      d|z  «       | j                  j
                  dk(  sJ d«       ‚t         |d|z  «      dd¬	«       | j                  j
                  dk(  sJ d«       ‚y )
Nr\   r�  r�  r)   r4   zHfunction is not recomputed if gradient is requested after function valueg      4@ú(different input triggers new computationrÊ  )r   r+   rL   r   rY  rr   Ú
derivative©r\  Úmemoized_functionrU   s      r/   Ú)test_memoize_jac_function_before_gradientrb    sË   € Ü"Ð#9Ó:Ðä	�‰�3˜�*Ó	€BÜÑ% bÓ)¨3Ô/Ø!×1Ñ1×3Ñ3°qÒ8Ð8Ð8äÐ%×0Ñ0°Ó4°a¸"±fÔ=Ø!×1Ñ1×3Ñ3°qÒ8ð 8ð	8ó8Ð8ô Ù˜!˜b™&Ó! 4Ø:õ<ð "×1Ñ1×3Ñ3°qÒ8ð 3Ø2ó3Ñ8r1   c                 ó¤  — t        | «      }t        j                  ddg«      }t        |j	                  |«      d|z  «       | j
                  j                  dk(  sJ ‚t         ||«      d«       | j
                  j                  dk(  sJ d«       ‚t        |j	                  d|z  «      d|z  d¬	«       | j
                  j                  dk(  sJ d«       ‚y )
Nr\   r�  r4   r)   r�  zHfunction is not recomputed if function value is requested after gradientr¤   r^  rÊ  )r   r+   rL   r   r_  rY  rr   r`  s      r/   Ú)test_memoize_jac_gradient_before_functionrd  -  sÕ   € Ü"Ð#9Ó:Ðä	�‰�3˜�*Ó	€BÜÐ%×0Ñ0°Ó4°a¸"±fÔ=Ø!×1Ñ1×3Ñ3°qÒ8Ð8Ð8äÑ% bÓ)¨3Ô/Ø!×1Ñ1×3Ñ3°qÒ8ð 8ð	8ó8Ð8ô Ø×$Ñ$ Q¨¡VÓ,¨a°"©fØ:õ<ð "×1Ñ1×3Ñ3°qÒ8ð 3Ø2ó3Ñ8r1   c           	      óœ  — t        | «      }|j                  }t        j                  «       }t	        j
                  ddg«      }t        ||d||dd«      }| j                  j                  dk(  sJ ‚|j                  |dz   «       | j                  j                  dk(  sJ ‚|j                  |dz   «       | j                  j                  d	k(  sJ ‚y)
z¹ Tests that using MemoizedJac in combination with ScalarFunction
        and BFGS does not lead to repeated function evaluations.
        Tests changes made in response to GH11868.
    r\   r^   rŽ   Nr)   r>   r4   rI   r_   )
r   r_  r
   rÂ   r+   rL   r   rY  rr   rš   )r\  ra  r˜   r†   rU   Úscalar_functions         r/   Útest_memoize_jac_with_bfgsrg  @  sÃ   € ô
 #Ð#9Ó:ÐØ
×
&Ñ
&€CÜ�=‰=‹?€Dä	�‰�3˜�*Ó	€BÜ$Ø˜2˜r 3¨¨d°Dó:€Oà!×1Ñ1×3Ñ3°qÒ8Ð8Ð8à×Ñ˜˜S™Ô!Ø!×1Ñ1×3Ñ3°qÒ8Ð8Ð8à×Ñ˜˜S™Ô!Ø!×1Ñ1×3Ñ3°qÒ8Ð8Ñ8r1   c                  ó°   — t        «       5  t        j                  d„ t        j                   t        j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nc                 ó4   — t        j                  | dz  g«      S r>  re  r-   s    r/   r‡  ztest_gh12696.<locals>.<lambda>Y  s   € ”b—h‘h  1¡˜vÔ&r1   Frí   )r   r
   rD  r+   r#  rŽ   r1   r/   Útest_gh12696rj  U  s6   € ä	Õ	Ü×ÑÙ&¬¯©¨´·±¸Eõ	C÷ 
×	Ñ	ús   ‹8AÁAc                  óÊ  ‡‡‡‡‡— t         j                  j                  d«      } | j                  d«      }t        j                  g d¢«      Št        j                  g d¢«      }‰|k(  Šdˆˆfd„	Šˆfd„Šˆfd„Šˆfd	„}ˆfd
„}ˆfd„}ˆfd„}ˆfd„}ˆfd„}t	        |t         j
                   d«      }	t	        |t         j
                   d|«      }
t	        |t         j
                   d«      }t	        |t         j
                   d|«      }d}‰ddœ‰‰dœˆˆfd„ddœf}d„ t        f}dg g f|	|
f||f|
g|
gf|g|gf|	|g|
|gf|	|g|
|gf|
|g|
|gff	}d ||f}|||||‰||‰dœ	}|S )Ni¿/  r¤   )r   r4   rH  rÈ  )r_   r4   r4   rÈ  Tc                 óV   •— |r| j                   dk(  sJ ‚|rt        | ‰   ‰‰   «       y y ro  )rI  r   )r.   Ú
check_sizeÚcheck_valuesÚi_ebrÇ  s      €€r/   Úcheck_xz(setup_test_equal_bounds.<locals>.check_xf  s0   ø€ ÙØ—6‘6˜Q’;Ð�;ÙÜ˜A˜d™G R¨¡XÕ.ð r1   c                 ó>   •—  ‰| «       t        j                  | «      S rA   r  ©r.   rp  s    €r/   r}   z%setup_test_equal_bounds.<locals>.funcl  s   ø€ Ù�Œ
Ü�~‰~˜aÓ Ð r1   c                 ó>   •—  ‰| «       t        j                  | «      S rA   )r
   r   rr  s    €r/   r‚   z%setup_test_equal_bounds.<locals>.gradp  s   ø€ Ù�Œ
Ü×!Ñ! !Ó$Ð$r1   c                 ó   •—  ‰| «       y rA   rŽ   )r.   r–   rp  s     €r/   r  z)setup_test_equal_bounds.<locals>.callbackt  s
   ø€ Ù��
r1   c                 óN   •— t        | t        «      sJ ‚ ‰| j                  «       y rA   )r  r   r.   )rô  rp  s    €r/   Ú	callback2z*setup_test_equal_bounds.<locals>.callback2w  s#   ø€ ÜÐ-¬~Ô>Ð>Ð>ÙÐ#×%Ñ%Õ&r1   c                 ó(   •—  ‰| d¬«       | dd dz
  S )NF©rn  r   r)   rŽ   rr  s    €r/   Úconstraint1z,setup_test_equal_bounds.<locals>.constraint1{  s   ø€ Ù� Õ&Ø��1ˆv˜‰zÐr1   c                 óP   •—  ‰| d¬«       t        j                  | «      }d|d<   |S )NFrx  r)   r   ©r+   rÙ  ©r.   Údcrp  s     €r/   Ú	jacobian1z*setup_test_equal_bounds.<locals>.jacobian1  ó)   ø€ Ù� Õ&Ü�]‰]˜1ÓˆØˆˆ1‰Øˆ	r1   c                 ó(   •—  ‰| d¬«       | dd dz
  S )NFrx  r4   r_   r^   rŽ   rr  s    €r/   Úconstraint2z,setup_test_equal_bounds.<locals>.constraint2…  s   ø€ Ù� Õ&Ø��1ˆv˜‰|Ðr1   c                 óP   •—  ‰| d¬«       t        j                  | «      }d|d<   |S )NFrx  r)   r4   r{  r|  s     €r/   Ú	jacobian2z*setup_test_equal_bounds.<locals>.jacobian2‰  r  r1   r   )r#  rž  ræ  Fr  c                 ó$   •—  ‰| «       ‰| «      fS rA   rŽ   )r.   r}   r‚   s    €€r/   r‡  z)setup_test_equal_bounds.<locals>.<lambda>›  s   ø€ ¡ Q£©¨a«Ñ1r1   c                 ó,   — t        t        | |«      «      S rA   )ÚlistÚzip©rÇ  rÈ  s     r/   r‡  z)setup_test_equal_bounds.<locals>.<lambda>Ÿ  s   € ¤$¤s¨2¨r£{Ô"3r1   r  )	rì  ÚkwdsÚbound_typesr\  Ú	callbacksrÇ  rÈ  rU   ro  )TT)r+   r7   rv  rL   r   r·  r   )r=   rU   rÈ  r  rv  ry  r~  r�  rƒ  Úc1aÚc1bÚc2aÚc2brì  r‰  rŠ  r\  r‹  Údatarp  r}   r‚   ro  rÇ  s                      @@@@@r/   Úsetup_test_equal_boundsr‘  ^  sœ  ü€ ä
�)‰)×
Ñ
 Ó
&€CØ	�‰�A‹€BÜ	�‰Ò"Ó	#€BÜ	�‰’/Ó	"€BØ�"‰H€Dö/ô!ô%ôô'ôôôôô ˜k¬B¯F©F¨7°AÓ
6€CÜ
˜k¬B¯F©F¨7°A°yÓ
A€CÜ
˜k¬B¯F©F¨7°AÓ
6€CÜ
˜k¬B¯F©F¨7°A°yÓ
A€Cð +€Gð  Ñ'Ø Ñ&Ü1Øñð€Dñ 4Üð€Kð   " b Ø˜�:  S˜zØ�E˜C˜5�> S E¨C¨5 >Ø˜#�J  c 
Ð+Ø˜#�J  c 
Ð+Ø˜#�J  c 
Ð+ð-€Kð �x Ð+€Ià¨¸[Ø&°YØ˜B b°$ñ8€Dð €Kr1   z0Failures due to floating point issues, not logicÚdicts)ÚmodeÚ	CompilersÚfortranÚnamez
intel-llvmr  rì  r‰  Ú
bound_typerŠ  r\  r  r‹  c           	      ó  — t        j                  «       dk(  r#| dk(  r|d   du r|�t        j                  d«       t        d   t        d   }}t        d	   t        d
   }}|\  }	}
|	r| dk(  st        j                  d«       | dv rLt        |«      rAt        j                  |«      }dt        |j                  «      v rt        j                  d«       |	|
k7  } |||«      }|j                  || ||	|dœ«       t        j                  di |¤Ž}t        j                  t        j                  || t        j                  ||
¬«      }|j                  sJ ‚t!        |j"                  |j"                  d¬«       t!        |j$                  |j$                  d¬«       |s|d   du rt&        j(                  |j*                  |<   |j*                  j,                  d   dk(  sJ ‚t!        |j*                  |   |j*                  |   d¬«       |d   sƒ|	s€t/        |t0        «      sod„ }t        j                  ||ddg   | |ddd…   ¬«      }t!        |j"                  |j"                  «       t!        |j$                  ddg   |j$                  d¬«       yyyy)z½
    Tests that minimizers still work if (bounds.lb == bounds.ub).any()
    gh12502 - Divide by zero in Jacobian numerical differentiation when
    equality bounds constraints are used
    Úaarch64ræ  r˜   FNzTolerance violation on aarchrÇ  rÈ  rU   ro  rž  z)Only SLSQP supports nonlinear constraints)rž  ræ  rô  z,SLSQP, TNC don't support intermediate_result)rU   r—   r!  r\  r  )r—   r˜   r!  r\  r  r¼   gü©ñÒMb@?r   r¤   r;   c                 ó¤   — t        j                  t         j                  dt         j                  dg«      }| |ddg<   t        j                  |«      S )Nr4   rH  r   )r+   rL   rÖ  r
   r   )r.   Únew_xs     r/   rš   ztest_equal_bounds.<locals>.funõ  s=   € Ü—H‘HœbŸf™f a¬¯©°Ð4Ó5ˆEØˆE�1�a�&‰MÜ—>‘> %Ó(Ð(r1   r4   rh  g�íµ ÷ÆÀ>rŽ   )ÚplatformÚmachinerÛ   rù  Úeb_dataÚcallableÚinspectÚ	signaturer  Ú
parametersrq  r
   rª   r   r   r¾   r   rš   r.   r+   rÖ  r˜   rr  r  r   )r—   r‰  r—  r\  r  rÇ  rÈ  rU   ro  Útest_constraintsÚreference_constraintsÚsigÚ	fd_neededr!  r­   Úexpectedrš   Úfd_ress                     r/   Útest_equal_boundsr©  º  s?  € ô  	×ÑÓ˜iÒ'¨F°eªOØ�U‘˜uÑ$¨Ð)=Ü�‰Ð2Ô3ä�T‰]œG D™Mˆ€BÜ�t‰}œg f™oˆ€Bà.9Ñ+ÐÐ+Ù ¨'Ò 1Ü�‰Ð?Ô@àÐ!Ñ!¤h¨xÔ&8Ü×Ñ Ó)ˆØ ¤C¨¯©Ó$7Ñ7Ü�K‰KÐFÔGð "Ð%:Ñ:€Iá˜˜BÓ€Fà‡K�K�r V°vØ 0¸hñHô Iä
×
Ñ
Ñ
#˜dÑ
#€Cä× Ñ ¤§¡°¸FÜ%-×%7Ñ%7ÀØ-BôD€Hð
 �;Š;Ðˆ;Ü�C—G‘G˜XŸ\™\°Õ7Ü�C—E‘E˜8Ÿ:™:¨DÕ1á�D˜‘K 5Ñ(ÜŸV™Vˆ�‰�TÑØ�7‰7�=‰=˜Ñ˜qÒ Ð Ð Ü�C—G‘G˜D‘M 8§<¡<°Ñ#5¸DÕAà�ŠKÑ+¬z¸&Ä&Ô/Iò	)ô
 ×"Ñ" 3Ø#% q¨! f¡:Ø*0Ø*0±°1°©+ô7ˆô 	˜Ÿ™ §¡Ô,ô 	˜Ÿ™˜q !˜f™ v§x¡x°dÖ;ð% 0JÐ+ˆKr1   c                 óü  — dd„}ddg}d}t        j                  |||| ¬«      }|j                  sJ ‚t        |j                   |ddg«      «       |j
                  dk(  sJ ‚|j                  d	k(  sJ ‚d
}t        j                  |||| |¬«      }|j                  sJ ‚t        |j                   |ddgd«      «       | j                  «       dk(  �r.d„ }t        |t        j                   d«      }t        j                  |||| |g¬«      }|j                  du sJ ‚t        |j                   |ddg«      «       |j
                  dk(  sJ ‚d}|j                  j                  |«      sJ ‚t        |t        j                   d«      }t        j                  |||| |g¬«      }|j                  du sJ ‚t        |j                   |ddg«      «       |j
                  dk(  sJ ‚d}|j                  j                  |«      sJ ‚y y )Nr)   c                 óF   — t         j                  j                  | «      |z   S rA   )r+   ÚlinalgÚnorm)r.   Úp1s     r/   r|   z test_all_bounds_equal.<locals>.f  s   € Ü�y‰y�~‰~˜aÓ  2Ñ%Ð%r1   rl  )r4   r4   )r\   rD  rC  r\   r�  z/All independent variables were fixed by bounds.)r4   rR  r4   rž  c                 ó,   — t        j                  | «      S rA   r?  r-   s    r/   Úconz"test_all_bounds_equal.<locals>.con  s   € Ü—6‘6˜!“9Ðr1   r`   )r!  r—   r\  Fz3All independent variables were fixed by bounds, butr¤   Tz8All independent variables were fixed by bounds at valuesrk  )r
   rª   r¾   r   rš   r›   r   Úupperr   r+   r·  r…  )	r—   r|   r!  rU   r­   r–   r°  Únlcr   s	            r/   Útest_all_bounds_equalr³    sÝ  € ó&ð �fÐ€FØ	€BÜ
×
Ñ
˜A˜r¨&¸Ô
@€CØ�;Š;Ðˆ;Ü�C—G‘G™Q  S˜z›]Ô+Ø�8‰8�qŠ=Ðˆ=Ø�;‰;ÐKÒKÐKÐKà€DÜ
×
Ñ
˜A˜r¨&¸ÀdÔ
K€CØ�;Š;Ðˆ;Ü�C—G‘G™Q  S˜z¨1Ó-Ô.à‡|�|ƒ~˜Ó ò	ä! #¬¯© w°Ó4ˆÜ×ÑØˆr˜&¨¸c¸Uô
ˆð �{‰{˜eÑ#Ð#Ð#Ü˜Ÿ™¡ C¨ :£Ô/Ø�x‰x˜1Š}Ðˆ}ØGˆØ�{‰{×%Ñ% gÔ.Ð.Ð.ä! #¬¯© w°Ó2ˆÜ×ÑØˆr˜&¨¸c¸Uô
ˆð �{‰{˜dÑ"Ð"Ð"Ü˜Ÿ™¡ C¨ :£Ô/Ø�x‰x˜1Š}Ðˆ}ØLˆØ�{‰{×%Ñ% gÔ.Ð.Ñ.ð+ !r1   c                  ó„   — d„ } d„ }d|dœg}dgdz  }d|d<   t        j                  | g d	¢d
||¬«       |d   d   |k(  sJ ‚y )Nc                 ó<   — | d   dz  | d   dz  z   | d   | d   z  z   S )Nr   r_   r)   r4   rŽ   r-   s    r/   r|   ztest_eb_constraints.<locals>.f6  s.   € Ø�‰t�Q‰w˜˜1™˜q™Ñ  1 Q¡4¨¨!©¡9Ñ,Ð,r1   c                 ó6   — | d   | d   z   | d   z   | d   z   dz
  S )Nr   r)   r4   r_   é(   rŽ   r-   s    r/   Úcfunz!test_eb_constraints.<locals>.cfun9  s+   € Ø�‰t�a˜‘d‰{˜Q˜q™TÑ! A a¡DÑ(¨2Ñ-Ð-r1   r™  rš  )r   r   r¤   )r×   r×   r)   ©r)   r4   r_   r¤   rž  )rU   r—   r!  r\  r   rš   rx  )r|   r¸  r\  r!  s       r/   Útest_eb_constraintsrº  3  se   € ò-ò.ð #¨4Ñ0Ð1€KàˆY˜‰]€FØ€Fˆ1�IÜ×ÑØ	ÚØØØõð �q‰>˜%Ñ  DÒ(Ð(Ñ(r1   c                  ó  — t         t        t        t        t        t
        dœ} | j                  «       D ]  \  }}|D ]  }t        ||«       Œ Œ ddddœ}|j                  «       D ]  \  }}t        t        t        ||«       Œ y )N)rª   rS  ÚrootÚroot_scalarÚlinprogÚquadratic_assignmentÚekkir  )rª   ÚmaximizeÚmaximize_scalar)
r   r   r   r   r   r   Úitemsr   rP   rQ   )Úsolver_methodsÚsolverrì  r—   Úunknown_solver_methods        r/   Útest_show_optionsrÇ  J  s‚   € ä$Ü2ÜÜ*Ü"Ü <ñ€Nð *×/Ñ/Ö1‰ˆ�ÛˆFä˜ Õ(ñ ð 2ð ØØ!ñÐð
 0×5Ñ5Ö7‰ˆ�ä”j¤,°¸Õ?ñ 8r1   c                  ó²   — t        j                  ddgddg¬«      } t        j                  t         j                  t	        j
                  ddg«      d| ¬«       y )Nr�  rú  rˆ  r¢   r  r  )r
   r   rª   r   r+   rL   r°  s    r/   Útest_bounds_with_listrÉ  b  sB   € ä�_‰_  R ¨c°3¨ZÔ8€FÜ×ÑÜ�‰œ2Ÿ8™8 Q¨ FÓ+°HÀVör1   )rk  r  rf  rh  rB  rò   r  rð  c                 óp   — t        j                  g d¢«      }t        j                  t        || ddi¬«       y )NrÑ   rh   gfffffY@rõ   )r+   rL   r
   rª   r   )r—   rU   s     r/   Ú test_minimize_maxiter_nonintegerrË  j  s,   € ô
 
�‰Ò+Ó	,€BÜ×Ñ”e˜R¨¸ÀEÐ8JÖKr1   c            	      ó<  — d„ } d„ }d„ }g d¢}g d¢}t        j                  d«      dz  }t        D ]j  }d }d }||v r|}||v r|}t        j                  | ||||¬«      }	t        |	j                  t        j                  t        j                  |«      «      d	¬
«       Œl y )Nc                 ó�   — t        j                  t        j                  | «      «      }| |z  } | | z  } t        j                  | «      S rA   )r+   rO   rI  rC   r—  s     r/   Úfquadz/test_x_overwritten_user_function.<locals>.fquadw  s8   € Ü�I‰I”b—g‘g˜a“jÓ!ˆØ	ˆQ‰ˆØ	ˆQ‰ˆÜ�v‰v�a‹yÐr1   c                 óp   — t        j                  t        j                  | «      «      }| dz  } | d|z  z  } | S r>  )r+   rO   rI  r—  s     r/   Ú	fquad_jacz3test_x_overwritten_user_function.<locals>.fquad_jac}  s3   € Ü�I‰I”b—g‘g˜a“jÓ!ˆØ	ˆQ‰ˆØ	ˆQ�‰U‰
ˆØˆr1   c                 óX   — t        j                  t        j                  | «      «      dz  S rR  )r+   rÜ   rI  r-   s    r/   Ú
fquad_hessz4test_x_overwritten_user_function.<locals>.fquad_hessƒ  s   € Ü�v‰v”b—g‘g˜a“jÓ! CÑ'Ð'r1   )rR  rô  rñ  rõ  rò  rð  )rô  rñ  rõ  rò  rð  r×   r6   ró  g-Cëâ6*?r    )	r+   r   r   r
   rª   r   r.   rO   rI  )
rÎ  rÐ  rÒ  Úmeth_jacÚ	meth_hessrU   Úmethr˜   r†   r­   s
             r/   Ú test_x_overwritten_user_functionrÖ  s  sš   € òòò(ò€Hò€Iô 
�‰�‹�cÑ	€Bç ˆØˆØˆØ�8ÑØˆCØ�9ÑØˆDÜ×Ñ  r°$¸CÀdÔKˆÜ˜Ÿ™œrŸy™y¬¯©°«Ó5¸DÖAñ !r1   c                   ó   — e Zd Zd„ Zy)ÚTestGlobalOptimizationc                 óØ  — d„ }t        j                  |d¬«      t        j                  |dg«      t        j                  |dg«      t        j                  |dg«      t        j
                  |dg«      g}|D ]r  }t        |t         j                  «      sJ ‚t        |d«      sJ ‚t        |d«      sJ ‚t        |d«      sJ ‚t        |d«      sJ ‚t        |d	«      sJ ‚t        |d
«      rŒrJ ‚ y )Nc                 ó   — | dz  S r>  rŽ   r-   s    r/   r}   zDTestGlobalOptimization.test_optimize_result_attributes.<locals>.funcž  s   € Ø˜‘6ˆMr1   r)   )rU   )r¥  r¤   r.   r¾   r   rš   r›   rø   )	r
   ÚbasinhoppingÚdifferential_evolutionÚshgoÚdual_annealingÚdirectr  r   rt   )ro   r}   r€  rK  s       r/   Útest_optimize_result_attributesz6TestGlobalOptimization.test_optimize_result_attributes�  sæ   € ò	ô ×(Ñ(¨°!Ô4Ü×2Ñ2°4¸'¸ÓCÜ—=‘= ¨ yÓ1Ü×*Ñ*¨4°'°Ó;Ü—?‘? 4¨'¨Ó3ð	ˆó ˆFÜ˜f¤h×&=Ñ&=Ô>Ð>Ð>Ü˜6 3Ô'Ð'Ð'Ü˜6 9Ô-Ð-Ð-Ü˜6 9Ô-Ð-Ð-Ü˜6 5Ô)Ð)Ð)Ü˜6 6Ô*Ð*Ð*Ü˜6 5Õ)Ð)Ð)ñ r1   N)rŠ   r‹   rŒ   rà  rŽ   r1   r/   rØ  rØ  ›  s   „ ó*r1   rØ  c                  óè   — t        j                  t        t        «      } t	        | t        t        «      d¬«       t        j                  t        t
        «      }t	        |t        t        «      d¬«       y )Nr  r¼   )r
   Úapprox_fprimerT   r‘  r   rR   rS   )r>  rå  s     r/   Útest_approx_fprimerã  ³  sJ   € ô 	×Ñœ}¬jÓ9€AÜ�A”¤}Ó5¸DÕAä×Ñœ}¬oÓ>€AÜ�A”¤}Ó5¸DÖAr1   c                  ó~  — d„ } t        ddgddg¬«      }t        j                  | dd|¬«      }t        t        j                  ddg«      t        j                  ddg«      ¬«      }t        j                  | dd|¬«      }t        |j                  |j                  «       t        |j                  |j                  «       y )Nc                 ó*   — | d   dz  | d   dz
  dz  z   S r™  rŽ   r-   s    r/   r|   ztest_gh12594.<locals>.fÂ  s!   € Ø�‰t�Q‰w˜!˜A™$ ™( Q™Ñ&Ð&r1   r®  rÆ   rˆ  rß   r  r  )r   r
   rª   r+   rL   r   rš   r.   )r|   r!  r­   rù   s       r/   Útest_gh12594ræ  ½  s“   € ò
'ô ˜˜S�z r¨2 hÔ/€FÜ
×
Ñ
˜A &°À&Ô
I€CÜ”r—x‘x  c 
Ó+´·±¸"¸b¸Ó0BÔC€FÜ
×
Ñ
˜A &°À&Ô
I€Cä�C—G‘G˜SŸW™WÔ%Ü�C—E‘E˜3Ÿ5™5Õ!r1   c                  ó¶  ‡‡— t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      Št        j                  g d¢«      Šˆˆfd„} ˆˆfd„}ˆfd„}t        j                  d«      }t        j                  | |||ddddœ¬«      }|j
                  sJ ‚t         | |j                  «      «      dk  sJ ‚y )N)gŠÉ`æ]B@çÁnØ¶ŠoÀç}c¾rs'@ç9þÿ�b¦S¿ç½Æ.Q-  Àçí”õ8w Àrè  ç8‚TŠ�`„Àçw•^Ñ¿ç-ïä²UÒÿ¿ç\ùv\žˆó?ç‚¾_’ëj@çRù^Ý¸¿ç“iõTÕ[à¿çÊ¢¶]ð¿çÙÏ›LXÂ?ç¯�>'@ç,ˆÈ:êY°¿ç,¹>7*3Å?)rè  ç¼"øßJž›@ç“õåÒXÀçàWÆmÑ…?çàœ¥%6Ì@çÍx¶¢(Ã,@rù  çyöÑñÖ±@çÖ·þ#ôÇ@ç®ú·&8L0@çš‡löBÀç|sÉ‚Óü(Àçh0s¥‘å?ç„ðªÿÒ	@çÈèFyb™@ç¨Ð{Žˆ¬î¿çPû­�(œCÀçfRïòžÜ?çˆ�ºcÒÛò¿)ré  rú  gÏ ¡rm¬@ç¨Gò)Ü¿çãP¿{Û�Àçíú`tÔ<ò¿rú  ç…8„ê$pÀçÊ&
>JÀçùÀŽÿÂ—wÀçy¹>b*âPÀç×÷á ¡®gÀçcµ\ª�¶@ç©è¯ÍK@ç•‘ÄÜÿE1@çƒ!aÎ"*Àç%�·DŸSÀç	5ŽVh	@çäk	Ø’ž@)rê  rû  r
  g¹ÂOhj?çÒéL º?çZËÔ"'?rû  ç\û,8Qœ?çÉZÏªÞ¡y?çMØ¤ùh§?ç¹B¸ ¥²�?çNŒêR—?çH¢OAîâK¿ç9¡½ê«%?ç�’O$ÅV?ç�ø>ÐfB?ç–ñO¦ZŒ?ç¿ÆÏ—ïø@¿çdßíAñ ¿)rë  rü  r  r  g3333Ýþ@ç¿ðJ’ç�_@rü  çrŠŽä`Jâ@çþÅ"<�Ù5@ç|DL‰$d@çÏJZñÓRÀç¤µûU]ÀçÕ‹ë)ƒT@çàÏ³~?@çÃÖlå%íH@ç¥¿U¦±ª"Àç¿€^¸sÇwÀç7 [ùÙZ@çÙ 8Ó)ô&À)rì  rý  r  r  r'  gã<AŠ·Â?rý  çœx½ê·¹B@çs”d^…[œ?çƒ™b¯üÉ?ç�¶c~7£¶¿ç%7F�8”À¿çQt¨�üƒ€?çƒ‚Bd £?ç7ÒÃ`ßÆ­?çœüVæ‡¿çu«–]ø­Ü¿ç{£jfu?çùB¤EÆúŒ¿)rí  rþ  r  r  r(  r4  rþ  g—ÿ�~ëÇ@çsÏ¡©*J@ç³ÊçWE@ç ‡}Q4Àçq�å%@Àç?.XGáü?ç }#:¾ @ç¹ÝpÄÿr*@çÝ¦ì²gðÀç	oB@TYÀçÐ"_2#–ò?ç/³�)SÀÀ)rî  rÿ  r  r  r)  r5  rÿ  r@  gB›w÷[ÐE@ç<Û¤b­s@çôW#Œy4Àçu��Ö²�>ÀçÐ˜e);ø¿¿çŒM†>³''@çÐ€z3jXD@ç§ú!xtJö¿ç¥>ÚIŽ‹CÀçÄ±½=à¸¿çcrÕœZ»?)rï  r   r  r  r*  r6  r   rA  rK  gR,·´Á¡@ç�‰”fó`bÀçBÑ<€ÅtkÀçà3mIì¿ç„EêâÛ¶T@çœÛ„{e6r@çšÇ«½™ò#ÀçæuÄ!‘qÀçès® =æ¿ç£´õÛðžç?)rð  r  r  r  r+  r7  r  rB  rL  rU  g6mk°••S@ç[z4U�d@ç½¹l2²5Àçí×�î<õ9Àç™Ó
x>HOÀç$ŠdŠÌ@ç“ŠÆÚ_àl@ç€›ƒo³{Àçôí�½ÿÇ@)rñ  r  r  r  r,  r8  r  rC  rM  rV  r^  gµßÚI~w@ç�u'Žò®Àçõ|r¹fÒFÀç>ÍÉ‹Ä[Àçé¤­ •À'@ç�úë–ë}@ç+Lc¤¬EÀçÔVô ¡!@)rò  r  r  r   r-  r9  r  rD  rN  rW  r_  rf  gR3ZýÇÈî?çA¼	#�ø?çj„Ÿ´Gê@ç7VÞeñ¨é¿çeGô|83Àç·­†ôv,Ø?ç/yng€§ê¿)ró  r  r  r!  r.  r:  r  rE  rO  rX  r`  rg  rm  g§�ÕG–b:@ç�G>_R@çÌ`)Y™Àç¦€´ÿ\ÀçÉ¤É�^à?çë9Èo2À)rô  r  r  r"  r/  r;  r  rF  rP  rY  ra  rh  rn  rs  g6ÌÐx"‘m@ç¨o™Óeí%ÀçJìÚÞnqÀçv†yôNå?çä~êÌû+À)rõ  r  r  r#  r0  r<  r  rG  rQ  rZ  rb  ri  ro  rt  rx  gb®˜Sú°ò?çRBUñë>@çºWUKãÜ¿çsøliªqï?)rö  r  r  r$  r1  r=  r  rH  rR  r[  rc  rj  rp  ru  ry  r|  g<Ú8bM±‘@çâ¥åQ;½*ÀçÀýÊ” K6@)r÷  r  r  r%  r2  r>  r  rI  rS  r\  rd  rk  rq  rv  rz  r}  r  g&œ¦AdÛ?çaBÜæIà¿)rø  r	  r  r&  r3  r?  r	  rJ  rT  r]  re  rl  rr  rw  r{  r~  r€  r�  gC€ã�	f@)gƒùqÕ ÿ�¾gbk‚ýú—½>gç™6ß“R½>gÂIëˆ‘Óü½gìXFï;î>g)	Ÿ@AnN>gù¨\áú—½>gûœhMÎÔ>g˜VÖ•¥�¾gH³4>ÖS¼¾gÀ…²ÜéÍœ>gìsCa!T¦>gÈ's„Çd¾g6µ¡KJ•¾g~|WR´¾g,ŽçN®h>g	°Á…ã	¼>g½ÊZÙÆ|O>gÚ+®Ý±f>c                 óŒ   •— t        j                  t        j                  | ‰«      | «      dz  t        j                  | ‰«      z   S r>  ©r+   rv   ©r.   ÚHÚJs    €€r/   rš   z9test_gh12513_trustregion_exact_infinite_loop.<locals>.fun:  s2   ø€ Ü�v‰v”b—f‘f˜Q “l AÓ&¨Ñ*¬R¯V©V°A°q«\Ñ9Ð9r1   c                 ó6   •— t        j                  | ‰«      ‰z   S rA   rƒ  r„  s    €€r/   r˜   z9test_gh12513_trustregion_exact_infinite_loop.<locals>.jac=  s   ø€ Ü�v‰v�a˜‹|˜aÑÐr1   c                 ó   •— ‰S rA   rŽ   )r.   r…  s    €r/   r†   z:test_gh12513_trustregion_exact_infinite_loop.<locals>.hess@  s   ø€ Øˆr1   é   rõ  r;   rÆ   )rö   Úsubproblem_maxiterrÜ  r»   )r+   rL   rd   r
   rª   r¾   rN   r.   )rš   r˜   r†   rU   r­   r…  r†  s        @@r/   Ú,test_gh12513_trustregion_exact_infinite_loopr‹  Í  sý   ù€ ô 	�‰ò
:ò

:ò

8ò

<ò

9ò

<ò

:ò

9ò

;ò

;ò

8ò

8ò

;ò

:ò

:ò

:ò

8ò

;ò

9ðu^	:ó`	€AôB 	�‰ò ó 	€Aõ:õ ôô 
�‰�"‹€Bä
×
Ñ
ØØ
ØØØØ°RÑ8ô€Cð �;Š;Ðˆ;Ü‰s�3—5‘5‹z‹?˜TÒ!Ð!Ñ!r1   rI  rð  Úsparse_typec                 óÊ  ‡— ˆfd„}ddg}t        j                  t        || t        |¬«      }t        j                  t        || t        t        ¬«      }t        |j                  |j                  «       t        |j                  |j                  «       |j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚y )Nc                 ó&   •—  ‰t        | «      «      S rA   ©r   )r.   rŒ  s    €r/   Úsparse_rosen_hessz.test_sparse_hessian.<locals>.sparse_rosen_hessZ  s   ø€ Ùœ: a›=Ó)Ð)r1   r�  ró  )r
   rª   r   r   r   r   rš   r.   r›   rœ   Únhev)r—   rŒ  r�  rU   Ú
res_sparseÚ	res_denses    `    r/   Útest_sparse_hessianr”  Q  s´   ø€ ô*ð ˆbˆ€Bä×"Ñ"¤5¨"°VÜ'0Ð7HôJ€Jä×!Ñ!¤%¨°FÜ&/´jôB€Iô �I—M‘M :§>¡>Ô2Ü�I—K‘K §¡Ô.Ø�>‰>˜ZŸ_™_Ò,Ð,Ð,Ø�>‰>˜ZŸ_™_Ò,Ð,Ð,Ø�>‰>˜ZŸ_™_Ò,Ð,Ñ,r1   r  )	r  rò   rk  rð  rI  r•   ri  rñ  rò  c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestWorkersc                 ó<   — t        j                  g d¢«      | _        y )N)r\   r�  rD  )r+   rL   rU   rn   s    r/   rp   zTestWorkers.setup_methody  s   € Ü—(‘(š?Ó+ˆ�r1   c                 ó¨  — |xs t         }d d dœ}|dv rt        |d<   d|d<   t        |«      5 }t        j                  t
        | j                  fd|i|dœ|¤Ž}d d d «       t        j                  t
        | j                  fd|i|¤Ž}t        j                  |j                  «       t        |j                  |j                  «       y # 1 sw Y   ŒqxY w)	N)r˜   r†   )rI  rñ  rò  r˜   rè  r†   r  )r™   r—   r—   )
Úmapr   r%   r
   rª   r   rU   r   r.   r›   )ro   r  r—   r‰  Úmfr­   r  s          r/   Ú
test_smokezTestWorkers.test_smoke|  sÊ   € à’.œSˆà TÑ*ˆØÐ?Ñ?ä#ˆD�‰KØ$ˆD�‰Lä˜Ô  BÜ×#Ñ#Ü�t—w‘wðØ)2°2¨¸vñØIMñˆC÷ !ô ×'Ñ'Ü�4—7‘7ñ
Ø#)ð
Ø-1ñ
ˆô 	�S—U‘U˜KŸM™MÔ*Ü�S—X‘X˜{×/Ñ/Õ0÷ !Ð ús   ­+CÃCc                 óR  — |xs t         }|dvrt        j                  |› d�«       t        g d¢g d¢«      }t	        |«      5 }t        j                  t        | j                  |d|i|¬«      }d d d «       j                  sJ ‚t        |j                  d   d«       y # 1 sw Y   Œ1xY w)	N)r  rk  rð  ri  z cannot use bounds)r   r�  r`   )rú  r�  rú  r  )r!  r™   r—   r)   r�  )r™  rÛ   rù  r   r%   r
   rª   r   rU   r¾   r   r.   )ro   r  r—   r!  rš  r­   s         r/   r©  zTestWorkers.test_equal_bounds�  s�   € Ø’.œSˆØÐEÑEÜ�K‰K˜6˜(Ð"4Ð5Ô6äš¢oÓ6ˆÜ˜Ô  BÜ×#Ñ#Ü�t—w‘w v¸	À2°ÈvôˆC÷ !ð �{Š{Ðˆ{Ü˜Ÿ™˜a™ #Õ&÷ !Ð ús   Á+BÂB&N)rŠ   r‹   rŒ   rp   r›  r©  rŽ   r1   r/   r–  r–  k  s   „ ò,ò1ó('r1   r–  )r_   rä  )ÚAnyr.   Úreturnc                 ó   — t        | «      dz   S r(   )r   r-   s    r/   Úrosen_annotatedr   §  s   € Ü�‹8�a‰<Ðr1   c                 ó   — t        | «      S rA   )r   r-   s    r/   Úrosen_der_annotatedr¢  ª  s   € Ü�Q‹<Ðr1   c                 ó   — t        | «      S rA   r�  r-   s    r/   Úrosen_hess_annotatedr¤  ­  s   € Ü�a‹=Ðr1   rô  c                  ó   — y rA   rŽ   )rô  s    r/   Úcallable_annotatedr¦  °  s   € Ør1   z'Requires PEP 649/749 from Python 3.14+.c                   ór   — e Zd Zd„ Zej
                  j                  dg d¢«      d„ «       Zd„ Zd„ Z	d„ Z
d„ Zy	)
ÚTestAnnotationsc                 óJ   — t        j                  ddg«      | _        d| _        y )Nr\   rÌ  r	  )r+   rL   rU   Úbrute_paramsrn   s    r/   rp   zTestAnnotations.setup_method·  s   € Ü—(‘(˜C ˜;Ó'ˆŒØJˆÕr1   r—   )rt  r  r•   rò   rI  r  ri  r,  rk  rð  rô  rñ  rõ  rò  c                 óš   — d d t         dœ}|dv r	t        |d<   |dv r	t        |d<   t        j                  t
        | j                  fd|i|¤Ž y )N)r˜   r†   r  )r•   rÂ   rI  r#  ræ  rž  rô  rñ  rò  rõ  rð  r˜   )rI  rô  rñ  rõ  rò  rð  r†   r—   )r¦  r¢  r¤  r
   rª   r   rU   )ro   r—   r‰  s      r/   Útest_callable_annotationsz)TestAnnotations.test_callable_annotations»  s_   € ð$  TÔ7IÑJˆØð Rñ Rô .ˆD�‰KØð 6ñ 6ä/ˆD�‰LÜ×Ñœ/¨4¯7©7ÑJ¸6ÐJÀTÓJr1   c                 óŽ   — ddg}t        j                  t        |dt        ¬«      }|j                  sJ d|j
                  › �«       ‚y )N)r­  r×   r)   )r:   r  úUnexpected error: )r
   rÜ  r   r¦  r¾   r   )ro   r!  r­   s      r/   Ú'test_differential_evolution_annotationsz7TestAnnotations.test_differential_evolution_annotations×  sC   € Ø˜7Ð#ˆÜ×-Ñ-¬o¸vÈAÜ7IôKˆà�{Š{Ð>Ð0°·±°Ð>Ó>‰{r1   c                 ó  — dt         dt        dt         fd„}dt         dt        dt         fd„}t        j                  ddd«      } ||d	d
d«      }t	        j
                  ||||d¬«      \  }}}}}|dv sJ d|j                  › �«       ‚y )Nr.   ry  rž  c                 ó@   — |t        j                  | | z  «      z  |z   S rA   r*   ©r.   ry  rs  rr   s       r/   Ú
model_funcz>TestAnnotations.test_curve_fit_annotations.<locals>.model_funcß  s    € Ø”r—v‘v˜q˜b 1™f“~Ñ%¨Ñ)Ð)r1   c                 óÖ   — t        j                  t        j                  | | z  «      | | z  t        j                  | | z  «      z  t        j                  | «      g«      j                  S rA   )r+   rL   r,   rÓ  r„   r²  s       r/   Ú	model_jacz=TestAnnotations.test_curve_fit_annotations.<locals>.model_jacâ  sW   € Ü—8‘8Ü—‘˜�r˜A‘v“Ø��Q‘œŸ™   Q¡›Ñ'Ü—‘˜Q“ðó ÷ ‰qð	r1   r   r¤   rÆ   r·   rÒ   r^   T)r˜   rž   r¹  r®  )Ú_DUMMY_TYPEÚfloatr+   r½   r
   Ú	curve_fitr   )ro   r³  rµ  ÚxdataÚydatar$  r­   s          r/   Útest_curve_fit_annotationsz*TestAnnotations.test_curve_fit_annotationsÝ  sž   € ð	*œ+ð 	*¬%ð 	*¼+ó 	*ð	œð 	¬ð 	¼ó 	ô —‘˜A˜q "Ó%ˆÙ˜5 # s¨CÓ0ˆä×(Ñ(¨°U¸EÀyØ59ô;‰ˆˆ!ˆAˆa�à�|Ñ#ÐHÐ(:¸3¿;¹;¸-Ð&HÓHÑ#r1   c                 óÖ   — dt         dt        dt        fd„}dt         dt         dt         fd„}t        dd	d
«      t        dd	d
«      f}t        j                  ||| j
                  |¬«       y )Nrc  r®   rž  c                 ó~   — | \  }}|\  }}}}}}	}
}}}}}}||dz  z  ||z  |z  z   ||dz  z  z   ||z  z   ||z  z   |	z   S r>  rŽ   rý  s                    r/   rþ  z2TestAnnotations.test_brute_annotations.<locals>.f1ñ  sj   € Ø‰DˆAˆqØ8>Ñ5ˆAˆq�!�Q˜˜1˜a  A q¨!¨Q°Ø˜˜1™‘H˜q 1™u q™yÑ(¨1¨q°!©t©8Ñ3°a¸±cÑ9¸A¸a¹CÑ?À!ÑCÐDr1   rŸ  rU   c                 ó6   — t        j                  | |g|¢­i |¤ŽS rA   )r
   r+  )rŸ  rU   r–   rÂ  s       r/   Úannotated_fminz>TestAnnotations.test_brute_annotations.<locals>.annotated_fminö  s   € ä—=‘= ¨2Ð?°Ò?¸Ñ?Ð?r1   r¥  r¤   r  )r–   r  )r¶  r·  r  r
   r  rª  )ro   rþ  r¿  r  s       r/   Útest_brute_annotationsz&TestAnnotations.test_brute_annotationsð  su   € ð	E”+ð 	E¬ð 	E´%ó 	Eð
	@¤[ð 	@´kð 	@Ü/:ó	@ô ˜˜Q Ó%¤u¨R°°DÓ'9Ð:ˆÜ�‰�r˜7¨×):Ñ):À>ÖRr1   c           
      óØ   — dt         dt        dt         dt        dt        f
d„}t        j                  t
        | j                  dd|¬	«      }|j                  sJ d
|j                  › �«       ‚y )NÚf_newÚx_newÚf_oldÚx_oldrž  c                  ó   — y)NTrŽ   )rÂ  rÃ  rÄ  rÅ  s       r/   Úacceptable_testzFTestAnnotations.test_basinhopping_annotations.<locals>.acceptable_test  s   € àr1   r4   r)   )rN  r:   Úaccept_testr®  )	r·  r¶  Úboolr
   rÛ  r   rU   r¾   r   )ro   rÇ  r­   s      r/   Útest_basinhopping_annotationsz-TestAnnotations.test_basinhopping_annotationsý  sn   € ð	¤5ð 	´ð 	Ü-2ð	Ü:Eð	ÜJNó	ô ×#Ñ#¤O°T·W±WÀAÈAØ0?ôAˆð �{Š{Ð>Ð0°·±°Ð>Ó>‰{r1   N)rŠ   r‹   rŒ   rp   rÛ   rk  rm  r¬  r¯  r»  rÀ  rÊ  rŽ   r1   r/   r¨  r¨  ³  sJ   „ òKð ‡[�[×Ñ˜Xò (ó ñ"	Kó#ð"	Kò?òIò&Só?r1   r¨  c                  óú   — t        j                  ddg«      } t        t        j                  d«      5 }|5 }t        t        | |j                  ¬«       d d d «       ~~d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr  r4   )r  )r+   rL   r	   ÚmultiprocessingÚPoolr   r   r™  )rU   Úpool_objr�   s      r/   Ú.test_multiprocessing_too_many_open_files_23080rÏ    s]   € ä	�‰�3˜�*Ó	€Bä	œO×0Ñ0°!Ô	4¸Ù˜Üœ5 "¨a¯e©eÕ4÷ àØ÷	 
5Ð	4ßˆXú÷ 
5Ð	4ús"   ²A1µA%Á
A1Á%A.	Á*A1Á1A:)–r�   Úsysrê  r   rœ  ri   rÝ  rÌ  Únumpyr+   Únumpy.testingr   r   r   r   r   rÛ   r   rP   ÚscipyÚscipy._lib._gcutilsr	   r
   Úscipy.optimize._minimizer   r   r   r   r   Úscipy.optimize._linprogr   Úscipy.optimize._rootr   Úscipy.optimize._root_scalarr   Úscipy.optimize._qapr   Ú(scipy.optimize._differentiable_functionsr   r   Úscipy.optimize._optimizer   r   r   r   Úscipy.optimizer   r   r   Úscipy.sparser   r   r   r    r!   r"   Úscipy._lib._array_api_no_0dr#   Úscipy._lib._array_apir$   Úscipy._lib._utilr%   Úlazy_xp_modulesrW   rY   r�   rx  r„  rˆ  r�  r–  r›  r¡  rª  rº  rÃ  rÅ  rÈ  rÊ  rÌ  rÎ  rk  rm  r  r  r-  rz  rˆ  rŠ  r¬  rÀ  rÃ  rË  rÒ  rÔ  r‘  rR   rS   rT   r’  r“  rñ  ró  rþ  r   r  r  r  r  r;  r=  rU  rW  Úfixturer\  rb  rd  rg  rj  r‘  rž  Úxfail_on_32bitrn  Úshow_configr©  r³  rº  rÇ  rÉ  rË  rÖ  rØ  rã  ræ  r‹  r”  r–  Úversion_infoÚtypingr�  r¶  ÚTYPE_CHECKINGr·  r   r¢  r¤  r¦  Úskipifr¨  rÏ  rŽ   r1   r/   Ú<module>ré     s€  ðñó Û Û Û Û Û Û ã ÷.õ .ó Ý *ã Ý 2Ý ß @÷?ñ ?õ 4Ý -Ý ;Ý <ß O÷ó ÷ 8Ñ 7÷0÷ 0å 7Ý 3Ý 'à�*€ò3÷l7'ñ 7'ôtRA ô RAòj-ò"ò0Hòò8òDò$ò ò>I:òX'FôTÐ8ô ô
Ð :ô ô
Ð :ô ô
Ð"<ô ô
iD˜ô iDðX ‡�×ÑØÚ:óñ-ó	ð-÷:=ñ :=÷zjNñ jN÷Z	&ñ &òR@÷)<ñ )<òX<-ò~#6òLz6òzJò*$÷#ñ #ò6ò;ò7ð ˜�€Ø�a�&€Ø€ò4÷, 0ñ  0òF=ò7ò7ò<÷H%ñ H%ðV ‡�×Ñ�rÓñ ó ð ÷FB>ñ B>òJ#÷2#ñ #ð ‡�ñ"ó ð"ò3ò&3ò&9ò*CòUñp "Ó
#€ð ‡�×ÑÐNÓOØ‡�×ÑÐ$�5×$Ñ$¨'Ô2°;Ñ?À	ÑJÈ6ÑRØñ àLð ó Nð ‡�×Ñ˜ 7¨9Ñ#5Ó6Ø‡�×Ñ˜ ¨¡Ó1Ø‡�×Ñ˜ w¨}Ñ'=Ó>Ø‡�×Ñ˜¨°Ñ(>Ó?Ø‡�×Ñ˜ W¨[Ñ%9Ó:ñA<ó ;ó @ó ?ó 2ó 7óNó PðA<ðH ‡�×Ñ˜ 7¨9Ñ#5Ó6ñ(/ó 7ð(/òV)ò.@ò0ð ‡�×Ñ˜ð $ó ñLóðLò%B÷P*ñ *ò0Bò"ò A"ðH ‡�×Ñ˜ K°Ð#@ÓAØ‡�×Ñ˜¨°ZÀØ)2°I¸yð)Jó Kñ-óKó Bð-ð. ‡�×Ñ˜ T¨1 IÓ.Ø‡�×ÑØòó
÷$'ð $'ó
ó /ð$'ðP ×Ò�gÒÝØ�KãØ×ÓØ—j’jˆð�{ð  uó ð˜;ð ¨;ó ð˜Kð ¨Kó ð	¨Kð 	¸Dó 	ð ‡�×Ò�C×$Ò$ wÑ.ØDð ó F÷S?ð S?óFðS?ólr1   