§
    fŠtjW/ ã                   ó0
  — 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jQ         R                    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jQ         l                    dQ¦  «        dR„ ¦   «         Zm G dS„ dT¦  «        ZndU„ Zo G dV„ dW¦  «        Zpejq        dX„ ¦   «         ZrdY„ ZsdZ„ Ztd[„ Zud\„ Zvd]„ Zw ew¦   «         ZxejQ         y                    d^¦  «        ejQ         z                     ej{        d_¬`¦  «        da         db         dc         ddk    d^¬e¦  «        ejQ         R                    d-exdf         ¦  «        ejQ         R                    dgexdg         ¦  «        ejQ         R                    dhexdi         ¦  «        ejQ         R                    djexdj         ¦  «        ejQ         R                    dkexdl         ¦  «        dm„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Z|ejQ         R                    d-exdf         ¦  «        dn„ ¦   «         Z}do„ Z~dp„ Zdq„ Z€ejQ         R                    d-dr¦  «        ds„ ¦   «         Z�dt„ Z‚ G du„ dv¦  «        Zƒdw„ Z„dx„ Z…dy„ Z†ejQ         R                    d-dzd{g¦  «        ejQ         R                    d|e2e3e4e5e6e7g¦  «        d}„ ¦   «         ¦   «         Z‡ejQ         R                    d~ddFg¦  «        ejQ         R                    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jQ         “                    ej‰        d‚k     d‹¬e¦  «         G dŒ„ d�¦  «        ¦   «         Z”dŽ„ Z•dS )�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            
      óv  — 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k    sJ ‚t          t          j        | ||ddd¬
¦  «        dz
  ¦  «        }|dk    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 ‚d S )Nc                 ó8   — ddt          j        |  ¦  «        z   z  S ©Né   ©ÚnpÚexp©Úxs    ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/optimize/tests/test_optimize.pyÚexpitztest_check_grad.<locals>.expit7   s   € Ø�A�œ ˜r™
œ
‘NÑ#Ð#ó    c                 ód   — 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�q�b‰zŒz˜Q¥¤¨¨¡¤™^¨aÑ/Ñ/Ð/r1   ç      ø?r   ÚrandoméÒ  )Ú	directionÚseedç�íµ ÷Æ°>)Úepsilon)r<   r9   Úrngçš™™™™™¹?çH¯¼šò×z>c                 óT   — | t          j        | ¦  «        z                       ¦   «         S ©N)r+   ÚsinÚsumr-   s    r/   Úx_sinxztest_check_grad.<locals>.x_sinxS   s    € Ø•"”&˜‘)”)‘× Ò Ñ"Ô"Ð"r1   c                 óZ   — 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�a‰yŒy˜1�RœV A™Yœ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ð 0ð 0õ 
Œ�3�%‰Œ€BåÔ˜E 9¨bÑ1Ô1€AÝ˜˜1ÑÔÐåÔ˜E 9¨bØ&.°Tð	;ñ 	;ô 	;€Aå˜˜1ÑÔÐåÔ˜E 9¨b¸$Ð?Ñ?Ô?€AÝ˜˜1ÑÔÐÝÔ˜E 9¨b¸$Ø&.°Dð	:ñ 	:ô 	:€Aå˜˜1ÑÔÐõ 	�HÔ  y°"¸dÐCÑCÔCÀaÑGÑHÔH€AØˆtŠ8ˆ8ˆ8ˆ8Ý�HÔ  y°"¸dØ*2¸ð>ñ >ô >Ø@AñBñ 	Cô 	C€AàˆtŠ8ˆ8ˆ8ˆ8ð#ð #ð #ð'ð 'ð 'õ 
Œ�1�a˜Ñ	Ô	€BåÔ˜F J°Ø&.°Dð	:ñ 	:ô 	:€Aå˜˜1ÑÔÐå•*�hÔ1Ø˜* bØ/°Tð;ñ ;ô ;ð ;õ
 	Ô�O­_½mØ&+°ð	7ñ 	7ô 	7€AàˆtŠ8ˆ8ˆ8ˆ8ˆ8ˆ8r1   c                   ó0   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú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
        ¦   «         | _        d S )	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˜9˜9Ø$˜9˜9Ø$˜9˜9Ø$˜9˜9Ø$˜9˜9ð	&ñ 'ô 'ˆŒõ
 ”˜.˜.˜.Ñ)Ô)ˆŒÝœ8 A¥r¤zÑ2Ô2ˆÔÝœÐ!@Ð!@Ð!@ÑAÔAˆŒØˆŒÝ"œÑ*Ô*ˆŒÝ"œÑ*Ô*ˆŒÝ”_Ñ&Ô&ˆŒ
ˆ
ˆ
r1   c                 ój  — t          | j        d¦  «        sd| j        _        t          | j        d¦  «        sd| j        _        | j        xj        dz  c_        | j        j        dk    rt	          d¦  «        ‚t          j        | j        |¦  «        }t          j        t          t          j
        |¦  «        ¦  «        ¦  «        }|t          j        | j        |¦  «        z
  }t          | j        d¦  «        sg | 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Ôå�t”~ sÑ+Ô+ð 	!Ø ˆDŒNÔàŒÐÔ˜AÑÐÔØŒ>Ô˜dÒ"Ð"ÝÐLÑMÔMÐMÝ”6˜$œ& !Ñ$Ô$ˆÝŒv•c�"œ& Ñ*Ô*Ñ+Ô+Ñ,Ô,ˆØ•2”6˜$œ& !Ñ$Ô$Ñ$ˆÝ�t”z 3Ñ'Ô'ð 	ØˆDŒJŒLØŒ
Œ×Ò�BœG A™Jœ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
        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ÔØŒÐÔ˜AÑÐÔÝ”6˜$œ& !Ñ$Ô$ˆÝŒv•c�"œ& Ñ*Ô*Ñ+Ô+Ñ,Ô,ˆÝŒF�8˜d‘?Ñ#Ô#ˆÝŒv�d”f×&Ò&Ñ(Ô(¨!Ñ,Ô,¨t¬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˜$œ& !Ñ$Ô$ˆÝŒv•c�"œ& Ñ*Ô*Ñ+Ô+Ñ,Ô,ˆÝŒF�8˜d‘?Ñ#Ô#ˆÝŒv�d”f”hÝ”f�RœW Q™ZœZ¨¬µ"´&¸¼¼À1Ñ2EÔ2EÑ)EÑFÔFñHô Hð 	Hr1   c                 óR   — t          j        |                      |¦  «        |¦  «        S rA   )r+   rv   r†   ©ro   r.   r�   s      r/   ÚhesspzCheckOptimize.hesspŸ   s   € ÝŒv�d—i’i ‘l”l AÑ&Ô&Ð&r1   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__rp   r}   r‚   r†   r‰   © r1   r/   rY   rY   i   sl   € € € € € ðð ð
'ð 'ð 'ðð ð ð$6ð 6ð 6ðHð Hð Hð'ð 'ð 'ð 'ð 'r1   rY   c                   óx  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j
                             d¦  «        d„ ¦   «         Zd	„ Zd
„ Zd„ Ze	j
                             ddgddgddgddgg¦  «        d„ ¦   «         Zd„ Ze	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d#S )$ÚCheckOptimizeParameterizedc           
      ó¸  — | j         re| j        | j        ddœ}t          j        | j        | j        dd| j        |¬¦  «        }|d         |d         |d         |d	         |d
         f\  }}}}}n=t          j        | j        | j        | j        d| j        d| j        d¬¦  «        }|\  }}}}}t          |                      |¦  «        |                      | 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¬¦  «         d S )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¥   sž  € àÔð 	FØ#œ|°T´YØ"'ð)ð )ˆDåÔ# D¤I¨tÔ/?ÀbØ+/°T´YØ,0ð2ñ 2ô 2ˆCð �C”˜#˜eœ* c¨&¤k°3°v´;ÀÀHÄÐMñ ;ˆF�D˜* j°(°(õ Ô% d¤i°Ô1AØ&*¤i°¸T¼\Ø26¸T¼YØ-2ð4ñ 4ô 4ˆFð @FÑ<ˆV�T˜: z°8å˜Ÿ	š	 &Ñ)Ô)¨4¯9ª9°T´]Ñ+CÔ+CØ!ð	#ñ 	#ô 	#ð 	#ð
 Œ~Ô 1Ò$Ð$Ð$ d¤nÔ&6Ñ$Ô$Ð$ØŒ~Ô 1Ò$Ð$Ð$ d¤nÔ&6Ñ$Ô$Ð$õ 	˜œ
œ Q q SÔ)Ø'˜˜Ø=Ð=Ð=ð?à"¨ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r1   c                 ó°   — d„ }t          j        ddd¦  «        D ];}t          j        ||gd¬¦  «        }|j        sJ ‚t          |j        dgd¬	¦  «         Œ<d S )
Nc                 óH   — 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 T¨1¨s©7¡^Ñ4Ô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Ä   s|   € ð	9ð 	9ð 	9õ
 ”+˜e Q¨Ñ+Ô+ð 	5ð 	5ˆBÝÔ# A¨ t°DÐ9Ñ9Ô9ˆCØ”;ÐÐ�;Ý˜CœE C 5¨tÐ4Ñ4Ô4Ð4Ð4ð	5ð 	5r1   c           
      óÜ  — | j         ru| j        | j        ddœ}t          j        | j        | j        | j        dd|¬¦  «        }|d         |d         |d         |d	         |d
         |d         |d         f\  }}}}}}}	n?t          j        | j        | j        | j        d| j        d| j        d¬¦  «        }
|
\  }}}}}}}	t          |                      |¦  «        |                      | 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¬¦  «         d S )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¶  € àÔð 	8Ø#œ|°T´YØ"'ð)ð )ˆDåÔ# D¤I¨tÔ/?Ø(,¬	¸&ÀrØ,0ð2ñ 2ô 2ˆCð
 ˜”H˜c %œj¨#¨e¬*°c¸*´oØ˜”K  V¤¨c°(¬mðJ=ÑFˆF�D˜$  j°*¸h¸hõ Ô'¨¬	°4Ô3CÀTÄYØ-/¸¼Ø48¸t¼yØ/4ð6ñ 6ô 6ˆFð
 28ñ/ˆV�T˜4 Ø˜ Xå˜Ÿ	š	 &Ñ)Ô)¨4¯9ª9°T´]Ñ+CÔ+CØ!ð	#ñ 	#ô 	#ð 	#ð
 Œ~Ô 2Ò%Ð%Ð% t¤~Ô'7Ñ%Ô%Ð%ØŒ~Ô 1Ò$Ð$Ð$ d¤nÔ&6Ñ$Ô$Ð$õ 	˜œ
œ Q q SÔ)Ø=Ð=Ð=Ø=Ð=Ð=ð?à"¨ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/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 ¦  «         d S # 1 swxY w Y   d S )	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ñ   sÜ   € õ Œ]�:ð .0ð 1ñ 1ô 1ð 	,ð 	,å”Ð3Ð3Ð3Ñ4Ô4ˆBØ œIµR´V¸A±Y´Y°JÐ?Ð?ˆDÝÔ�hœn°¸FÈØ&*ð,ñ ,ô ,ð ,ð		,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,s   œAB Â BÂBc                 ó&  — 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 ¦  «         d S # 1 swxY w Y   d S )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û   sè   € õ Œ]�:ð .0ð 1ñ 1ô 1ð 	,ð 	,å”Ð3Ð3Ð3Ñ4Ô4ˆBÝœ˜q™	œ	ˆIØˆI�d‰OØ œI°IÐ>Ð>ˆDÝÔ�hœn°¸FÈØ&*ð,ñ ,ô ,ð ,ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,s   œABÂB
ÂB
c                 ó2  — 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	¬
¦  «         d S )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ˆÝŒXÐ/Ð/Ð/Ñ0Ô0ˆØœ	°µr´v¸a±y´yÑ0@ÐAÐAˆÝÔ ¨°6ÀØ(,ð.ñ .ô .ˆåÔ$ S¨R¸ÀRØ.4°d´iÐ-@ðBñ Bô Bˆå˜œ ¤°DÐ9Ñ9Ô9Ð9Ð9Ð9r1   úignore::UserWarningc           	      óV  ‡— 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 ¦  «         d S # 1 swxY w Y   d S )Nc                 ó$   — t           j        |  z   S rA   )r+   Úer-   s    r/   r}   z;CheckOptimizeParameterized.test_bfgs_infinite.<locals>.func  s   € Ý”D˜a˜R‘L�=Ð r1   c                 ó   •—  ‰| ¦  «         S rA   rŽ   )r.   r}   s    €r/   Úfprimez=CheckOptimizeParameterized.test_bfgs_infinite.<locals>.fprime  s   ø€ Ø�D˜‘G”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Ð'Ñ'Ô'ð 	,ð 	,ØÔð IØ ¤	Ð*�ÝÔ% d¨B°FÀ6Ø+-°tð=ñ =ô =Ø=@ôB��õ Ô& t¨R°¸d¼iÐHÑHÔH�Ý”{ 4 4¨¡7¤7Ñ+Ô+Ð+Ð+Ð+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,s   ¢A.BÂB"Â%B"c                 óÂ   — g d¢}t          j        t           j        |dddi¬¦  «        }t          j        t           j        |dddi¬¦  «        }|j        |j        k    sJ ‚d S )NrÑ   ÚbfgsÚxrtolçü©ñÒMbP?©r—   r™   Úgtol©r
   rª   r   Únit)ro   rU   r­   Úrefs       r/   Útest_bfgs_xrtolz*CheckOptimizeParameterized.test_bfgs_xrtol#  sz   € à&Ð&Ð&ˆÝÔ¥¤Ø "¨6¸GÀT¸?ðLñ Lô LˆåÔ¥¤Ø "¨6¸FÀD¸>ðKñ Kô KˆàŒw˜#œ'Ò!Ð!Ð!Ð!Ð!Ð!r1   c                 óÂ   — g d¢}t          j        t           j        |dddi¬¦  «        }t          j        t           j        |dddi¬¦  «        }|j        |j        k    sJ ‚d S )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,  s   € ð +Ð*Ð*ˆÝÔ(­¬Ø)+°FÀTÈ4ÀLðRñ Rô RˆåÔ&¥x¤~Ø')°&À4ÈÀ,ðPñ Pô Pˆ
ð Ô  :¤?Ò2Ð2Ð2Ð2Ð2Ð2r1   c                 óÂ   — g d¢}t          j        t           j        |dddi¬¦  «        }t          j        t           j        |dddi¬¦  «        }|j        |j        k    sJ ‚d S )NrÑ   rò   Úc2çÍÌÌÌÌÌì?rõ   râ   r÷   )ro   rU   Úres_defaultÚres_mods       r/   Útest_bfgs_c2z'CheckOptimizeParameterized.test_bfgs_c27  s|   € ð 'Ð&Ð&ˆÝÔ'­¬Ø(*°6ÀDÈ"À:ðOñ Oô OˆåÔ#¥H¤NØ$&¨vÀÀd¸|ðMñ Mô 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 ¦  «         d S # 1 swxY w Y   d S )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  sµ   € õ Œ]�:¨_Ð=Ñ=Ô=ð 	<ð 	<Ø.Ð.Ð.ˆBÝÔ�hœn¨b¸Ø-/°rÐ&:Ð&:ð<ñ <ô <ð <ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<s   œ*AÁAÁAc           	      óª  — | j         rg| j        | j        ddœ}t          j        | j        | j        dd|¬¦  «        }|d         |d         |d         |d	         |d
         |d         f\  }}}}}}n8t          j        | j        | j        d| j        d| j        d¬¦  «        }	|	\  }}}}}}t          |                      |¦  «        |                      | 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        ¦   «         ‚d S )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  sˆ  € àÔð 	JØ#œ|°T´YØ"'ð)ð )ˆDåÔ# D¤I¨tÔ/?ÀbØ+3¸TðCñ Cô CˆCð ˜”H˜c %œj¨#¨g¬,¸¸E¼
Ø˜”K  X¤ðB0Ñ>ˆF�D˜% ¨*°h°hõ Ô)¨$¬)°TÔ5EØ/1¸4¼<Ø6:ÀÄØ16ð8ñ 8ô 8ˆFð DJÑ@ˆV�T˜5 '¨:°xå˜Ÿ	š	 &Ñ)Ô)¨4¯9ª9°T´]Ñ+CÔ+CØ!ð	#ñ 	#ô 	#ð 	#õ 	˜˜q˜r˜rœ
 D¤M°!°"°"Ô$5¸DÐAÑAÔAÐAð Œ~Ô 8Ò+Ð+Ð+¨T¬^Ô-=Ñ+Ô+Ð+ØŒ~Ô 1Ò$Ð$Ð$ d¤nÔ&6Ñ$Ô$Ð$Ð$Ð$r1   zeThis part of test_powell fails on some platforms, but the solution returned by powell is still valid.©Úreasonc           	      ó°  — | j         rg| j        | j        ddœ}t          j        | j        | j        dd|¬¦  «        }|d         |d         |d         |d	         |d
         |d         f\  }}}}}}n8t          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¬¦  «         d S )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  sD  € ð Ôð 	JØ#œ|°T´YØ"'ð)ð )ˆDåÔ# D¤I¨tÔ/?ÀbØ+3¸TðCñ Cô CˆCð ˜”H˜c %œj¨#¨g¬,¸¸E¼
Ø˜”K  X¤ðB0Ñ>ˆF�D˜% ¨*°h°hõ Ô)¨$¬)°TÔ5EØ/1¸4¼<Ø6:ÀÄØ16ð8ñ 8ô 8ˆFð DJÑ@ˆV�T˜5 '¨:°xõ 	˜œ
 2 b 5Ô)Ø>Ð>Ð>Ø>Ð>Ð>Ø>Ð>Ð>Ø>Ð>Ð>Ø>Ð>Ð>ð	@ð
 #¨ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r1   c                 óª  — d„ | j         D ¦   «         }| j        r¸| j        | j        ddœ}t	          j        | j        | j         d|d|¬¦  «        }|d         |d         }}|| j        j        k    sJ ‚t          |                      |¦  «        |                      | j
        ¦  «        d	d
¬¦  «         | j        j        dk    sJ ‚| j        j        dk    sJ ‚d S d S )Nc                 ó@   — g | ]}t           j         t           j        f‘ŒS rŽ   )r+   Úpi)Ú.0Ú_s     r/   ú
<listcomp>zBCheckOptimizeParameterized.test_powell_bounded.<locals>.<listcomp>’  s"   € Ð<Ð<Ð< a•B”E�6�2œ5�/Ð<Ð<Ð<r1   Fr’   rŽ   r  )r–   Úboundsr—   r™   r.   r›   r;   r»   r§   é¯   r   )rf   r©   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  € ð =Ð<¨4Ô+;Ð<Ñ<Ô<ˆØÔð 	)Ø#œ|°T´YØ"'ð)ð )ˆDåÔ# D¤I¨tÔ/?ÀbØ+1Ø+3¸TðCñ Cô CˆCð #& c¤(¨C°¬K�JˆFà ¤Ô!1Ò1Ð1Ð1Ð1Ý˜DŸIšI fÑ-Ô-¨t¯yªy¸¼Ñ/GÔ/GØ!%¨Dð2ñ 2ô 2ð 2ð ”>Ô# xÒ/Ð/Ð/Ð/Ø”>Ô# qÒ(Ð(Ð(Ð(ð'	)ð 	)ð& )Ð(r1   c           	      ó   — | j         r_| j        | j        ddœ}t          j        | j        | j        dd|¬¦  «        }|d         |d         |d         |d	         |d
         f\  }}}}}n7t          j        | j        | j        d| j        d| j        d¬¦  «        }|\  }}}}}t          |                      |¦  «        |                      | 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¬¦  «         d S )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¨  sš  € àÔð 	CØ#œ|°T´YØ"'ð)ð )ˆDåÔ# D¤I¨tÔ/?ÀbØ+8À$ðHñ Hô HˆCð ˜”H˜c %œj¨#¨e¬*°c¸&´kØ˜”Mð;#Ñ7ˆF�D˜' :¨x¨xõ ”] 4¤9¨dÔ.>Ø(*°D´LØ/3¸$¼)Ø*/ð1ñ 1ô 1ˆFð =CÑ9ˆV�T˜7 J°å˜Ÿ	š	 &Ñ)Ô)¨4¯9ª9°T´]Ñ+CÔ+CØ!ð	#ñ 	#ô 	#ð 	#ð
 Œ~Ô 3Ò&Ð&Ð&¨¬Ô(8Ñ&Ô&Ð&ØŒ~Ô 1Ò$Ð$Ð$ d¤nÔ&6Ñ$Ô$Ð$õ 	˜œ
œ R¨ UÔ+Ø=Ð=Ð=Ø>Ð>Ð>ð@à"¨ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r1   c           
      ó^  — t          j        d¦  «        }| j        |d<   t          d¦  «        D ]}||dz   |fxx         dz  cc<   Œ| j        r}| j        dd|dœ}t          j        | j        | j        d	d
|¬¦  «        }|d         |d         |d         |d         |d         f\  }}}}}	t          |d         d         |d         ¦  «         n3t          j
        | j        | j        d	| j        ddd|¬¦  «        }
|
\  }}}}}	t          |                      |¦  «        |                      | 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¬¦  «         d S )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Ÿ   r2  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ˆOŒO˜sÑ"ˆOˆO‰OˆOàÔð 	CØ#œ|°UØ"&¸7ðDð DˆDåÔ# D¤I¨tÔ/?ÀbØ+8À$ðHñ Hô HˆCà;>¸s¼8Ø;>¸u¼:Ø;>¸u¼:Ø;>¸v¼;Ø;>¸x¼=ð	;JÑ7ˆF�D˜' :¨xõ
 ˜C 	œN¨1Ô-¨w°q¬zÑ:Ô:Ð:Ð:å”] 4¤9¨dÔ.>Ø(*°D´LØ/3¸%ÈØ3:ð<ñ <ô <ˆFð
 =CÑ9ˆV�T˜7 J°å˜Ÿ	š	 &Ñ)Ô)¨4¯9ª9°T´]Ñ+CÔ+CØ!ð	#ñ 	#ô 	#ð 	#ð
 Œ~Ô 3Ò&Ð&Ð&¨¬Ô(8Ñ&Ô&Ð&ØŒ~Ô 1Ò$Ð$Ð$ d¤nÔ&6Ñ$Ô$Ð$õ 	˜œ
œ R¨ UÔ+Ø=Ð=Ð=Ø=Ð=Ð=ð?à"¨ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r1   c                 ó  — g }t          j        d¦  «        }| j        d d…         |d<   t          d¦  «        D ]}||dz   |fxx         dz  cc<   Œ|                     |¦  «         t          j        d¦  «        }|                     |¦  «         |D ]|}| j        r<| j        dd|dœ}t          t          t          j
        | j        | j        d	d
|¬¦  «         ŒEt          t          t          j        | j        | j        d	| j        ddd|¬¦
  «
         Œ}d S )N)r_   r4   r4   .r)   r>   )r_   r_   Fr1  rŽ   r*  r  Tr4  )r+   rd   rf   r8  rx   r©   rh   rP   rQ   r
   rª   r}   r.  )ro   Úbad_simplicesr9  r:  r¬   s        r/   Ú#test_neldermead_initial_simplex_badz>CheckOptimizeParameterized.test_neldermead_initial_simplex_badï  sL  € àˆå”(˜6Ñ"Ô"ˆØÔ'¨¨¨Ô+ˆ�‰Ý�q‘”ð 	#ð 	#ˆAØ�A�a‘C˜�FˆOˆOŒO˜sÑ"ˆOˆO‰OˆOØ×Ò˜WÑ%Ô%Ð%å”(˜6Ñ"Ô"ˆØ×Ò˜WÑ%Ô%Ð%à$ð 	7ð 	7ˆGØÔð 7Ø#'¤<¸Ø&+ÀðIð I�å�jÝ&Ô/Ø"œiØ"Ô.Ø#%Ø%2Ø&*ð,ñ ,ô ,ð ,ð ,õ �j­(¬-Ø"œi¨Ô)9Ø#%¨t¬|Ø*.°UÀ5Ø.5ð	7ñ 7ô 7ð 7ð 7ð	7ð 	7r1   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¦  «         d S )	Nc                 ó0   — t          j        | dz  ¦  «        S ©Nr4   ©r+   rC   r-   s    r/   Úquadz>CheckOptimizeParameterized.test_neldermead_x0_ub.<locals>.quad  ó   € Ý”6˜!˜Q™$‘<”<Ðr1   r)   )r   r\   únelder-mead©r&  r—   r   r4   )r)   ç      @©r
   rª   r   r.   )ro   rC  r­   s      r/   Útest_neldermead_x0_ubz0CheckOptimizeParameterized.test_neldermead_x0_ub  sš   € ð	 ð 	 ð 	 õ ÔØØˆCØ�9Ø ð	
ñ 
ô 
ˆõ 	˜œ ˜sÑ#Ô#Ð#åÔØØ�ˆFØ˜WÐ%Ø ð	
ñ 
ô 
ˆõ 	˜œ  1˜vÑ&Ô&Ð&Ð&Ð&r1   c                 óz   — ddi}t          j        | j        | j        d| j        d|¬¦  «        }|j        dk    sJ ‚d S )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%  sR   € à˜2ˆˆÝÔ" 4¤9¨dÔ.>Ø*5¸4¼9Ø(*°Dð:ñ :ô :ˆð Œ} Ò!Ð!Ð!Ð!Ð!Ð!r1   c           	      óÎ   — d„ }d„ }dg}d}t          j        |||dt          |¬¦  «        ¬¦  «        }|j        dk    sJ ‚t	          |j        d         t          j        ¦  «         d S )Nc                 ó6   — t          j        | d         ¦  «        S ©Nr   )r+   rG   r-   s    r/   Úcosinez=CheckOptimizeParameterized.test_ncg_zero_xtol.<locals>.cosine/  s   € Ý”6˜!˜Aœ$‘<”<Ðr1   c                 ó8   — t          j        | d         ¦  «         S rR  )r+   rB   r-   s    r/   r˜   z:CheckOptimizeParameterized.test_ncg_zero_xtol.<locals>.jac2  s   € Ý”F˜1˜Qœ4‘L”L�=Ð r1   r>   r   ú	newton-cg)Úxtol)rU   r˜   r—   r™   )r
   rª   Údictr�   r   r.   r+   r"  )ro   rS  r˜   rU   rV  rN  s         r/   Útest_ncg_zero_xtolz-CheckOptimizeParameterized.test_ncg_zero_xtol-  sŽ   € ð	 ð 	 ð 	 ð	!ð 	!ð 	!ð ˆUˆØˆÝÔ" 6Ø&(Ø'*Ø*5Ý+/°T¨?©?¬?ð	<ñ <ô <ˆð
 Œ} Ò!Ð!Ð!Ð!Ý˜FœH QœK­¬Ñ/Ô/Ð/Ð/Ð/r1   c           
      ób  — | j         r@| j        | j        ddœ}t          j        | j        | j        d| j        d|¬¦  «        d         }n5t          j        | j        | j        | j        d| j        d| j        d¬¦  «        }|}t          |                      |¦  «        |                      | 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¬¦  «         d S )NFr’   rL  rŽ   rM  r.   rÅ   r;   r    r£   é   r_   r×   ©ç(Æ6-H=�¾g×?üºËà¿g4 u¦3ß?©r\  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?  si  € àÔð 
	5Ø#œ|°T´YØ"'ð)ð )ˆDåÔ& t¤y°$Ô2BØ.9¸t¼yØ,.¸ð>ñ >ô >à>AôCˆFˆFõ Ô& t¤y°$Ô2BÀDÄIØ,.¸¼Ø38¸t¼yØ.3ð5ñ 5ô 5ˆFð
 ˆå˜Ÿ	š	 &Ñ)Ô)¨4¯9ª9°T´]Ñ+CÔ+CØ!ð	#ñ 	#ô 	#ð 	#ð
 Œ~Ô 1Ò$Ð$Ð$ d¤nÔ&6Ñ$Ô$Ð$ØŒ~Ô 2Ò%Ð%Ð% t¤~Ô'7Ñ%Ô%Ð%õ 	˜œ
œ Q q SÔ)ØKÐKÐKØKÐKÐKðMà!¨ð	.ñ 	.ô 	.ð 	.ð 	.ð 	.r1   c                 óz  — | j         rF| j        | j        ddœ}t          j        | j        | j        d| j        | j        d|¬¦  «        d         }n;t          j	        | j        | j        | j        | j        d| j        d| j        d¬¦	  «	        }|}t          |                      |¦  «        |                      | 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¬¦  «         d S )NFr’   rL  rŽ   )r—   r˜   r†   r–   r™   r.   )Úfhessr–   rh   rž   r“   rŸ   r;   r    r£   é   r_   r×   r[  r]  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`  sv  € àÔð 	5Ø#œ|°T´YØ"'ð)ð )ˆDåÔ& t¤y°$Ô2BØ.9¸t¼yØ,0¬IØ,.¸ð>ñ >ô >ð ?BôCˆFˆFõ
 Ô& t¤y°$Ô2BÀDÄIØ-1¬YØ,.¸¼Ø38¸t¼yØ.3ð	5ñ 5ô 5ˆFð ˆå˜Ÿ	š	 &Ñ)Ô)¨4¯9ª9°T´]Ñ+CÔ+CØ!ð	#ñ 	#ô 	#ð 	#ð
 Œ~Ô 1Ò$Ð$Ð$ d¤nÔ&6Ñ$Ô$Ð$ØŒ~Ô 2Ò%Ð%Ð% t¤~Ô'7Ñ%Ô%Ð%õ
 	˜œ
œ Q q SÔ)ØKÐKÐKØKÐKÐKðMà!¨ð	.ñ 	.ô 	.ð 	.ð 	.ð 	.r1   c                 óz  — | j         rF| j        | j        ddœ}t          j        | j        | j        d| j        | j        d|¬¦  «        d         }n;t          j	        | j        | j        | j        | j        d| j        d| j        d¬¦	  «	        }|}t          |                      |¦  «        |                      | 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¬¦  «         d S )NFr’   rL  rŽ   )r—   r˜   r‰   r–   r™   r.   )Úfhess_pr–   rh   rž   r“   rŸ   r;   r    r£   rc  r_   r×   r[  r]  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‚  sv  € àÔð 	5Ø#œ|°T´YØ"'ð)ð )ˆDåÔ& t¤y°$Ô2BØ.9¸t¼yØ-1¬ZØ,.¸ð>ñ >ô >ð ?BôCˆFˆFõ
 Ô& t¤y°$Ô2BÀDÄIØ/3¬zØ,.¸¼Ø38¸t¼yØ.3ð	5ñ 5ô 5ˆFð ˆå˜Ÿ	š	 &Ñ)Ô)¨4¯9ª9°T´]Ñ+CÔ+CØ!ð	#ñ 	#ô 	#ð 	#ð
 Œ~Ô 1Ò$Ð$Ð$ d¤nÔ&6Ñ$Ô$Ð$ØŒ~Ô 2Ò%Ð%Ð% t¤~Ô'7Ñ%Ô%Ð%õ
 	˜œ
œ Q q SÔ)ØKÐKÐKØKÐKÐKðMà!¨ð	.ñ 	.ô 	.ð 	.ð 	.ð 	.r1   c                 ó  — | j         r‚t          j        | j        | j        d| j        | j        dœ¬¦  «        }t          |j        |                      | j	        ¦  «        d¬¦  «         | j
        j        dk    sJ | j
        j        ¦   «         ‚d S d S )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¢   € àÔð 	AÝÔ#Ø”	ØÔ ØØ$(¤L¸$¼)ÐDÐDð	ñ ô ˆCõ ˜CœG T§Y¢Y¨t¬}Ñ%=Ô%=ÀDÐIÑIÔIÐIð ”>Ô# wÒ.Ð.Ð.°´Ô0@Ñ.Ô.Ð.ð	Að 	Að /Ð.r1   N) rŠ   r‹   rŒ   r´   rÀ   rÌ   rÝ   rà   rä   rÛ   ÚmarkÚfilterwarningsrð   rú   r  r  Úparametrizer  r  Úxfailr  r(  r/  r;  r>  rI  rO  rX  r`  rd  rg  rm  rŽ   r1   r/   r�   r�   £   s  € € € € € ð/ð /ð /ð>	5ð 	5ð 	5ð /ð  /ð  /ðD,ð ,ð ,ð
,ð 
,ð 
,ð	:ð 	:ð 	:ð „[×ÒÐ 5Ñ6Ô6ð,ð ,ñ 7Ô6ð,ð "ð "ð "ð	3ð 	3ð 	3ð-ð -ð -ð „[×Ò˜d D˜\¨S°!¨HØ-1°3¨KØ-0°#¨Jð,8ñ 9ô 9ð<ð <ñ9ô 9ð<ð 7ð  7ð  7ðD „[×Òð &Ðñ 'ô 'ð/ð /ñ'ô 'ð/ð@)ð )ð )ð2/ð /ð /ð>&/ð &/ð &/ðP7ð 7ð 7ð>'ð 'ð 'ð."ð "ð "ð0ð 0ð 0ð$.ð .ð .ðB .ð  .ð  .ðD .ð  .ð  .ðDAð Að Að Að Ar1   r�   c            	      óÚ   ‡— t           j                             d¦  «        Šˆfd„} dD ]B}dD ]=}t          j        | ‰                     d¦  «        |d|i¬¦  «        }|d         |k    sJ ‚Œ>ŒCd S )	Nl	   û<vgðRàI*q4Ì c                 ó4   •— ‰                      d¦  «        dz  S ©Nr)   ra   ©r7   )r.   r=   s    €r/   Úcostztest_maxfev_test.<locals>.cost»  s   ø€ Ø�zŠz˜!‰}Œ}˜tÑ#Ð#r1   )r)   rÆ   r6  )r  úNelder-MeadrÆ   Úmaxfevrõ   r›   )r+   r7   Údefault_rngr
   rª   )rv  Úimaxfevr—   rN  r=   s       @r/   Útest_maxfev_testr{  ¸  s°   ø€ Ý
Œ)×
Ò
Ð GÑ
HÔ
H€Cð$ð $ð $ð $ð $ð ð -ð -ˆð 0ð 	-ð 	-ˆFÝÔ& t¨S¯ZªZ¸©^¬^Ø.4Ø08¸'Ð/BðDñ Dô DˆFð ˜&”> WÒ,Ð,Ð,Ð,Ð,ð		-ð	-ð -r1   c                  ó²  — d„ } t           j                             | t          j        d¦  «        d¦  «        \  }}t          d¦  «        D ]0} |t          j        |¦  «        ¦  «         |d         |dz   k    sJ ‚Œ1d}t          t           j        j        |¬¦  «        5   |t          j        |¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t           j                             | t          j        d¦  «        d¦  «        \  }}d}t          t          |¬¦  «        5   |t          j	        ddg¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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+   Úasarrayr8  rP   Ú_MaxFuncCallErrorrQ   rL   )r~  Úfcallsr}   ÚiÚmsgs        r/   Ú)test_wrap_scalar_function_with_validationr‡  É  sÚ  € ðð ð õ Ô%ß/Ò/°µr´zÀ!±}´}ÀaÑHÔHñ €FˆDõ �1‰XŒXð  ð  ˆØˆ�RŒZ˜‰]Œ]ÑÔÐØ�aŒy˜A˜a™CÒÐÐÐÐà
#€CÝ	•xÔ)Ô;À3Ð	GÑ	GÔ	Gð ð Øˆ�RŒZ˜‰]Œ]ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ Ô%ß/Ò/°µr´zÀ!±}´}ÀaÑHÔHñ €FˆDð M€CÝ	•z¨Ð	-Ñ	-Ô	-ð ð Øˆ�RŒX�q˜!�fÑÔÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   ÂCÃC
ÃC
Ä EÅEÅEc                  óÀ   — d} t          t          | ¬¦  «        5  t          j        d„ t	          j        ddg¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr  rÏ   c                 ó   — | S rA   rŽ   r-   s    r/   ú<lambda>z.test_obj_func_returns_scalar.<locals>.<lambda>æ  s   €  A€ r1   r)   rÂ   rº   )rP   rQ   r
   rª   r+   rL   rÏ   s    r/   Útest_obj_func_returns_scalarr‹  á  s¾   € ð&€Eõ 
•z¨Ð	/Ñ	/Ô	/ð Hð HÝÔ˜+˜+¥r¤x°°A°Ñ'7Ô'7ÀÐGÑGÔGÐGðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hð Hð Hs   ™-AÁAÁAc                  ó¤   — t          j        g d¢¦  «        } t          j                             t          j        | d¬¦  «        }|j        dk    sJ ‚d S )NrÑ   rÿ   )ÚxatoliS  )r+   rL   r
   Ú	_minimizeÚ_minimize_neldermeadr   rø   )rU   r­   s     r/   Útest_neldermead_iteration_numr�  é  sQ   € Ý	ŒÐ+Ð+Ð+Ñ	,Ô	,€BÝ
Ô
×
1Ò
1µ(´.À"Ø8<ð 2ñ >ô >€CàŒ7�cŠ>ˆ>ˆ>ˆ>ˆ>ˆ>r1   c                  ó    — t          j        ddg¦  «                             t           j        ¦  «        } d„ }t	          j        || d¬¦  «         d S )Nç      @ç      @c                 óX   — | 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�"œ*Ò$Ð$Ð$Ð$ÝŒ~˜aÑ Ô Ð r1   rw  rº   )r+   rL   Úastyper–  r
   rª   )rU   r—  s     r/   Útest_neldermead_respect_fpr™  ð  sT   € å	Œ�3˜�*Ñ	Ô	×	$Ò	$¥R¤ZÑ	0Ô	0€Bð!ð !ð !õ Ô�f˜b¨Ð7Ñ7Ô7Ð7Ð7Ð7r1   c                  óX   — d„ } t           j                             | ddgddd¬¦  «         d S )Nc                 ó0   — | 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ž  ú  sQ   € ð%ð %ð %õ Ô×+Ò+¨D°1°a°&À!Ø26¸dð ,ñ Dô Dð Dð Dð Dr1   c                  óÊ   — d„ } g d¢}t          j        | |d¬¦  «        }t          |j        d¦  «         t          j        | |dddi¬¦  «        }t          |j        d¦  «         d S )	Nc                 ó0   — t          j        | dz  ¦  «        S rA  rB  r-   s    r/   r}   z&test_neldermead_adaptive.<locals>.func  ó   € ÝŒ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Î¤¸?rw  rº   FÚadaptiveTrõ   )r
   rª   r   r¾   )r}   Úp0r­   s      r/   Útest_neldermead_adaptiver¤    s�   € ðð ð ð
Fð 
Fð 
F€Bõ Ô
˜D "¨]Ð
;Ñ
;Ô
;€CÝ�”˜eÑ$Ô$Ð$å
Ô
˜D "¨]Ø%/°Ð$6ð8ñ 8ô 8€Cå�”˜dÑ#Ô#Ð#Ð#Ð#r1   c            	      óÞ  — d„ } d}g d¢}t          j        t          j        ¦  «        5  t          j        | ||d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   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 ¦  «         n# 1 swxY w Y   t          |j        t          j        g d¢¦  «        d¬¦  «         t          |j        d¦  «         t          |j        d¦  «         d S )Nc                 ó0   — t          j        | dz  ¦  «        S rA  rB  r-   s    r/   r}   z/test_bounded_powell_outsidebounds.<locals>.func  r¡  r1   )©rK  r)   r§  r§  )éüÿÿÿr^   gš™™™™™é¿r  rF  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Ô.Ñ	/Ô	/ð Jð JÝÔ  b°ÀÐIÑIÔIˆðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jå�C”E�2œ8 R D­3¨r©7¬7¡NÑ3Ô3¸$Ð?Ñ?Ô?Ð?Ý�”˜dÑ#Ô#Ð#Ý�”˜QÑÔÐð ˆYˆY˜	˜	˜	 9 9 9Ð-€Eå	Œ•hÔ.Ñ	/Ô	/ð :ð :ÝÔ  bØ'-°hØ)0°%Ð(8ð:ñ :ô :ˆð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :õ �C”E�2œ8 K K KÑ0Ô0°tÐ<Ñ<Ô<Ð<Ý�”˜eÑ$Ô$Ð$Ý�”˜QÑÔÐÐÐs#   ¨AÁAÁAÃ%DÄDÄDc                  óJ  — 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 ¦  «         n# 1 swxY w Y   t          |j        dd	¬
¦  «         d S )Nc                 ó0   — t          j        | dz  ¦  «        S rA  rB  r-   s    r/   r}   z+test_bounded_powell_vs_powell.<locals>.func:  r¡  r1   ))éûÿÿÿrK  )éöÿÿÿr	  )r)   gffffff"@)r¨  gffffff@©gÍÌÌÌÌÌ/Àéþÿÿÿ)gÍÌÌÌÌÌ ÀgÍÌÌÌÌÌÀrÕ   r   r³  ç»½×Ùß|Û=©ÚftolrV  r  rõ   r`   r;   r    )r™   r&  r—   )rK  r	  r)   r   r³  )NrK  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�A�a”D�5‰MŒM�BœF 1 Q¤4™LœLÑ(­2¬6°1°Q´4°%¸!¸A¼$±,Ñ+?Ô+?Ñ?Å"Ä&ÈÈ1ÌÁ,Ä,ÑNˆØ	�RŒV•B”F˜1˜Qœ4 ! A¤$™;Ñ'Ô'­"¬&°°1´©,¬,Ñ6Ñ7Ô7Ñ7ˆØ�!‰tˆr1   )r³  r×   r_   )r¥   r¥   r¥   rº   rF  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  sz  € ðð ð àD€FØ	!Ð	!Ð	!€Bà eÐ,Ð,€GåÔ" 4¨°HÀgÐNÑNÔN€JÝ�J”L "¨4Ð0Ñ0Ô0Ð0Ý�J”N B¨TÐ2Ñ2Ô2Ð2å!Ô*¨4°¸WØ28Ø2:ð<ñ <ô <Ðõ 	ŒÐ%Ð%Ð%Ñ&Ô&€AÝÐ&Ô(¨!°$Ð7Ñ7Ô7Ð7ÝÐ&Ô*¨D¨D°©G¬G¸$Ð?Ñ?Ô?Ð?ð �2œ6˜' 3˜¨!­R¬V¨°jÀ+ÐM€FÝ!Ô*¨4°¸WØ28Ø2:ð<ñ <ô <Ðõ 	ŒÐ%Ð%Ð%Ñ&Ô&€AÝÐ&Ô(¨!°$Ð7Ñ7Ô7Ð7ÝÐ&Ô*¨D¨D°©G¬G¸$Ð?Ñ?Ô?Ð?ð
ð ð ð
 ˆY˜‰]€FØ	Ð	Ð	€BåÔ" 4¨°HÐ=Ñ=Ô=€JÝ!Ô*¨4°Ø28Ø2:ð<ñ <ô <Ðõ �J”NÐ$8¸tÐDÑDÔDÐDÝÐ&Ô*¨A°DÐ9Ñ9Ô9Ð9õ
 ”ˆw�œÐÐ  1Ñ$€Få!Ô*¨4°Ø28Ø2:ð<ñ <ô <Ðõ �J”NÐ$6Ô$:ÀÐFÑFÔFÐFÝ�J”OÐ%7Ô%<À4ÐHÑHÔHÐHÝ�J”LÐ"4Ô"6¸TÐBÑBÔBÐBð 
2Ð	1Ð	1€BØˆY˜‰]€Få	Œ•hÔ.Ñ	/Ô	/ð @ð @Ý%Ô.¨t°RØ6<Ø6>ð@ñ @ô @Ðð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @õ Ð&Ô*¨A°DÐ9Ñ9Ô9Ð9Ð9Ð9s   ÉJÊJÊJ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¬¦  «         d S )Nr  g    €„.Ar_   rÿ   rµ  )r—   r&  r™   r[   c                 ó,   — t          j        | ¦  «         S rA   rB  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k    ¦  «        rdndz  S )Nr>   r   r)   rK  ©r+   rN   rC   rK   r-   s    r/   r|   z1test_onesided_bounded_powell_stability.<locals>.f�  s<   € Ý”•r”v˜a‘y”yÑ!Ô! cÑ*Ð*µ2´6¸!¸aº%±=´=Ð.H¨a¨aÀbÑIÐIr1   gw£ÖÆÀc                 ó�   — t          j        t          j        | ¦  «        ¦  «        dz   t          j        | dk    ¦  «        rdndz  S )NrÆ   r   r)   rK  rÂ  r-   s    r/   r|   z1test_onesided_bounded_powell_stability.<locals>.f—  s<   € Ý”•r”v˜a‘y”yÑ!Ô! RÑ'Ð'µ´°q¸1²u±´Ð+E¨1¨1À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k    ¦  «        rdndz  }|S )Nr4   r×   r>   r   r)   rK  rÂ  r¹  s     r/   r|   z1test_onesided_bounded_powell_stability.<locals>.fž  sq   € ÝŒV•B”F˜1˜R˜a˜Rœ5‘M”MÑ"Ô" aÑ'Ð'­"¬&µ´¸¸!¸"¸"¼±´Ñ*?Ô*?ÀCÑ*HÑHˆØ	•2”6˜!˜aš%‘=”=Ð(ˆaˆa bÑ)ˆØˆr1   g     @�@r&  g 4&õk\Ã)r+   rº  r
   rª   r   rš   )ÚkwargsrU   r|   r­   s       r/   Ú&test_onesided_bounded_powell_stabilityrÆ  ~  sd  € ð !Ýœ6˜' 3˜Ð(¨1Ñ,Ø"&°Ð5Ð5ð7ð 7€Fð 
ˆˆ€Bðð ð å
Ô
˜A˜rÐ
,Ð
, VÐ
,Ð
,€CÝ�C”G˜T¨Ð-Ñ-Ô-Ð-ðJð Jð Jõ Ô
˜A˜rÐ
,Ð
, VÐ
,Ð
,€CÝ�C”G˜_Ñ-Ô-Ð-ðGð Gð Gõ Ô
˜A˜rÐ
,Ð
, VÐ
,Ð
,€CÝ�C”G˜\°Ð5Ñ5Ô5Ð5ðð ð õ
 œ&˜ #˜Ð'¨!Ñ+€Fˆ8ÑÝ
Ô
˜A˜rÐ
,Ð
, VÐ
,Ð
,€CÝ�C”GÐ9ÀÐEÑEÔEÐEÐEÐEr1   c                   ó   — e Zd ZdZdZdS )ÚTestOptimizeWrapperDispTN©rŠ   r‹   rŒ   r©   r“   rŽ   r1   r/   rÈ  rÈ  ¨  s   € € € € € Ø€KØ€D€D€Dr1   rÈ  c                   ó   — e Zd ZdZdZdS )ÚTestOptimizeWrapperNoDispTFNrÉ  rŽ   r1   r/   rË  rË  ­  s   € € € € € Ø€KØ€D€D€Dr1   rË  c                   ó   — e Zd ZdZdZdS )ÚTestOptimizeNoWrapperDispFTNrÉ  rŽ   r1   r/   rÍ  rÍ  ²  s   € € € € € Ø€KØ€D€D€Dr1   rÍ  c                   ó   — e Zd ZdZdZdS )ÚTestOptimizeNoWrapperNoDispFNrÉ  rŽ   r1   r/   rÏ  rÏ  ·  s   € € € € € Ø€KØ€D€D€Dr1   rÏ  c                   óŽ  — 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                             d¦  «        ej                             d¦  «        ej                             d¦  «        ej                             dg d¢ez   ¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zd „ Z d!„ Z!d"„ Z"d#„ Z#ej                             dg d$¢¦  «        d%„ ¦   «         Z$ej                             dg d&¢¦  «        d'„ ¦   «         Z%ej                             d¦  «        ej                             de&¦  «        ej                             d(g d)¢¦  «        d*„ ¦   «         ¦   «         ¦   «         Z'd+„ Z(ej                             dd,¦  «        d-„ ¦   «         Z)ej                             dg d.¢¦  «        d/„ ¦   «         Z*d0S )1ÚTestOptimizeSimplec                 óú   — d„ }d„ }t           j        g}t          j        dd¬¦  «        5  t          j        |||d¬¦  «        }t          j         ||¦  «        ¦  «        sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )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ˆXˆÝŒ[˜h°Ð9Ñ9Ô9ð 	%ð 	%ÝÔ" 4¨¨V¸%Ð@Ñ@Ô@ˆAÝ”8˜D˜D ™GœGÑ$Ô$Ð$Ð$Ð$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%s   ª8A0Á0A4Á7A4c                 óÄ  — d„ }t          j        d¬¦  «        5  t          j        |d¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        |d         ¦  «        sJ ‚|d         du sJ ‚d„ }d	„ }t          j        d¬¦  «        5  t          j        |d|¬
¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        |d         ¦  «        sJ ‚|d         du sJ ‚d S )Nc                 ó   — t           j        S rA   ©r+   rÙ  r-   s    r/   r}   z5TestOptimizeSimple.test_bfgs_nan_return.<locals>.funcÍ  ó	   € Ý”6ˆMr1   rë   ©rØ  r   rš   r¾   Fc                 ó*   — | dk    rdnt           j        S rR  rÞ  r-   s    r/   r}   z5TestOptimizeSimple.test_bfgs_nan_return.<locals>.funcÖ  s   € Ø˜Qš˜�1�1¥B¤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}   rN  rê   s       r/   Útest_bfgs_nan_returnz'TestOptimizeSimple.test_bfgs_nan_returnÉ  s’  € ð	ð 	ð 	åŒ[ Ð*Ñ*Ô*ð 	0ð 	0ÝÔ& t¨QÑ/Ô/ˆFð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0õ Œx˜˜uœÑ&Ô&Ð&Ð&Ð&Ø�iÔ  EÐ)Ð)Ð)Ð)ð	+ð 	+ð 	+ð	#ð 	#ð 	#åŒ[ Ð*Ñ*Ô*ð 	<ð 	<ÝÔ& t¨Q°FÐ;Ñ;Ô;ˆFð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<õ Œx˜˜uœÑ&Ô&Ð&Ð&Ð&Ø�iÔ  EÐ)Ð)Ð)Ð)Ð)Ð)s   ™;»?Á?Â	B-Â-B1Â4B1c                 ó¬  — t           j                             d¦  «        }t          j        t          j        d¦  «        ¦  «        |                     t          | j        ¦  «        ¦  «        z  }t          j        | j	        | j
        |d| j        d¬¦  «        }t          |  	                    |¦  «        |  	                    | j        ¦  «        d¬¦  «         d S )Nr8   r\   rŽ   F)r<   r–   rh   r“   r;   r    )r+   r7   ry  Ú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×#Ò# DÑ)Ô)ˆÝ”'�"œ* R™.œ.Ñ)Ô)¨C¯JªJµs¸4¼=Ñ7IÔ7IÑ,JÔ,JÑJˆåÔ# D¤I¨tÔ/?Ø,3¸"Ø,0¬L¸uðFñ Fô Fˆõ 	˜Ÿ	š	 &Ñ)Ô)¨4¯9ª9°T´]Ñ+CÔ+CØ!ð	#ñ 	#ô 	#ð 	#ð 	#ð 	#r1   c                 ó  — g d¢}g d¢}t          j        ||¦  «        D ]i\  }}t          j        | j        | j        ||¬¦  «        }t          |                      |j        ¦  «        |                      | j        ¦  «        d¬¦  «         Œjd S )N)rÂ   r•   ÚTNC©ú2-pointú3-pointN)r—   r˜   r;   r    )	Ú	itertoolsÚproductr
   rª   r}   rf   r   r.   rg   )ro   ÚmethodsÚjacsr—   r˜   rN  s         r/   Útest_finite_differences_jacz.TestOptimizeSimple.test_finite_differences_jací  s¦   € Ø'Ð'Ð'ˆØ+Ð+Ð+ˆÝ$Ô,¨W°dÑ;Ô;ð 	'ð 	'‰KˆF�CÝÔ& t¤y°$Ô2BØ.4¸#ð?ñ ?ô ?ˆFå˜DŸIšI f¤hÑ/Ô/°·²¸4¼=Ñ1IÔ1IØ!%ð'ñ 'ô 'ð 'ð 'ð	'ð 	'r1   c           	      óÄ  — g d¢}t           t          j        fz   }t          j        ||¦  «        D ]N\  }}|t          j        u r
 |¦   «         }t          j        | j        | j        || j        |¬¦  «        }|j	        sJ ‚ŒOg d¢}|D ][}t          j        t          ¦  «        5  t          j        | j        | j        || j        d ¬¦  «         d d d ¦  «         n# 1 swxY w Y   Œ\d S )N)útrust-constrrL  ú	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†   rN  s         r/   Útest_finite_differences_hessz/TestOptimizeSimple.test_finite_differences_hessö  sM  € ð MÐLÐLˆÝ�xœ}Ð.Ñ.ˆÝ%Ô-¨g°vÑ>Ô>ð 	"ð 	"‰LˆF�DØ•x”}Ð$Ð$Ø�t‘v”v�ÝÔ& t¤y°$Ô2BØ.4¸$¼)Ø,0ð2ñ 2ô 2ˆFð ”>Ð!Ð!�>Ð!ð
 IÐHÐHˆØð 	-ð 	-ˆFÝ”�zÑ*Ô*ð -ð -ÝÔ! $¤)¨TÔ-=Ø)/°T´YØ'+ð-ñ -ô -ð -ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -øð	-ð 	-s   Â)CÃC	ÃC	c                 ób   — d„ }t          j        |dgd¬¦  «        }t          |ddd¬¦  «         d S )Nc                 ó"   — | dk     rdS | d| z  z   S )Nr   g÷BŒþÿÿïr\   rŽ   r-   s    r/   r|   z/TestOptimizeSimple.test_bfgs_gh_2169.<locals>.f  s   € Ø�1Šuˆ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  sI   € ð	 ð 	 ð 	 õ
 Ô  C 5¨uÐ5Ñ5Ô5ˆÝ˜˜C d°Ð6Ñ6Ô6Ð6Ð6Ð6r1   c                 ó`   ‡— ˆfd„}t          ¦   «         Št          j        |dddd¬¦  «         d S )Nc                 ód   •— | d         }|‰vs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  s>   ø€ Ø�1”ˆBØ˜T�>�>�>�>Ø�HŠH�R‰LŒLˆ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  sI   ø€ ð	!ð 	!ð 	!ð 	!ð 	!õ ‰uŒuˆÝÔ˜!˜T¨&°dÀÐEÑEÔEÐEÐEÐEr1   c                 óÌ  — t          j        | j        | j        | j        d| j        ¬¦  «        }|\  }}}t          |                      |¦  «        |                      | 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¬¦  «         d S )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Ø(,¬	¸Ø04´ð>ñ >ô >ˆð #Ñˆ��qå˜Ÿ	š	 &Ñ)Ô)¨4¯9ª9°T´]Ñ+CÔ+CØ!ð	#ñ 	#ô 	#ð 	#ð
 Œ~Ô 1Ò$Ð$Ð$ d¤nÔ&6Ñ$Ô$Ð$ØŒ~Ô 1Ò$Ð$Ð$ d¤nÔ&6Ñ$Ô$Ð$õ 	˜œ
œ Q q SÔ)ØDÐDÐDØ6Ð6Ð6ð8à"¨ð	/ñ 	/ô 	/ð 	/ð 	/ð 	/r1   c                 óÚ   — t          j        | j        | j        d| j        ¬¦  «        }|\  }}}t          |                      |¦  «        |                      | j        ¦  «        d¬¦  «         d S )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;  sz   € åÔ'¨¬	°4Ô3CØ48Ø04´ð>ñ >ô >ˆð #Ñˆ��qå˜Ÿ	š	 &Ñ)Ô)¨4¯9ª9°T´]Ñ+CÔ+CØ!ð	#ñ 	#ô 	#ð 	#ð 	#ð 	#r1   c                 óÚ   ‡ — ˆ fd„}t          j        |‰ j        ‰ j        ¬¦  «        }|\  }}}t	          ‰                      |¦  «        ‰                      ‰ j        ¦  «        d¬¦  «         d S )Nc                 óX   •— ‰                      | ¦  «        ‰                     | ¦  «        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Ô+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
¦  «         d S )Nc                   ó   — e Zd Zd„ Zd„ ZdS )ú:TestOptimizeSimple.test_l_bfgs_b_maxiter.<locals>.Callbackc                 ó0   — d| _         d | _        d | _        d S rR  )rø   rš   r.   rn   s    r/   Ú__init__zCTestOptimizeSimple.test_l_bfgs_b_maxiter.<locals>.Callback.__init__W  s   € Ø�”Ø�”Ø�”��r1   c                 óf   — || _         t          j        |¦  «        | _        | xj        dz  c_        d S 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  s2   € € € € € ðð ð ð
ð ð ð ð 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ï   € ð		ð 		ð 		ð 		ð 		ñ 		ô 		ð 		ð ˆH‰JŒJˆÝÔ¥¤°°R°ÀØ)*°YÀ°NðDñ Dô Dˆõ 	�S”W˜aÑ Ô Ð Ý˜CœE 1¤3Ñ'Ô'Ð'Ý˜CœG Q¤UÑ+Ô+Ð+Ý�S”Z Ñ#Ô#Ð#ØŒ{˜eÐ#Ð#Ð#Ð#Ý�S”[ØBñ	Dô 	Dð 	Dð 	Dð 	Dr1   c                 óh  — d| j         i}t          j        | j        | j        d| j        |¬¦  «        }t          |                      |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        ¦  «        d¬¦  «         dx| j        _
        | j	        _
        t          j        | j        | j        dd|¬	¦  «        }| j        j
        |j        k    sJ ‚t          |                      |j        ¦  «        |                      | j        ¦  «        d¬¦  «         d S )
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¨Ô)9Ø%/°T´YØ&*ð,ñ ,ô ,ˆõ 	˜Ÿ	š	 !¤#™œ¨¯	ª	°$´-Ñ(@Ô(@Ø!ð	#ñ 	#ô 	#ð 	#àŒ~Ô 1¤6Ò)Ð)Ð)Ð)à./Ð/ˆŒÔ˜4œ>Ô+åÔ˜tœy¨$Ô*:Ø&0¸$ð@ñ @ô @ˆð Œ~Ô 2¤7Ò*Ð*Ð*Ð*Ý˜Ÿ	š	 "¤$™œ¨¯ª°4´=Ñ)AÔ)AØ!ð	#ñ 	#ô 	#ð 	#ð /0Ð/ˆŒÔ˜4œ>Ô+åÔ˜tœy¨$Ô*:À	Ø&0¸$ð@ñ @ô @ˆàŒ~Ô 2¤7Ò*Ð*Ð*Ð*Ý˜Ÿ	š	 "¤$™œ¨¯ª°4´=Ñ)AÔ)AØ!ð	#ñ 	#ô 	#ð 	#ð 	#ð 	#r1   c                 ó  — d }dD ]…}| j         |dœ}t          j        | j        | j        d| j        |¬¦  «        }|                      |j        ¦  «        }|€|}n||k     sJ ‚t          ||                      | j        ¦  «        |¬¦  «         Œ†d S )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ð 	CˆCØ#œ|°SÐ9Ð9ˆDÝÔ# D¤I¨tÔ/?Ø+5¸4¼9Ø,0ð2ñ 2ô 2ˆCð —	’	˜#œ%Ñ Ô ˆAàˆzØ��à˜2’v�v�v�vå˜A˜tŸyšy¨¬Ñ7Ô7¸cÐBÑBÔBÐBÐBð	Cð 	Cr1   c                 óž   — t          j        t           j        t          j        ddg¦  «        dt           j        ddi¬¦  «        }|j        rJ ‚d S )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š  sQ   € åÔ¥¤µ´¸$À¸Ñ0EÔ0EØ'1µxÔ7IØ)0°!¨ð6ñ 6ô 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          ||
¦  «         d S )Nr£   ra   c                 óH   •—  ‰| ¦  «        }‰                      |¦  «         |S rA   )rx   )r.   Úvaluer|   Úvaluess     €€r/   ÚobjfunzMTestOptimizeSimple.test_minimize_l_bfgs_b_maxfun_interruption.<locals>.objfun¨  s'   ø€ Ø�A�a‘D”DˆEØ�MŠM˜%Ñ Ô Ð ØˆLr1   )é   r5  i,  )rê   Úmaxfunc              3   ó$   K  — | ]\  }}||fV — Œd S rA   rŽ   )r#  r…  Úys      r/   ú	<genexpr>zPTestOptimizeSimple.test_minimize_l_bfgs_b_maxfun_interruption.<locals>.<genexpr>²  s*   è è € ÐAÐA™d˜a �A�q�6ÐAÐAÐAÐAÐAÐAr1   )
r
   r   r   r+   Úfullr  ÚmaxÚ	enumerateÚminr   )ro   ÚgrU   r6  ÚlowÚmediumÚhighr-  Úkr8  ÚtargetÚxminr.  r  r|   r5  s                 @@r/   Ú*test_minimize_l_bfgs_b_maxfun_interruptionz=TestOptimizeSimple.test_minimize_l_bfgs_b_maxfun_interruption¡  sô   øø€ åŒNˆÝÔˆØˆÝŒW�Q˜ÑÔˆð	ð 	ð 	ð 	ð 	ð 	ð )ÑˆˆV�TÝÔ˜v r°!¸DÐAÑAÔAÐAÝÐAÐA¥i°°v°w°w´Ñ&@Ô&@ÐAÑAÔAÑAÔA‰ˆˆ1Ø˜!‘ˆõ �V˜D˜S˜D”\Ñ"Ô"ˆÝ Ô.¨q°"¸QÀvÐNÑNÔN‰ˆˆd�AÝ˜$ Ñ'Ô'Ð'Ð'Ð'r1   c                 óª   — 	 	 dd„}g d¢}t          j        t           j        ||t          d¬¦  «        ¬¦  «        }t	          |j        d	d
d
¬¦  «         d S )NrŽ   r>   r5  c                 ó®  — |} | |¦  «        }	d}
d}d}d}|r¢|s ||k     ršd}|dz  }t          t          j        |¦  «        ¦  «        D ]g}||         |z
  ||         |z   fD ]5}t          j        |¦  «        }|||<    | |g|¢R Ž }|
dz  }
||	k     r|}	|}d}Œ6|� ||¦  «         |�
|
|k    rd} nŒh|r|s||k     °št	          j        |	|||
|dk    ¬¦  «        S )Nr)   r   TF©rš   r.   rø   r›   r¾   )r8  r+   Úsizery   r
   r   )rš   rU   r–   rx  Ústepsizerh   r"  r™   ÚbestxÚbestyÚfuncallsÚniterÚimprovedÚstopÚdimÚsÚtestxÚtestys                     r/   Úcustminz/TestOptimizeSimple.test_custom.<locals>.custmin½  sW  € àˆEØ�C˜‘G”GˆEØˆHØˆEØˆHØˆDàð  4ð ¨E°GªO¨OØ �Ø˜‘
�Ý ¥¤¨¡¤Ñ-Ô-ð ð �CØ# Cœj¨8Ñ3°U¸3´ZÀ(Ñ5JÐKð ,ð ,˜Ý "¤¨¡¤˜Ø%&˜˜c™
Ø #  EÐ 1¨DÐ 1Ð 1Ð 1˜Ø  A™˜Ø  5š=˜=Ø$)˜EØ$)˜EØ'+˜HøØÐ+Ø ˜ ™œ˜ØÐ)¨h¸&Ò.@Ð.@Ø#˜Ø˜øð# ð  4ð ¨E°GªO¨Oõ& Ô*¨u¸À5Ø08À5È1Â9ðOñ Oô Oð Or1   )gš™™™™™õ?r  rÔ   çš™™™™™ñ?rÖ   çš™™™™™©?©rL  rõ   r\   rÀ  rþ  ©rŽ   Nr>   r5  N)r
   rª   r   rW  r   r.   )ro   rW  rU   r­   s       r/   Útest_customzTestOptimizeSimple.test_custom»  sy   € à<?Ø*.ð	Oð 	Oð 	Oð 	Oð> (Ð'Ð'ˆÝÔ¥¤°¸7Ý(,°dÐ(;Ñ(;Ô(;ð=ñ =ô =ˆå˜œ˜s¨°DÐ9Ñ9Ô9Ð9Ð9Ð9r1   c                 óp   ‡‡— ddgŠdŠˆˆfd„}ddg}t          j        t           j        ||‰‰¬¦  «         d S )N)r³  r4   )r   r_   Úconstraintsc                 óZ   •— |d         ‰u sJ ‚|d         ‰u sJ ‚t          j        ¦   «         S )Nr&  r^  ©r
   r   )rš   rU   r™   r&  r^  s      €€r/   rW  z0TestOptimizeSimple.test_gh10771.<locals>.custminç  s>   ø€ Ø˜8Ô$¨Ð.Ð.Ð.Ð.Ø˜=Ô)¨[Ð8Ð8Ð8Ð8ÝÔ*Ñ,Ô,Ð,r1   r)   )r—   r&  r^  )r
   rª   r   )ro   rW  rU   r&  r^  s      @@r/   Útest_gh10771zTestOptimizeSimple.test_gh10771á  su   øø€ ð ˜6Ð"ˆØ#ˆð	-ð 	-ð 	-ð 	-ð 	-ð 	-ð
 �ˆVˆÝÔ�(œ.¨"°WØ!'°[ð	Bñ 	Bô 	Bð 	Bð 	Bð 	Br1   c           	      ó:  — d„ }d„ }dD ]‘}|dv rd }n|}t          j        |ddg|d|¬¦  «        }t          j        |ddg|d|¬¦  «        } ||j        ¦  «         ||j        ¦  «        k     s.J |› d	 ||j        ¦  «        › d
 ||j        ¦  «        › �¦   «         ‚Œ’d S )Nc                 ó4   — | \  }}|dz  |dz  z  |dz  z   dz   S )Nr4   r¤   r)   rŽ   ©Úzr.   r:  s      r/   r}   z<TestOptimizeSimple.test_minimize_tol_parameter.<locals>.funcò  s+   € Ø‰DˆAˆqØ�a‘4˜˜1™‘9˜q !™tÑ# aÑ'Ð'r1   c                 ón   — | \  }}t          j        d|z  |dz  z  d|dz  z  z   d|dz  z  |z  g¦  «        S )Nr4   r¤   r_   ©r+   rL   rd  s      r/   Údfuncz=TestOptimizeSimple.test_minimize_tol_parameter.<locals>.dfuncö  sE   € Ø‰DˆAˆqÝ”8˜Q˜q™S  A¡™X¨¨!¨Q©$©Ñ.°°!°Q±$±°q±Ð9Ñ:Ô:Ð:r1   ©
rE  Úpowellr  rò   rU  r!  ÚtncÚcobylari  Úslsqp©rE  rj  rl  ri  r4   r´  )r˜   r  r—   r\   ú: z vs. )r
   rª   r.   )ro   r}   rh  r—   r˜   Úsol1Úsol2s          r/   Útest_minimize_tol_parameterz.TestOptimizeSimple.test_minimize_tol_parameterð  s  € ð	(ð 	(ð 	(ð	;ð 	;ð 	;ð4ð 	Bð 	BˆFð ÐFÐFÐFØ��à�åÔ$ T¨A¨q¨6°sÀØ,2ð4ñ 4ô 4ˆDåÔ$ T¨A¨q¨6°sÀØ,2ð4ñ 4ô 4ˆDà�4˜œ‘<”< $ $ t¤v¡,¤,Ò.Ð.Ð.ØÐAÐA   T¤V¡¤ÐAÐA°4°4¸¼±<´<ÐAÐAñ /Ô.Ð.Ð.ð	Bð 	Br1   rÆ   rå   úignore::RuntimeWarningr—   )r.  r  r«   rÉ   r^  r  Úfmin_tncÚ
fmin_slsqpc                 óô  ‡‡
— ‰dv rd„ }n$t           j        }t           j        }t           j        }t	          j        d¦  «        }i }‰                     d¦  «        r=t          t           ‰¦  «        }‰dk    rd|d<   nh‰dk    rd	|d
<   n\‰dv rd|d<   nRd|d<   nLˆ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k    sJ ‚t          d„ ‰
D ¦   «         ¦  «        sJ ‚t          j        ‰
d¦  «        }	t          d„ |	D ¦   «         ¦  «        rJ ‚d S )N)rt  r  c                 óR   — 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.  ru  r×   Úiterrt  r5  r8  )r.  r  i¬  rh   c                  ó0   •— ‰|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Ð2Ð2r1   rk  ©r8  r™   rl  r  )r^  rê   )rU  r˜   ©rõ  rø  rô  r÷  ró  r†   c                 ó’   •— t          | t          j        ¦  «        rJ ‚‰                     | t	          j        | ¦  «        f¦  «         d S rA   )Ú
isinstancer
   r   rx   r+   ry   )r.   r–   rÅ  Úresultss      €r/   r"  zHTestOptimizeSimple.test_minimize_callback_copies_array.<locals>.callbackB  s@   ø€ Ý! !¥XÔ%<Ñ=Ô=Ð=Ð=Ð=Ø�NŠN˜A�rœw q™zœz˜?Ñ+Ô+Ð+Ð+Ð+r1   r"  r4   c              3   óL   K  — | ]\  }}t          j        ||k    ¦  «        V — Œ d S rA   )r+   rK   ©r#  r.   r:  s      r/   r;  zITestOptimizeSimple.test_minimize_callback_copies_array.<locals>.<genexpr>K  s2   è è € Ð6Ð6¡d a¨•2”6˜!˜qš&‘>”>Ð6Ð6Ð6Ð6Ð6Ð6r1   c              3   ó^   K  — | ](\  }}t          j        |d          |d          ¦  «        V — Œ)dS )r   N)r+   Úmay_share_memoryr„  s      r/   r;  zITestOptimizeSimple.test_minimize_callback_copies_array.<locals>.<genexpr>M  s;   è è € ÐPÐP¹4¸1¸a•rÔ*¨1¨Q¬4°°1´Ñ6Ô6ÐPÐPÐPÐPÐPÐPr1   )r
   r   r   r   r+   rd   Ú
startswithÚgetattrrW  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	  sK  øø€ ð Ð2Ð2Ð2ð@ð @ð @ð @õ ”>ˆDÝÔ$ˆCÝÔ&ˆDåŒX�b‰\Œ\ˆð ˆØ×Ò˜VÑ$Ô$ð 	4Ý�h¨Ñ/Ô/ˆGØ˜Ò%Ð%Ø!"��v‘�Ø˜:Ò%Ð%Ø#&��xÑ Ð ØÐ2Ð2Ð2Ø$(��yÑ!Ð!à$%��yÑ!Ð!ð3ð 3ð 3ð 3ð 3ð ˜ŠˆÝ$(°Ð$4Ñ$4Ô$4��yÑ!Ð!Ø˜8Ò#Ð#Ý$(°Ð$5Ñ$5Ô$5��yÑ!Ð!å$(° O¡O¤O��yÑ!à�]Ð"Ð"Ø"ˆF�8ÑÐØ�~Ð%Ð%ØˆF�5‰MˆMØð (ð (ð (àˆF�5‰MØ!ˆF�6‰Nð ˆð	,ð 	,ð 	,ð 	,ð 	,ð 	ˆ��bÐ6Ð6 8Ð6¨vÐ6Ð6Ð6õ �7‰|Œ|˜aÒÐÐÐÝÐ6Ð6¨gÐ6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ý Ô-¨g°qÑ9Ô9ˆÝÐPÐPÀ<ÐPÑPÔPÑPÔPÐPÐPÐPÐPÐPr1   ri  c                 ó†  — 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 ‚d S )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)   rK  rŽ   r-   s    r/   Úbad_gradz5TestOptimizeSimple.test_no_increase.<locals>.bad_gradY  s   € ð �a˜!‘e‘9 Ñ# aÑ'Ð'r1   ç       @rk  r  r~  r  rn  r(  rm  zSLSQP returns slightly worse)
r+   rL   rW  r
   rª   r   r.   rš   rÛ   rq  )	ro   r—   r}   r�  rU   Úf0r˜   r™   r¿   s	            r/   Útest_no_increasez#TestOptimizeSimple.test_no_increaseO  só   € ð	ð 	ð 	ð	(ð 	(ð 	(õ
 ŒX�s�e‰_Œ_ˆØˆT�"‰XŒXˆØˆØ%+¨u¢_ _•$˜b�/‘/”/�/½$ÀrÐ:JÑ:JÔ:JˆØÐBÐBÐBØˆCÝÔ  b¨c¸&Ø(/ð1ñ 1ô 1ˆå�T�T˜#œ%‘[”[ #¤'Ñ*Ô*Ð*à�WÒÐÝŒLÐ7Ñ8Ô8Ð8Øˆt�C”E‰{Œ{˜bÒ Ð Ð Ð Ð Ð r1   c                 óÐ   — d„ }d„ }t          j        g d¢¦  «        }t          j        ||dd|dœ¬¦  «        }t	          |j        t          j        g d¢¦  «        d	z  d
¬¦  «         d S )Nc                 óT   — t          | t          j        g d¢¦  «        z
  dz  ¦  «        S )N)r\   r‘  rG  r“  r4   )rC   r+   rL   r-   s    r/   r|   z7TestOptimizeSimple.test_slsqp_respect_bounds.<locals>.fn  s+   € Ý˜�BœHÐ%5Ð%5Ð%5Ñ6Ô6Ñ6¸Ñ:Ñ;Ô;Ð;r1   c                 ó¶   — t          j        g d¢g d¢g¦  «        }t          j        t          j        || ¦  «        t          j        ddg¦  «        z   | g¦  «        S )N)rK  rK  rK  rK  )éýÿÿÿr—  r³  rK  r×   rÆ   )r+   rL   Úconcatenaterv   ©r.   r{  s     r/   Úconsz:TestOptimizeSimple.test_slsqp_respect_bounds.<locals>.consq  sV   € Ý”Ð*Ð*Ð*Ð,<Ð,<Ð,<Ð=Ñ>Ô>ˆAÝ”>¥2¤6¨!¨Q¡<¤<µ"´(¸A¸r¸7Ñ2CÔ2CÑ#CÀQÐ"GÑHÔHÐHr1   )r^   r\   r6   r‘  rm  Ú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ð 	Ið 	Iõ ŒXÐ(Ð(Ð(Ñ)Ô)ˆÝÔ  2¨gØ5;ÀDÐ,IÐ,IðKñ Kô Kˆå˜œ�rœx¨¨¨Ñ6Ô6°qÑ8¸uÐEÑEÔEÐEÐEÐEr1   )rw  r  r•   rÂ   rL  r&  ÚSLSQPró  r÷  rô  rø  rõ  ri  c           	      ó  — 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 ‚d S |dk    r|j        dk    sJ ‚d S d S )Nr¤   rÆ   rŽ   r  rõ   )rL  r˜   r  r†   rœ   r   r¢   ri  rÈ   )r+   rd   r   r
   r   r   r   rW  r‚   r†   rª   rš   rø   r›   rt   rœ   Úngevr�   )ro   r—   ÚMAXITERrU   ÚsfrÅ  r¿   s          r/   Útest_respect_maxiterz'TestOptimizeSimple.test_respect_maxiterz  sH  € ð ˆåŒX�b‰\Œ\ˆå�HœN¨B°µHÔ4FÝ$Ô/°°tñ=ô =ˆð #­t¸GÐ/DÑ/DÔ/DÐEÐEˆà�^Ð#Ð#ØœGˆF�5‰MˆMØð (ð (ð (àœGˆF�5‰MØœWˆF�6‰NåÔ ¤¨Ð5Ð5¨fÐ5Ð5ˆØŒw˜'Ò!Ð!Ð!Ð!ØŒx˜2œ7Ò"Ð"Ð"Ð"Ý�3˜ÑÔð 	'Ø”8˜rœwÒ&Ð&Ð&Ð&ð �WÒÐØ”: ’?�?�?�?�?�?Ø�xÒÐØ”: ’?�?�?�?ð  ÐØ"�?r1   )rw  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  | 
                    d¦  «        r%t          t          |¦  «        } ||j        |fi |¤Ž nt          j        |j        |||¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
NrÆ   rŽ   r)   Trj  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�b‰\Œ\ˆÝ�HœN¨B°µHÔ4FÝ$Ô/°°tñ=ô =ˆà¨Ð.Ð.ˆÝŒ\�.Ø ?ðAñ Aô Að 	Nð 	Nà× Ò  Ñ(Ô(ð NÝ!¥(¨FÑ3Ô3�Ø�˜œ Ð.Ð. gÐ.Ð.Ð.Ð.åÔ! "¤&¨"°VÀWÐMÑMÔMÐMð	Nð 	Nð 	Nñ 	Nô 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nøøøð 	Nð 	Nð 	Nð 	Nð 	Nð 	Ns   Á(ACÃ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 ‚d S )	Nr¤   c                 ón   — t          j        d| d         z  d| d         z  z
  d| d         z  z
  g¦  «        S )NrI   r   çš™™™™™Ù?r)   ç…ëQ¸Õ?r4   rg  r-   s    r/   rš   zRTestOptimizeSimple.test_respect_maxiter_trust_constr_ineq_constraints.<locals>.fun·  s7   € Ý”8˜S 1 Q¤4™Z¨#°°!´©*Ñ4°t¸aÀ¼d±{ÑBÐCÑDÔDÐDr1   r›  rœ  rÆ   ró  r  )r^  r˜   r†   r—   r™   )	r
   r   r   r   r+   rd   rª   rW  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ˆÝÔ ˆÝÔ"ˆð	Eð 	Eð 	EàØðð ð ˆõ ŒX�b‰\Œ\ˆÝÔ  2°4¸SÀtØ'5Ý(,°WÐ(=Ñ(=Ô(=ð?ñ ?ô ?ˆð Œw˜'Ò!Ð!Ð!Ð!Ð!Ð!r1   c                 óL  — 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        sJ ‚Œt          |j        dd¬¦  «         t          |j        dd¬¦  «         t          |j        dd¬¦  «         t          |j        dd¬¦  «         t          |j        dd¬¦  «         d S )Nc                 ó   — | dz  S rA  rŽ   r-   s    r/   r|   z6TestOptimizeSimple.test_minimize_automethod.<locals>.fÃ  ó   € Ø�a‘4ˆKr1   c                 ó   — | dz
  S rA  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�s�e‰_Œ_ˆÝÔ! ! RÑ(Ô(ˆÝÔ! ! R¸vØ>Bð7Dð 7Dð 6Eð Fñ Fô FˆåÔ! ! R°°	Ð:Ñ:Ô:ˆÝÔ! ! RØ8>ÀtÐ/LÐ/LÐ.MØ*1¨ð4ñ 4ô 4ˆõ Ô! ! RØ8>ÀtÐ/LÐ/LÐ.MØ*1¨ð4ñ 4ô 4ˆð ˜5 %¨°Ð6ð 	ð 	ˆCØ”;ÐÐ�;ÐÝ˜œ ¨Ð.Ñ.Ô.Ð.Ý˜œ ¨Ð.Ñ.Ô.Ð.Ý˜œ ¨Ð.Ñ.Ô.Ð.Ý˜œ ¨Ð.Ñ.Ô.Ð.Ý˜œ ¨Ð.Ñ.Ô.Ð.Ð.Ð.r1   c                 óô   — d„ }dd„}t          j        g d¢¦  «        }t           j                             d¦  «        }|                     t          |¦  «        ¦  «        }t          j        ||||d¬¦  «         d S )Nc                 ó6   — t          j        | |z
  dz  ¦  «        S rA  rB  ©r.   rr   s     r/   ÚYz=TestOptimizeSimple.test_minimize_coerce_args_param.<locals>.YÞ  s   € Ý”6˜1˜Q™3 ™(Ñ#Ô#Ð#r1   c                 ó   — d| |z
  z  S rA  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   ry  Ústandard_normalr¬  r
   rª   )ro   r½  r¿  rr   r=   Úxinits         r/   Útest_minimize_coerce_args_paramz2TestOptimizeSimple.test_minimize_coerce_args_paramÜ  s�   € ð	$ð 	$ð 	$ð	ð 	ð 	ð 	õ ŒHÐ6Ð6Ð6Ñ7Ô7ˆÝŒi×#Ò# DÑ)Ô)ˆØ×#Ò#¥C¨¡F¤FÑ+Ô+ˆÝÔ˜!˜U¨°QÀÐGÑGÔGÐGÐGÐ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Œ6d
gŠd gŠ	t          j        |‰|||¬¦  «        }|› d‰
› d‰	› d|› �}|j        s
J |¦   «         ‚t          |j        dg|¬¦  «         |j        dk    s
J |¦   «         ‚‰
dk    r@|dv rt          ‰	d         d|¬¦  «         ŒÃ‰	d         dk    r‰	d         dk     s
J |¦   «         ‚ŒæŒçd S )N)g¸ÔJzî�5r)   gšd~ÅQJ)r•   rÂ   r&  rL  c                 ó  •— ‰d         €3| d         ‰d         k    r!t          | d         ‰d         z
  ¦  «        ‰d<   t          | ¦  «                             ¦   «         dk    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ð  s{   ø€ Ø˜qÔ!Ð)¨a°¬d°b¸´eªm¨mÝ%(¨¨1¬°°1´©Ñ%6Ô%6� Ñ"Ý�1‰vŒv�zŠz‰|Œ|˜cÒ!Ð!Ý$Ð%EÑFÔFÐFØ˜!˜Aœ$ ™( Q™Ñ&Ð&r1   c                 óF   •— t          j        ‰| d         dz
  z  g¦  «        S ©Nr   r)   rg  )r.   rÇ  s    €r/   r@  z7TestOptimizeSimple.test_initial_step_scaling.<locals>.g÷  s#   ø€ Ý”8˜U A a¤D¨1¡HÑ-Ð.Ñ/Ô/Ð/r1   )r•   rÂ   rÿ   )rö   r´  )r&  rL  ç      ð¿r(  ú ro  r\   ©Úerr_msgr_   r   ç)\�Âõ(ð?r^   )	rí  rî  rW  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é  sÇ  øøø€ ð "Ð!Ð!ˆØ9Ð9Ð9ˆð	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð	0ð 	0ð 	0ð 	0ð 	0õ 'Ô.¨v°wÑ?Ô?ð 	ð 	‰MˆE�6Ø˜Ð'Ð'Ý E¨$¡JÐ/Ñ/Ô/��å™&œ&�à�uŠ}ˆ} Ð+DÐ!DÐ!Dàà�ˆBØ#˜fˆOÝÔ# A r¨q¸Ø,3ð5ñ 5ô 5ˆCð  ÐCÐC %ÐCÐC¨?ÐCÐC¸cÐCÐCˆGà”;Ð'Ð' Ñ'Ô'�;Ý˜CœE C 5°'Ð:Ñ:Ô:Ð:Ø”7˜a’<�<�< ‘<”<�<à�uŠ}ˆ}Ø˜^Ð+Ð+Ý# O°AÔ$6¸ÀgÐNÑNÔNÐNÐNð +¨1Ô-°Ò3Ð3¸ÈÔ8JÈQÒ8NÐ8NÐ8NÐPWÑ8NÔ8NÐNÐ8Nð ð?	ð 	r1   )rE  rj  r  rò   rU  r!  rk  ri  rm  ró  r÷  rô  rø  rõ  c                 ó  ‡‡— t           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 ]8\  }}}dgŠt          j        ||||||¬¦  «        }t          |j        d¦  «         Œ9	 d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Niòà r   c                 ó   — t           j        S rA   rÞ  r-   s    r/   r}   z0TestOptimizeSimple.test_nan_values.<locals>.func)  rß  r1   c                 ó|   •— ‰dxx         dz  cc<   ‰d         dk    rt           j        S ‰                     ¦   «         S r¸  )r+   rÙ  r7   )r.   Úcountr=   s    €€r/   Úfunc2z1TestOptimizeSimple.test_nan_values.<locals>.func2,  s:   ø€ Ø�!ˆHˆHŒH˜‰MˆHˆH‰HØ�QŒx˜!Š|ˆ|Ý”v�à—z’z‘|”|Ð#r1   c                 ó,   — t          j        dg¦  «        S ©Nr\   rg  r-   s    r/   r‚   z0TestOptimizeSimple.test_nan_values.<locals>.grad3  s   € Ý”8˜S˜E‘?”?Ð"r1   c                 ó.   — t          j        dgg¦  «        S r×  rg  r-   s    r/   r†   z0TestOptimizeSimple.test_nan_values.<locals>.hess6  s   € Ý”8˜c˜U˜GÑ$Ô$Ð$r1   r\   ©rU  rõ  rø  rô  r÷  ©rõ  rø  rô  r÷  rk  r  r~  r  rë   rà  údelta_grad == 0.*ú.*does not use Hessian.*ú.*does not use gradient.*©r˜   r†   r—   r™   F)r+   r7   ry  rL   rW  rî   ÚwarningsÚcatch_warningsro  Ú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  sŽ  øø€ õ Œi×#Ò# FÑ+Ô+ˆà�ˆð	ð 	ð 	ð	$ð 	$ð 	$ð 	$ð 	$ð 	$ð	#ð 	#ð 	#ð	%ð 	%ð 	%õ ŒX�s�e‰_Œ_ˆàð  7ð 7ˆ
àð  *ð *ˆ
ð �u�ˆØ$Ð6���¨4°¨,ˆØ$Ð6���¨4°¨,ˆØ%+¨u¢_ _•$˜b�/‘/”/�/½$ÀrÐ:JÑ:JÔ:JˆåŒ[ Ð*Ñ*Ô*ð 	1ð 	1­HÔ,CÑ,EÔ,Eð 	1ð 	1ÝÔ# HÐ.AÅ;ÑOÔOÐOÝÔ#ØÐ4µnñFô Fð FåÔ#ØÐ5µ~ñGô Gð Gõ %Ô,¨U°E¸5ÑAÔAð 1ð 1‘��1�aØ˜�ÝÔ'¨¨2°1¸1ÀVØ07ð9ñ 9ô 9�å˜Sœ[¨%Ñ0Ô0Ð0Ð0ð	1ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1s7   Â"E<Â6B!E$ÅE<Å$E(	Å(E<Å+E(	Å,E<Å<F ÆF )rE  r  rò   r!  rk  rl  ri  rm  ró  r÷  rô  rø  rõ  c           	      óN  — 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 ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          dt          | j        j        ¦  «        ¦  «        D ]L}t          j        | j        j        |dz
           | j        j        |         ¦  «        rt#          d|› �¦  «        ‚ŒMd S )	NrÙ  rÚ  rë   rà  rÛ  rö  r)   zDuplicate evaluations made by )r‚   r†   r+   rî   rß  rà  ro  rá  r
   rª   r}   rf   r8  r¬  rm   rs   Úarray_equalru   )ro   r—   r˜   r†   r…  s        r/   Útest_duplicate_evaluationsz-TestOptimizeSimple.test_duplicate_evaluationsR  sí  € ð ÐˆˆdØð -ð -ð -à”)ˆCØð  ð  ð  à”9ˆDåŒ[ Ð*Ñ*Ô*ð 	Að 	A­HÔ,CÑ,EÔ,Eð 	Að 	AåÔ# HÐ.AÅ;ÑOÔOÐOÝÔ˜dœi¨Ô)9Ø%+°¸4ðAñ Aô Að Að	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Aõ �q�#˜dœjœlÑ+Ô+Ñ,Ô,ð 	?ð 	?ˆAÝŒ~˜dœjœl¨1¨q©5Ô1°4´:´<À´?ÑCÔCð ?Ý"Ø=°VÐ=Ð=ñ?ô ?ð ?ð?ð	?ð 	?s5   °B&Á?BÂB&ÂB	ÂB&ÂB	ÂB&Â&B*Â-B*Ú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    r3t          j        d i |¤dd‰ii¤Ž}	|j        |	j        cxk    r‰k    sn J ‚nÇ|dk    rst          ‰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 ‚d S t          j        d i |¤dd‰ii¤Ž}	|j         	                    d¦  «        sJ ‚|j
        |	j
        cxk    r‰k    sn J ‚|dk    r,|j        |	j        k    sJ ‚t          |j        |	j        ¦  «         |dv r|j        dk    snnJ ‚|dk    r	|j        rJ ‚d S d S )!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                 óR   •— | j          ‰| j        ¦  «        k    sJ ‚ ‰¦   «          d S rA   ©rš   r.   )Úintermediate_resultr"  r|   s    €€r/   Úcallback_interfacezJTestOptimizeSimple.test_callback_stopiteration.<locals>.callback_interfaceƒ  s4   ø€ Ø*Ô.°!°!Ð4GÔ4IÑ2JÔ2JÒJÐJÐJÐJØ�‘
”
�
�
�
r1   r4   c                   ó"   •— e Zd Zdefˆ ˆfd„ZdS )ú@TestOptimizeSimple.test_callback_stopiteration.<locals>.Callbackrö  c                 óR   •— |j          ‰|j        ¦  «        k    sJ ‚ ‰¦   «          d S rA   rõ  )ro   rö  r"  r|   s     €€r/   r  zITestOptimizeSimple.test_callback_stopiteration.<locals>.Callback.__call__ˆ  s4   ø€ Ø.Ô2°a°aÐ8KÔ8MÑ6NÔ6NÒNÐNÐNÐNØ�H‘J”J�J�J�Jr1   N)rŠ   r‹   rŒ   r   r  )r"  r|   s   €€r/   r   rù  ‡  s?   ø€ € € € € ð¸ð ð ð ð ð ð ð ð ð r1   r   c                 ó   •—  ‰¦   «          d S rA   rŽ   )Úxkr–   r"  s     €r/   r÷  zJTestOptimizeSimple.test_callback_stopiteration.<locals>.callback_interface�  s   ø€ Ø�‘
”
�
�
�
r1   c                  óv   •— ‰ xj         dz  c_         d‰ _        ‰ j         ‰k    rd‰ _        t          ¦   «         ‚d S )Nr)   FT)r…  rð  ÚStopIteration)r"  rh   s   €€r/   r"  z@TestOptimizeSimple.test_callback_stopiteration.<locals>.callback�  s?   ø€ ØˆJŒJ˜!‰OˆJŒJØ!ˆHŒMØŒz˜WÒ$Ð$Ø $�”Ý#‘o”oÐ%ð %Ð$r1   r   rX  )rU   r—   rš   r˜   r†   r"  rE  ri  r™   rx  rl  rU   rh   r7  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`rm  >   ri  ró  éc   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  s�  øøø€ ð	%ð 	%ð 	%ð 	%ð 	%ð ˆŒð	)ð 	)ð 	)ð 	)ð 	)ð	*ð 	*ð 	*ð 	*ð 	*ð ˆà˜qÒ Ð ðð ð ð ð ð ð ð  Ò"Ð"ðð ð ð ð ð ð ð ñ ô ð ð "* ¡¤ÐÐðð ð ð ð ð	&ð 	&ð 	&ð 	&ð 	&ð 	&ð ˆŒ
ØˆŒà˜˜a™¨6Ø 1¨að1ð 1ˆõ ÔÐFÐF &ÐFÐFÐ3EÐFÐFÐFˆØ�]Ò"Ð"Ø ‘kˆGØ�XÒÐÝÔ#ÐJÐJ fÐJÐJ°xÀÐ6IÐJÐJÐJˆCØ”8˜sœxÐ2Ð2Ò2Ð2¨7Ò2Ð2Ð2Ð2Ð2Ð2Ð2Ø�xÒÐõ ˜'¥3 v¨d¤|Ñ#4Ô#4°QÑ#6Ñ7Ô7ˆGÝÔ#ÐKÐK fÐKÐK°yÀ'Ð6JÐKÐKÐKˆCØ”: Ò#Ð#Ð#Ð#Ø”;ð $;ò <ð <ð <ð <à”: ’?�?�?�?Ø”;ð $Fò Gð Gð Gð Gð ˆFåÔ#ÐKÐK fÐKÐK°yÀ'Ð6JÐKÐKÐKˆCØ”;×)Ò)Ð*MÑNÔNÐNÐNÐNØ”7˜cœgÐ0Ð0Ò0Ð0¨Ò0Ð0Ð0Ð0Ð0Ð0Ø�WÒÐð ”7˜cœgÒ%Ð%Ð%Ð%Ý˜œ ¤Ñ&Ô&Ð&Ø"(Ð,FÐ"FÐ"FˆsŒz˜QŠˆˆˆˆÐNØ�XÒÐØ”{Ð"Ð"�?ð ÐØ"Ð"r1   c                 ó¸   — d}t          t          |¬¦  «        5  t          j        d„ t	          j        d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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À  s›   € Ø2ˆÝ�:¨SÐ1Ñ1Ô1ð 	<ð 	<ÝÔ˜k˜k­2¬7°6©?¬?Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<s   ™)AÁAÁA)rE  r!  rk  rj  rl  ri  ró  c                 óš  — d„ }t          ddgddg¦  «        }d}t          j        t          |¬¦  «        5  t	          j        |g d¢||¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          g d
¢g d¢¦  «        }d}t          j        t          |¬¦  «        5  t	          j        |g d¢||¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó0   — t          j        | dz  ¦  «        S rA  rB  r-   s    r/   r|   z:TestOptimizeSimple.test_minimize_invalid_bounds.<locals>.fÉ  rD  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Ñ1Ô1ð 	Mð 	MÝÔ˜a I I I°fÀVÐLÑLÔLÐLð	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mõ ˜	˜	˜	 9 9 9Ñ-Ô-ˆØJˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Mð 	MÝÔ˜a I I I°fÀVÐLÑLÔLÐLð	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mð 	Mð 	Ms#   µAÁA Á#A ÂC Ã CÃC)rò   r  rU  rj  c                 ó8  — |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 ¦  «         n# 1 swxY w Y   d|d<   t          j        d„ d	d	gf||d
œ|¤Ž d S )Nrj  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Ñ(9Ô(9€ r1   r   rõ   Fr“   c                 ó*   — t          j        | ¦  «        S rA   r  r-   s    r/   rŠ  zBTestOptimizeSimple.test_minimize_warnings_gh1953.<locals>.<lambda>ä  s   € ¥H¤N°1Ñ$5Ô$5€ r1   )r
   r   r§  r«  rÛ   rª  rª   )ro   r—   rÅ  Úwarning_typer™   s        r/   Útest_minimize_warnings_gh1953z0TestOptimizeSimple.test_minimize_warnings_gh1953Ö  sW  € ð ˜xÒ'Ð'��¨eµXÔ5GÐ-HˆØ*0°(Ò*:Ð*:�˜Ý%Ô5ð 	ð  ¨BÐ/Ð/ˆÝŒ\˜,Ð.>Ð?Ñ?Ô?ð 	Hð 	HÝÔÐ9Ð9¸A¸q¸6ð HØ%+°WðHð HØ@FðHð Hð Hð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hð  ˆ�‰ÝÔÐ5Ð5¸¸1°vð 	DØ!'°ð	Dð 	DØ<Bð	Dð 	Dð 	Dð 	Dð 	Ds   ÁA1Á1A5Á8A5N)+rŠ   r‹   rŒ   rÛ  rã  rç  rñ  rú  r   r
  r  r  r  r$  r*  r.  r1  rG  r\  ra  rr  rÛ   rn  Ú	fail_slowro  rp  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ð 7ð 7ð	Fð 	Fð 	Fð/ð /ð /ð.	#ð 	#ð 	#ð#ð #ð #ðDð Dð Dð4#ð #ð #ð8Cð Cð Cð"ð ð ð(ð (ð (ð4$:ð $:ð $:ðLBð Bð BðBð Bð Bð2 „[×Ò˜2ÑÔØ„[×ÒÐ 5Ñ6Ô6Ø„[×ÒÐ 8Ñ9Ô9Ø„[×Ò˜Xð,ð ,ð ,à.>ñ?ñ@ô @ð=Qð =Qñ	@ô @ñ :Ô9ñ 7Ô6ñ Ôð=Qð~ „[×Ò˜Xð (Lð (Lð (Lñ Mô Mð!ð !ñMô Mð!ð4Fð Fð Fð „[×Ò˜Xð (2ð (2ð (2ñ 3ô 3ð
#ð #ñ3ô 3ð
#ð@ „[×Ò˜Xð (?ð (?ð (?ñ @ô @ðNð Nñ@ô @ðNð"ð "ð "ð(/ð /ð /ð4Hð Hð Hð0ð 0ð 0ðd „[×Ò˜Xð (Gð (Gð (Gñ Hô Hð
01ð 01ñHô Hð
01ðd „[×Ò˜Xð (Gð (Gð (Gñ Hô Hð
?ð ?ñHô Hð
?ð* „[×ÒÐ 8Ñ9Ô9Ø„[×Ò˜XÐ'>Ñ?Ô?Ø„[×ÒÐ/°°°Ñ;Ô;ðO#ð O#ñ <Ô;ñ @Ô?ñ :Ô9ðO#ðb<ð <ð <ð
 „[×Ò˜Xð (8ñ 9ô 9ðMð Mñ9ô 9ðMð „[×Ò˜XÐ'LÐ'LÐ'LÑMÔMðDð Dñ NÔMðDð Dð Dr1   rÑ  r—   )r!  rk  r  rw  ri  c                 ó€   — d„ }t          j        |ddg| ¬¦  «        }|j        sJ ‚t          |j        dgd¬¦  «         d S )Nc                 ó0   — t          j        | dz  ¦  «        S rA  rB  r-   s    r/   r|   z$test_minimize_with_scalar.<locals>.fî  r¡  r1   é   )r  r5  rF  r`   r»   r    )r
   rª   r¾   r   r.   )r—   r|   r­   s      r/   Útest_minimize_with_scalarr  è  sZ   € ðð ð õ Ô
˜A˜r¨;¨-ÀÐ
GÑ
GÔ
G€CØŒ;ÐÐˆ;Ý�C”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                             d	d
dgdd
gd
d
gg¦  «        d„ ¦   «         Zd„ ZdS )ÚTestLBFGSBBoundsc                 ó"   — d| _         d| _        d S )N))r)   N©NN)r)   r   )r&  rg   rn   s    r/   rp   zTestLBFGSBBounds.setup_method÷  s   € Ø/ˆŒØˆŒˆˆr1   r‘  c                 ó<   — 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                 óZ   — |                       ||¦  «        |                      ||¦  «        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¬¦  «         d S )Nr   rK  )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  ss   € ÝÔ(¨¬°A°r°7Ø04´Ø04´ð=ñ =ô =‰ˆˆ1ˆað �Œ} Ò!Ð!Ð! 1 V¤9Ñ!Ô!Ð!Ý˜˜4œ=¨tÐ4Ñ4Ô4Ð4Ð4Ð4r1   c                 ó¼   — t          j        | j        ddgd| j        ¬¦  «        \  }}}|d         dk    sJ |d         ¦   «         ‚t	          || j        d¬¦  «         d S )	Nr   rK  ©r‘  )r–   r&  r²   r!  r;   r    )r
   r  r  r&  r   rg   r"  s       r/   r  z%TestLBFGSBBounds.test_l_bfgs_b_funjac  sn   € åÔ(¨¬°1°b°'ÀØ04´ð=ñ =ô =‰ˆˆ1ˆaà�Œ} Ò!Ð!Ð! 1 V¤9Ñ!Ô!Ð!Ý˜˜4œ=¨tÐ4Ñ4Ô4Ð4Ð4Ð4r1   c                 óÂ   — t          j        | j        ddgd| j        | j        ¬¦  «        }|d         sJ |d         ¦   «         ‚t          |j        | j        d¬¦  «         d S )	Nr   rK  r&  ©r—   r˜   r&  r¾   r#  r;   r    )r
   rª   rš   r˜   r&  r   r.   rg   rl  s     r/   Útest_minimize_l_bfgs_b_boundsz.TestLBFGSBBounds.test_minimize_l_bfgs_b_bounds  sk   € åÔ ¤¨1¨b¨'¸*Ø$(¤H°T´[ðBñ Bô Bˆà�9Œ~Ð-Ð-˜s 9œ~Ñ-Ô-ˆ~Ý˜œ˜tœ}°4Ð8Ñ8Ô8Ð8Ð8Ð8r1   r&  )rÆ   r)   r³  c                 ó¸   — t          j        t          d¬¦  «        5  t          j        | j        ddgd| j        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz	.*bound.*rÏ   r   rK  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  sª   € õ Œ]�:¨[Ð9Ñ9Ô9ð 	;ð 	;ÝÔ˜dœh¨¨B¨¸
Ø"&¤(°6ð;ñ ;ô ;ð ;ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð 	;ð 	;s   œ&AÁAÁAc                 ó  — g d¢}ddg}t          j        ||¦  «        D ]b\  }}t          j        | j        ddg|d|| j        dd i¬¦  «        }|d	         sJ |d
         ¦   «         ‚t          |j        | j        d¬¦  «         Œcd S )Nrê  r%  rŽ   r   rK  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Ô7ð 	=ð 	=‰IˆC�ÝÔ# D¤H¨q°"¨g¸DØ+5Ø(+°D´KØ-CÀTÐ,JðLñ Lô LˆCð �y”>Ð1Ð1 3 y¤>Ñ1Ô1�>Ý˜CœE 4¤=°tÐ<Ñ<Ô<Ð<Ð<ð	=ð 	=r1   Nr%  )rŠ   r‹   rŒ   rp   rš   r˜   r  r#  r  r(  rÛ   rn  rp  r*  r.  rŽ   r1   r/   r  r  ö  sê   € € € € € ðð ð ð-ð -ð -ð -ðð ð ð ð.ð .ð .ð .ð5ð 5ð 5ð5ð 5ð 5ð9ð 9ð 9ð „[×Ò˜XØ
�7Ð	Ø
�7Ð	Ø
�7Ð	ð(ñ ô ð
;ð ;ñô ð
;ð
=ð =ð =ð =ð =r1   r  c                   óh  — e Zd Zd„ Zd!d„Zd„ Zej                             d¦  «        d„ ¦   «         Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zej                             d¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         Zd„ Zd„ Zej                             dddg¦  «        d„ ¦   «         Zej                             d¦  «        ej                             de¦  «        ej                             dddg¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zd S )"ÚTestOptimizeScalarc                 ó   — d| _         d S )Nr6   )rg   rn   s    r/   rp   zTestOptimizeScalar.setup_method4  s   € ØˆŒˆˆr1   r6   c                 ó   — ||z
  dz  dz
  S )zObjective functionr4   rÔ   rŽ   )ro   r.   r{  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 ¦  «         n# 1 swxY w Y   d}t          j        t          |¬
¦  «        5  t          j        | j        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr;   r    ©r—  r³  ©ÚbrackT©rž   r   ©iñÿÿÿrK  é   ú/\(f\(xb\) < f\(xa\)\) and \(f\(xb\) < f\(xc\)\)rÏ   ©rK  r   r)   ú\(xa < xb\) and \(xb < xc\)©r   rK  r)   )r
   Úbrentrš   r   rg   rÛ   r   rQ   )ro   r.   r#  s      r/   Ú
test_brentzTestOptimizeScalar.test_brent;  sÒ  € ÝŒN˜4œ8Ñ$Ô$ˆÝ˜˜4œ=¨tÐ4Ñ4Ô4Ð4åŒN˜4œ8¨8Ð4Ñ4Ô4ˆÝ˜˜4œ=¨tÐ4Ñ4Ô4Ð4åŒN˜4œ8°Ð6Ñ6Ô6ˆÝ˜˜!œ˜dœm°$Ð7Ñ7Ô7Ð7åŒN˜4œ8¨=Ð9Ñ9Ô9ˆÝ˜˜4œ=¨tÐ4Ñ4Ô4Ð4àDˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	7ð 	7ÝŒN˜4œ8¨:Ð6Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 1ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	7ð 	7ÝŒN˜4œ8¨:Ð6Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7s$   Ã*DÄDÄDÄ:E#Å#E'Å*E'rå   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¬¦  «         t          j        | j        d¬	¦  «        }t          || j        ¦  «         g d
¢}|D ]]}t          j        | j        dd¬¦  «        }t          j        | j        |d¬¦  «        }|d         |d         }}t          ||z
  |¦  «         Œ^d}t          j        t          |¬¦  «        5  t          j        | j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          j        | j        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr;   r    r4  r5  Tr7  r   r8  ©r  )r   r)   r×   )rh   rž   r4   r:  rÏ   r;  r<  r=  )	r
   Úgoldenrš   r   rg   r   rÛ   r   rQ   )ro   r.   Úmaxiter_test_casesrh   rU   Únfev0r›   r#  s           r/   Útest_goldenzTestOptimizeScalar.test_goldenP  sk  € åŒO˜DœHÑ%Ô%ˆÝ˜˜4œ=¨tÐ4Ñ4Ô4Ð4åŒO˜DœH¨HÐ5Ñ5Ô5ˆÝ˜˜4œ=¨tÐ4Ñ4Ô4Ð4åŒO˜DœH°$Ð7Ñ7Ô7ˆÝ˜˜!œ˜dœm°$Ð7Ñ7Ô7Ð7åŒO˜DœH¨MÐ:Ñ:Ô:ˆÝ˜˜4œ=¨tÐ4Ñ4Ô4Ð4åŒO˜DœH¨!Ð,Ñ,Ô,ˆÝ˜˜4œ=Ñ)Ô)Ð)à&˜Y˜YÐØ)ð 	0ð 	0ˆGÝ” ¤°1À$ÐGÑGÔGˆBÝ” ¤°'ÀtÐLÑLÔLˆAØ˜Qœ%  1¤�4ˆEÝ˜ ™ wÑ/Ô/Ð/Ð/àDˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	8ð 	8ÝŒO˜DœH¨JÐ7Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð 1ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	8ð 	8ÝŒO˜DœH¨JÐ7Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð 	8ð 	8s$   Å>F&Æ&F*Æ-F*ÇG7Ç7G;Ç>G;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¦  «         d S )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¨¨AÑ.Ô.ˆÝ˜˜1 4Ð(Ñ(Ô(Ð(åÔ˜tœx¨¨AÑ.Ô.ˆÝ˜˜4œ=¨tÐ4Ñ4Ô4Ð4åÔ˜tœx­¬°1°#©¬½¼À!À¹¼ÑFÔFˆÝ˜˜4œ=¨tÐ4Ñ4Ô4Ð4Ý•j¥(Ô"4°d´hÀÀ1ÑEÔEÐEÐEÐEr1   c                 óN  — t          j        t          d¬¦  «        5  t          j        | j        t          j        d¦  «        d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        | j        dt          j        d¦  «        ¦  «        }t          || j
        d¬¦  «         d S )Nz.*must be finite scalars.*rÏ   ©r)   r4   r)   r×   r;   r    )rÛ   r   rQ   r
   rG  rš   r+   rd   rL   r   rg   r  s     r/   Útest_fminbound_scalarz(TestOptimizeScalar.test_fminbound_scalar{  sË   € ÝŒ]�:Ð-IÐJÑJÔJð 	>ð 	>ÝÔ˜tœx­¬°&Ñ)9Ô)9¸1Ñ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>õ Ô˜tœx¨­B¬H°Q©K¬KÑ8Ô8ˆÝ˜˜4œ=¨tÐ4Ñ4Ô4Ð4Ð4Ð4s   œ.AÁAÁAc                 ó8   — d„ }t          j        |dd¦  «         d S )Nc                 ó   — | dz  S rA  rŽ   r-   s    r/   rš   z,TestOptimizeScalar.test_gh11207.<locals>.funƒ  r°  r1   r   )r
   rG  )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¬¦  «         d S )Nr;   r    ÚBrentrº   r_   r  rõ   r4  ©r6   )Úbracketr–   r—   )r—   r–   r8  rB  )r   r)   ÚBounded)r&  r–   r—   r)   rÀ  )r)   r×   Úboundedr×   r6   )r×   r)   ©r&  r—   r–   r4   rF  )r
   Úminimize_scalarrš   r.   r   rg   r¾   rW  r+   rL   rP   rQ   rd   r  s     r/   Útest_minimize_scalarz'TestOptimizeScalar.test_minimize_scalar‡  s®  € åÔ$ T¤XÑ.Ô.Ô0ˆÝ˜˜4œ=¨tÐ4Ñ4Ô4Ð4åÔ$ T¤X°gÐ>Ñ>Ô>ˆØŒyÐÐˆyåÔ$ T¤X°gÝ-1¸!¨_©_¬_ð>ñ >ô >ˆà”9ÐÐˆ}åÔ$ T¤X°xØ*1¸'ðCñ Cô CÜCDð 	
å˜˜4œ=¨tÐ4Ñ4Ô4Ð4åÔ$ T¤X°gØ*0ð2ñ 2ô 2Ü23ð 	
å˜˜4œ=¨tÐ4Ñ4Ô4Ð4åÔ$ T¤X°}Ø*1¸'ðCñ Cô CÜCDð 	
å˜˜4œ=¨tÐ4Ñ4Ô4Ð4åÔ$ T¤X°xØ*1¸(ðDñ Dô DÜDEð 	
å˜˜4œ=¨tÐ4Ñ4Ô4Ð4åÔ$ T¤X°hØ*0ð2ñ 2ô 2Ü23ð 	
å˜˜4œ=¨tÐ4Ñ4Ô4Ð4åÔ$ T¤X°}Ø*1¸(ðDñ Dô DÜDEð 	
å˜˜4œ=¨tÐ4Ñ4Ô4Ð4åÔ$ T¤X°fÀ6Ø,5ð7ñ 7ô 7Ü78ð 	
å˜˜1 4Ð(Ñ(Ô(Ð(åÔ$ T¤X°fÀ7Ø,5ð7ñ 7ô 7Ü78ð 	
å˜˜4œ=¨tÐ4Ñ4Ô4Ð4åÔ$ T¤Xµr´xÀÀ±}´}Ý79´xÀÀ±}´}ð7Få+-¬8°S°E©?¬?Ð*=Ø,5ð7ñ 7ô 7ô 89ð 	
õ 	˜˜4œ=¨tÐ4Ñ4Ô4Ð4å•j¥(Ô":¸D¼HØ#¨I¸Gð	Eñ 	Eô 	Eð 	Eõ 	•j¥(Ô":¸D¼HÝ œh q™kœk¨1Ð-°iÀgð	Oñ 	Oô 	Oð 	Oõ Ô$ T¤X°q½"¼(À1¹+¼+Ð6FØ,5ð7ñ 7ô 7Ü78ð 	
å˜˜4œ=¨tÐ4Ñ4Ô4Ð4Ð4Ð4r1   c                 ó    — 	 	 dd„}t          j        | j        d|t          d¬¦  «        ¬¦  «        }t	          |j        | j        d	¬
¦  «         d S )NrŽ   r>   r5  c                 ó>  — |d         |d         z   dz  } | |¦  «        }	d}
d}d}d}|rX|sV||k     rPd}|dz  }||z
  ||z   fD ]} | |g|¢R Ž }|
dz  }
||	k     r|}	|}d}Œ|� ||¦  «         |�	|
|k    rd}n
|r|s||k     °Pt          j        |	|||
|dk    ¬¦  «        S )Nr)   r   r‘  TFrJ  r`  )rš   rR  r–   rx  rL  rh   r"  r™   rM  rN  rO  rP  rQ  rR  rU  rV  s                   r/   rW  z?TestOptimizeScalar.test_minimize_scalar_custom.<locals>.custminÅ  s)  € à˜Q”Z '¨!¤*Ñ,°Ñ3ˆEØ�C˜‘J”JˆEØˆHØˆEØˆHØˆDàð  4ð ¨E°GªO¨OØ �Ø˜‘
�Ø# hÑ.°¸Ñ0@ÐAð (ð (�EØ˜C Ð-¨Ð-Ð-Ð-�EØ ‘M�HØ˜u’}�}Ø %˜Ø %˜Ø#'˜øØÐ'Ø�H˜U‘O”O�OØÐ%¨(°fÒ*<Ð*<Ø�DØð ð  4ð ¨E°GªO¨Oõ  Ô*¨u¸À5Ø08À5È1Â9ðOñ Oô Oð Or1   )r   r¤   rY  rZ  )rR  r—   r™   r;   r    r[  )r
   rV  rš   rW  r   r.   rg   )ro   rW  r­   s      r/   Útest_minimize_scalar_customz.TestOptimizeScalar.test_minimize_scalar_customÃ  st   € àADØ*.ð	Oð 	Oð 	Oð 	Oõ8 Ô& t¤x¸Ø.5Ý/3¸TÐ/BÑ/BÔ/BðDñ Dô Dˆõ 	˜œ˜tœ}°4Ð8Ñ8Ô8Ð8Ð8Ð8r1   c                 ó<   — t          j        | j        d¬¦  «         d S )Nr6   ©r–   ©r
   rV  rš   rn   s    r/   Ú&test_minimize_scalar_coerce_args_paramz9TestOptimizeScalar.test_minimize_scalar_coerce_args_paramæ  s    € åÔ  ¤°Ð4Ñ4Ô4Ð4Ð4Ð4r1   r—   )r>  rT  rB  c                 óJ   — dD ]}t          j        | j        d|i¬¦  «         Œ d S )N)r   r)   r4   r_   r“   )r™   r]  )ro   r—   r“   s      r/   Ú	test_dispzTestOptimizeScalar.test_dispê  s@   € ð !ð 	Gð 	GˆDÝÔ$ T¤X¸À°~ÐFÑFÔFÐFÐFð	Gð 	G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 ‚d S )NrT  r&  r±  rÆ   r—   r.   r¾   r#  rš   r›   rø   )r
   rV  rš   rt   )ro   r—   rÅ  rN  s       r/   Útest_result_attributesz)TestOptimizeScalar.test_result_attributesð  sÈ   € à*0°IÒ*=Ð*=�(˜S "˜IÐ&Ð&À2ˆÝÔ)¨$¬(ÐLÐL¸6ÐLÀVÐLÐ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 ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   c                 óŽ   •— ‰dxx         dz  cc<   ‰d         dk    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  sG   ø€ Ø�!ˆHˆHŒH˜‰MˆHˆH‰HØ�QŒx˜!Š|ˆ|Ý”v�à˜!‘t˜c¥B¤F¨1¡I¤I™oÑ-Ð-r1   r;  r§  rë   rà  rÛ  rÜ  rÝ  rT  r&  rR  r  r  rõ   F)r+   rî   rß  rà  ro  rá  r§  r
   rV  rW  r   r¾   )ro   r—   r}   rR  r&  rÅ  r¿   rÔ  s          @r/   rè  z"TestOptimizeScalar.test_nan_valuesû  sç  ø€ ð
 �ˆð	.ð 	.ð 	.ð 	.ð 	.ð ˆØˆåŒ[ Ð*Ñ*Ô*ð 	-ð 	-­HÔ,CÑ,EÔ,Eð 	-ð 	-ÝÔ# HÐ.AÅ;ÑOÔOÐOÝÔ#ØÐ4µnñFô Fð FåÔ#ØÐ5µ~ñGô Gð Gð �CˆEà+1°YÒ+>Ð+>�h Ð'Ð'ÀBˆFÝÔ*¨4ð Eð E¸ð EØ-3ðEØ<BÝ37ÀÐ3CÑ3CÔ3CðEð Eð Eð EˆCõ ˜œ eÑ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-s5   £C8·BC ÃC8Ã C$	Ã$C8Ã'C$	Ã(C8Ã8C<Ã?C<c                 ó¾   — d„ }t          j        |¦  «        }t          |j        dd¬¦  «         t          j        |dddi¬¦  «        }t          |j        d	¦  «         d S )
Nc                 ó   — | dz  S rA  rŽ   r-   s    r/   r|   zCTestOptimizeScalar.test_minimize_scalar_defaults_gh10911.<locals>.f  r°  r1   r   rÿ   r    )r)   r5  r�  r´  )r&  r™   r)   )r
   rV  r   r.   )ro   r|   r­   s      r/   Ú%test_minimize_scalar_defaults_gh10911z8TestOptimizeScalar.test_minimize_scalar_defaults_gh10911  sx   € ð	ð 	ð 	õ Ô& qÑ)Ô)ˆÝ˜œ˜q tÐ,Ñ,Ô,Ð,åÔ& q°Ø07¸Ð/?ðAñ Aô Aˆå˜œ˜qÑ!Ô!Ð!Ð!Ð!r1   c                 óˆ  — d}t          j        t          |¬¦  «        5  t          j        t
          j        dt
          j        f¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          j        t
          j        t
          j        df¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz+Optimization bounds must be finite scalars.rÏ   r)   r²  )	rÛ   r   rQ   r
   rV  r+   rB   rº  rÙ  r  s     r/   Ú'test_minimize_non_finite_bounds_gh10911z:TestOptimizeScalar.test_minimize_non_finite_bounds_gh10911(  sM  € ð <ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Að 	AÝÔ$¥R¤V°Q½¼°KÐ@Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	AåŒ]�:¨SÐ1Ñ1Ô1ð 	Að 	AÝÔ$¥R¤VµR´V¸Q°KÐ@Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	As#   ž-AÁAÁAÁ=-B7Â7B;Â>B;r>  rB  c                 ó´   — d}t          j        t          |¬¦  «        5  t          j        t
          j        |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz'Use of `bounds` is incompatible with...rÏ   rJ  ©r—   r&  )rÛ   r   rQ   r
   rV  r+   rB   )ro   r—   r†  s      r/   Ú2test_minimize_unbounded_method_with_bounds_gh10911zETestOptimizeScalar.test_minimize_unbounded_method_with_bounds_gh109111  s°   € ð 8ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Kð 	KÝÔ$¥R¤V°FÀ6ÐJÑJÔJÐJð	Kð 	Kð 	Kñ 	Kô 	Kð 	Kð 	Kð 	Kð 	Kð 	Kð 	Kð 	Køøøð 	Kð 	Kð 	Kð 	Kð 	Kð 	Ks   ž"AÁAÁArs  r  r)   r;   Úfshape)rŽ   ©r)   ©r)   r)   c                 óZ  ‡— ˆfd„}d\  }}|dk    rt          ||f¬¦  «        nt          ||f¬¦  «        }|                     t          ||¬¦  «        ¦  «         t          j        |fi |¤Ž}|j        j        |j        j        cxk    r  ||j        ¦  «        j        cxk    r‰k    sn J ‚d S )Nc                 óX   •— t          j        | dz  ¦  «                             ‰¦  «        S ©Nr¤   )r+   rL   Úreshape)r.   rm  s    €r/   r|   zITestOptimizeScalar.test_minimize_scalar_dimensionality_gh16196.<locals>.fA  s#   ø€ Ý”8˜A˜q™D‘>”>×)Ò)¨&Ñ1Ô1Ð1r1   )r	  rI   rT  )rR  r²  )r—   r  )rW  Úupdater
   rV  r.   Úshaperš   )	ro   r—   r  rm  r|   r{  ÚbrÅ  r­   s	      `     r/   Ú+test_minimize_scalar_dimensionality_gh16196z>TestOptimizeScalar.test_minimize_scalar_dimensionality_gh161969  sá   ø€ ð	2ð 	2ð 	2ð 	2ð 	2ð ‰ˆˆ1Ø*0°IÒ*=Ð*=•$  1˜vÐ&Ñ&Ô&Ð&Ý A q 6Ð*Ñ*Ô*ð 	à�Š•d &¨cÐ2Ñ2Ô2Ñ3Ô3Ð3åÔ& qÐ3Ð3¨FÐ3Ð3ˆØŒuŒ{˜cœgœmÐGÐGÒGÐG¨q¨q°´©x¬x¬~ÐGÐGÒGÐGÀÒGÐGÐGÐGÐGÐGÐGÐGr1   )rT  r>  rB  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 ¦  «         n# 1 swxY w Y   d|d<   t          j        |f||dœ|¤Ž d S )Nc                 ó   — | dz
  dz  S r3   rŽ   r-   s    r/   r|   zBTestOptimizeScalar.test_minimize_scalar_warnings_gh1953.<locals>.fP  rŽ  r1   rT  r&  rR  r³  rÆ   Tr_   r  r  rÏ   rõ   Fr“   )rÛ   rª  r
   r«  rV  )ro   r—   r|   rÅ  Úkwdr™   s         r/   Ú$test_minimize_scalar_warnings_gh1953z7TestOptimizeScalar.test_minimize_scalar_warnings_gh1953L  s  € ð	ð 	ð 	ð ˆØ  IÒ-Ð-ˆhˆh°9ˆØ˜2�hˆˆs‰à¨AÐ.Ð.ˆÝŒ\�(Ô2Ð:JÐKÑKÔKð 	/ð 	/ÝÔ$ Qð /¨v¸wð /ð /Ø'-ð/ð /ð /ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð  ˆ�‰ÝÔ  ÐM¨6¸7ÐMÐMÀfÐMÐMÐMÐMÐMs   ¼AÁA"Á%A"NrQ  )rŠ   r‹   rŒ   rp   rš   r?  rÛ   rn  ro  rE  rH  rK  rN  rW  rZ  r^  rp  r`  rb  rè  rg  ri  rl  r   rw  r{  rŽ   r1   r/   r0  r0  3  s¹  € € € € € ðð ð ð ð  ð  ð  ð7ð 7ð 7ð* „[×ÒÐ 5Ñ6Ô6ð8ð 8ñ 7Ô6ð8ð>	Fð 	Fð 	Fð5ð 5ð 5ð&ð &ð &ð
:5ð :5ð :5ðx!9ð !9ð !9ðF5ð 5ð 5ð „[×Ò˜XÐ'EÐ'EÐ'EÑFÔFðGð Gñ GÔFðGð
 „[×Ò˜XÐ'EÐ'EÐ'EÑFÔFð&ð &ñ GÔFð&ð „[×ÒÐ 5Ñ6Ô6Ø„[×Ò˜XÐ'EÐ'EÐ'EÑFÔFð-ð -ñ GÔFñ 7Ô6ð-ð<"ð "ð "ðAð Að Að „[×Ò˜X¨°Ð':Ñ;Ô;ðKð Kñ <Ô;ðKð „[×ÒÐ 8Ñ9Ô9Ø„[×Ò˜XÐ'>Ñ?Ô?Ø„[×Ò˜U Q¨ IÑ.Ô.Ø„[×Ò˜XÐ'9Ð'9Ð'9Ñ:Ô:ðHð Hñ ;Ô:ñ /Ô.ñ @Ô?ñ :Ô9ðHð „[×Ò˜XÐ'EÐ'EÐ'EÑFÔFðNð Nñ GÔFðNð Nð Nr1   r0  c                   óœ   — e Zd Zej                             d¦  «        d„ ¦   «         Zej                             dd¦  «        d„ ¦   «         ZdS )ÚTestBracketrs  c                 ó  — d„ }d}t          j        t          |¬¦  «        5  t          j        |dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          j        |dt
          j        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          j        |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          j        |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d„ }d	}t          j        t          |¬¦  «        5  t          j        |d
dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó*   — d| k     | dk     z  r| dz  ndS ©NrK  r)   r4   g      Y@rŽ   r-   s    r/   r|   z3TestBracket.test_errors_and_status_false.<locals>.fe  ó"   € Ø !šV¨¨AªÑ.Ð:�1�a‘4�4°UÐ:r1   ú9The algorithm terminated without finding a valid bracket.rÏ   rK  r)   r§  r5  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
   rR  r+   rº  r>  rB  )ro   r|   r#  s      r/   Útest_errors_and_status_falsez(TestBracket.test_errors_and_status_falseb  sÄ  € ð	;ð 	;ð 	;ð NˆÝŒ]�<¨wÐ7Ñ7Ô7ð 	'ð 	'ÝÔ˜Q  AÑ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'åŒ]�<¨wÐ7Ñ7Ô7ð 	,ð 	,ÝÔ˜Q ¥B¤FÑ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,åŒ]�<¨wÐ7Ñ7Ô7ð 	-ð 	-ÝŒN˜1 GÐ,Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-åŒ]�<¨wÐ7Ñ7Ô7ð 	.ð 	.ÝŒO˜A WÐ-Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð	Lð 	Lð 	Lð MˆÝŒ]�<¨wÐ7Ñ7Ô7ð 	7ð 	7ÝÔ˜Q  c°2Ð6Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7sY   ¡AÁAÁAÁ*!BÂBÂBÂ=C Ã C$Ã'C$ÄD)Ä)D-Ä0D-ÅE:Å:E>ÆE>r—   )r>  rB  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 ‚d S )Nc                 ó*   — d| k     | dk     z  r| dz  ndS r€  rŽ   r-   s    r/   r|   z9TestBracket.test_minimize_scalar_success_false.<locals>.f|  r�  r1   r‚  r§  )rR  r—   r_   r   r5  )r
   rV  r¾   r#  r›   rø   rš   )ro   r—   r|   r#  r­   s        r/   Ú"test_minimize_scalar_success_falsez.TestBracket.test_minimize_scalar_success_falsey  s�   € ð	;ð 	;ð 	;ð NˆåÔ& q°'À&ÐIÑIÔIˆØ”;ÐÐˆØ˜#œ+Ð%Ð%Ð%Ð%ØŒx˜1Š}ˆ}ˆ}ˆ}ØŒw˜!Š|ˆ|ˆ|ˆ|ØŒw˜#Š~ˆ~ˆ~ˆ~ˆ~ˆ~r1   N)	rŠ   r‹   rŒ   rÛ   rn  ro  r†  rp  r‰  rŽ   r1   r/   r}  r}  `  sn   € € € € € à„[×ÒÐ 8Ñ9Ô9ð7ð 7ñ :Ô9ð7ð, „[×Ò˜XÐ':Ñ;Ô;ðð ñ <Ô;ðð ð r1   r}  c                  ó^   — t          t          t          j        t          j        d¬¦  «         d S )Ng{®Gáz„¿rA  )rP   rQ   r
   r>  r+   rG   rŽ   r1   r/   Útest_brent_negative_tolerancer‹  ‰  s#   € Ý•*�hœn­b¬f¸$Ð?Ñ?Ô?Ð?Ð?Ð?r1   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestNewtonCgc                 ó$  — 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¬¦  «         d S ©	Nrý   r\   r»   rL  ©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Ž  sˆ   € ÝŒX�t˜S�kÑ"Ô"ˆÝÔ¥¤°Ý$,Ô$6Ý%-Ô%8Ø$(Ø'2ð	4ñ 4ô 4ˆð
 Œ{Ð'Ð'˜CœKÑ'Ô'ˆ{Ý˜œ�rœ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¬¦  «         d S )NrL  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˜  s†   € ÝŒX•mÑ$Ô$ˆÝÔ¥
Ø "Ý$3Ý%4Ø'2Ø$(ð*ñ *ô *ˆð Œ{Ð'Ð'˜CœKÑ'Ô'ˆ{Ý˜œ�°TÐ:Ñ:Ô:Ð:Ý˜œ¥°dÐ;Ñ;Ô;Ð;Ð;Ð;r1   c                 ó  — 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¬	¦  «         d S )
Nrý   r\   rë  r»   rL  r�  r)   rÀ  r¼   )
r+   rL   r
   rª   r   r   r¾   r#  r   r.   r‘  s      r/   Útest_finite_differencez#TestNewtonCg.test_finite_difference¤  s…   € ÝŒX�t˜S�kÑ"Ô"ˆÝÔ¥¤°Ý$,Ô$6Ø%.Ø$(Ø'2ð	4ñ 4ô 4ˆð
 Œ{Ð'Ð'˜CœKÑ'Ô'ˆ{Ý˜œ�rœx¨¨A¨Ñ/Ô/°dÐ;Ñ;Ô;Ð;Ð;Ð;r1   c                 ó2  — 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¬¦  «         d S r�  )r+   rL   r
   rª   r   r   rÂ   r¾   r#  r   r.   r‘  s      r/   Útest_hessian_update_strategyz)TestNewtonCg.test_hessian_update_strategy®  s‹   € ÝŒX�t˜S�kÑ"Ô"ˆÝÔ¥¤°Ý$,Ô$6Ý%-¤]¡_¤_Ø$(Ø'2ð	4ñ 4ô 4ˆð
 Œ{Ð'Ð'˜CœKÑ'Ô'ˆ{Ý˜œ�rœx¨¨A¨Ñ/Ô/°dÐ;Ñ;Ô;Ð;Ð;Ð;r1   N)rŠ   r‹   rŒ   r’  r—  r™  r›  rŽ   r1   r/   r�  r�  �  sP   € € € € € ð<ð <ð <ð
<ð 
<ð 
<ð<ð <ð <ð<ð <ð <ð <ð <r1   r�  c                  óB  — 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 ]<\  }}}}	 | ||||¦  «        \  }
}t          |
|d¬¦  «         t          ||	d¬¦  «         Œ=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 ]<\  }}}}	 | ||||¦  «        \  }
}t          |
|d¬¦  «         t          ||	d¬¦  «         Œ=d S )N)ç333333ÀrK  r¸   r—  )rÕ   r)   çffffff@r_   ©r`   r   r   r   )r`   r4   r—  r   ©r\   r   r   r   r�  rÕ   ©r`   r)   r   r   rK  r)   ©r`   r   r)   r   r¸   rž  ©r`   r   r   r)   r—  r_   )r\   r)   r   r   )r\   r   rK  r4   r6   )r‘  r   rK  r4   gffffffî?g333333@)r\   r   rK  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¯  ¹  s%  € õ
 Ô(Ô9€Oõ ”(Ð/Ð/Ð/Ñ0Ô0€KÝ”(Ð+Ð+Ð+Ñ,Ô,€Kõ 
Œ�-�-�-Ñ	 Ô	 €Bå	Œ�.�.�.Ñ	!Ô	!€Bð 
�RŒX�m�m�mÑ$Ô$ d¨CÐ0Ø	�RŒX�m�m�mÑ$Ô$ b¨!Ð,Ø	�RŒX�m�m�mÑ$Ô$ d¨CÐ0Ø	�RŒX�m�m�mÑ$Ô$ b¨!Ð,Ø	�RŒX�m�m�mÑ$Ô$ b¨!Ð,Ø	�RŒX�n�n�nÑ%Ô% t¨SÐ1Ø	�RŒX�n�n�nÑ%Ô% t¨TÐ2Ø	�RŒX�m�m�mÑ$Ô$ d¨CÐ0Ø	�RŒX�m�m�mÑ$Ô$ b¨"Ð-Ø	�RŒX�m�m�mÑ$Ô$ c¨3Ð/Ø	�RŒX�m�m�mÑ$Ô$ b¨!Ð,Ø	�RŒX�m�m�mÑ$Ô$ b¨"Ð-Ø	�RŒX�n�n�nÑ%Ô% t¨TÐ2ð€Ið  !*ð -ð -Ñˆˆ5�$˜Ø �  E¨;¸ÑDÔD‰ˆˆBÝ˜˜D tÐ,Ñ,Ô,Ð,Ý˜˜D tÐ,Ñ,Ô,Ð,Ð,õ ”(�RœV˜G R­"¬&¨°"Ð5Ñ6Ô6€KÝ”(�BœF A s­B¬FÐ3Ñ4Ô4€Kð 
�RŒX�m�m�mÑ$Ô$¥r¤v g­r¬vÐ6Ø	�RŒX�m�m�mÑ$Ô$ b¨!Ð,Ø	�RŒX�m�m�mÑ$Ô$¥r¤v g¨sÐ3Ø	�RŒX�m�m�mÑ$Ô$ b­"¬&Ð1Ø	�RŒX�m�m�mÑ$Ô$ b¨!Ð,Ø	�RŒX�n�n�nÑ%Ô% t­R¬VÐ4Ø	�RŒX�m�m�mÑ$Ô$¥r¤v g­r¬vÐ6Ø	�RŒX�m�m�mÑ$Ô$ b¨"Ð-Ø	�RŒX�m�m�mÑ$Ô$¥r¤v g¨sÐ3Ø	�RŒX�m�m�mÑ$Ô$ b­"¬&Ð1Ø	�RŒX�m�m�mÑ$Ô$ b¨"Ð-Ø	�RŒX�n�n�nÑ%Ô% t­R¬VÐ4ð€Ið !*ð -ð -Ñˆˆ5�$˜Ø �  E¨;¸ÑDÔ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¬¦  «         ŒÀd S )Nc                 ó^   — 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�q�2œ8Ð$:Ð$:Ð$:Ñ;Ô;Ñ;ÀÑAÑBÔBÐBr1   rŸ  r¤   r   rK  r¡  r4   r¢  r6   r£  r³  ©rÊ  r   r)   r   ç      ô?©r`   r   r)   r)   çš™™™™™á?©r‘  r   rK  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Ã  ø  s6  € å Ô*Ô=ÐðCð Cð Cå	Œ�-�-�-Ñ	 Ô	 €BØˆ4�‰8Œ8€DÝ”(�RœV˜G˜9 q™=Ñ)Ô)€KÝ”(�BœF˜8 a™<Ñ(Ô(€Kõ 
Œ�-�-�-Ñ	 Ô	  "Ð%Ý	Œ�-�-�-Ñ	 Ô	  !Ð$Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�.�.�.Ñ	!Ô	! 4Ð(Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�.�.�.Ñ	!Ô	! 4Ð(ð€Ið ð 6ð 6‰ˆˆAØ+Ð+¨D°"°bØ15¸4ðAñ Aô A‰ˆˆ1ˆiå˜˜4˜4  B¡™<œ<¨dÐ3Ñ3Ô3Ð3Ý˜˜1˜r™6¨Ð-Ñ-Ô-Ð-Ý˜	 1 r¡6°Ð5Ñ5Ô5Ð5à+Ð+¨D°"°b¸dØ8CØ8CØ15ð7ñ 7ô 7‰ˆˆ1ˆiõ 	˜˜4˜4  B¡™<œ<¨dÐ3Ñ3Ô3Ð3Ý˜˜1˜r™6¨Ð-Ñ-Ô-Ð-Ý˜	 1 r¡6°Ð5Ñ5Ô5Ð5Ð5ð6ð 6r1   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 ]c\  }} | |||d|||¬¦  «        \  }	}
}t          |	 |||z  ¦  «        d¬¦  «         t          |
||z  d¬¦  «         t          |||z  d¬¦  «         Œdt          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 ]c\  }} | |||d|||¬¦  «        \  }	}
}t          |	 |||z  ¦  «        d¬¦  «         t          |
||z  d¬¦  «         t          |||z  d¬¦  «         Œdt          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 ]i\  }} | |||d|||¬¦  «        \  }	}
}t          |	 ||||z  z   ¦  «        d¬¦  «         t          |
|||z  z   d¬¦  «         t          |||z  d¬¦  «         Œjt          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 ]c\  }} | |||d|||¬¦  «        \  }	}
}t          |	 |||z  ¦  «        d¬¦  «         t          |
||z  d¬¦  «         t          |||z  d¬¦  «         Œdt          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 ]i\  }} | |||d|||¬¦  «        \  }	}
}t          |	 ||||z  z   ¦  «        d¬¦  «         t          |
|||z  z   d¬¦  «         t          |||z  d¬¦  «         Œjd S )!Nc                 ó^   — 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   rK  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Æ  	  s  € å Ô*Ô=ÐðCð Cð Cå	Œ�-�-�-Ñ	 Ô	 €BØˆ4�‰8Œ8€Dõ ”(˜C˜5 ™7Ñ#Ô#€KÝ”(˜B˜4 ™6Ñ"Ô"€Kõ 
Œ�-�-�-Ñ	 Ô	  "Ð%Ý	Œ�-�-�-Ñ	 Ô	  !Ð$Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�.�.�.Ñ	!Ô	! 4Ð(Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�.�.�.Ñ	!Ô	! 4Ð(ð€Ið ð 6ð 6‰ˆˆAØ+Ð+¨D°"°b¸dØ8CØ8CØ15ð7ñ 7ô 7‰ˆˆ1ˆiõ 	˜˜4˜4  B¡™<œ<¨dÐ3Ñ3Ô3Ð3Ý˜˜1˜r™6¨Ð-Ñ-Ô-Ð-Ý˜	 1 r¡6°Ð5Ñ5Ô5Ð5Ð5õ ”(˜C˜5 ™7 b T™>Ñ*Ô*€KÝ”(˜C˜5 ™7 b T™>Ñ*Ô*€Kõ 
Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�.�.�.Ñ	!Ô	! 2Ð&Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�.�.�.Ñ	!Ô	! 4Ð(ð€Ið ð 6ð 6‰ˆˆAØ+Ð+¨D°"°b¸dØ8CØ8CØ15ð7ñ 7ô 7‰ˆˆ1ˆiõ 	˜˜4˜4  B¡™<œ<¨dÐ3Ñ3Ô3Ð3Ý˜˜1˜r™6¨Ð-Ñ-Ô-Ð-Ý˜	 1 r¡6°Ð5Ñ5Ô5Ð5Ð5õ 
Œ�.�.�.Ñ	!Ô	!€BØˆ4�‰8Œ8€Dõ 
Œ�-�-�-Ñ	 Ô	  "Ð%Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�-�-�-Ñ	 Ô	  $Ð'ð	€Ið ð 6ð 6‰ˆˆAØ+Ð+¨D°"°b¸dØ8CØ8CØ15ð7ñ 7ô 7‰ˆˆ1ˆiõ 	˜˜4˜4  Q¨¡V¡Ñ,Ô,°4Ð8Ñ8Ô8Ð8Ý˜˜2  B¡™;¨TÐ2Ñ2Ô2Ð2Ý˜	 1 r¡6°Ð5Ñ5Ô5Ð5Ð5õ 
Œ�-�-�-Ñ	 Ô	 €BØˆ4�‰8Œ8€Dõ ”(˜C¥"¤& ­2¬6¨'°2Ð6Ñ7Ô7€KÝ”(�BœF C­¬°Ð4Ñ5Ô5€Kõ 
Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�.�.�.Ñ	!Ô	! 2Ð&Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�.�.�.Ñ	!Ô	! 4Ð(ð€Ið ð 6ð 6‰ˆˆAØ+Ð+¨D°"°b¸dØ8CØ8CØ15ð7ñ 7ô 7‰ˆˆ1ˆiõ 	˜˜4˜4  B¡™<œ<¨dÐ3Ñ3Ô3Ð3Ý˜˜1˜r™6¨Ð-Ñ-Ô-Ð-Ý˜	 1 r¡6°Ð5Ñ5Ô5Ð5Ð5õ 
Œ�.�.�.Ñ	!Ô	!€BØˆ4�‰8Œ8€Dõ 
Œ�-�-�-Ñ	 Ô	  "Ð%Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�-�-�-Ñ	 Ô	  #Ð&Ý	Œ�-�-�-Ñ	 Ô	  $Ð'ð	€Ið ð 6ð 6‰ˆˆAØ+Ð+¨D°"°b¸dØ8CØ8CØ15ð7ñ 7ô 7‰ˆˆ1ˆiõ 	˜˜4˜4  Q¨¡V¡Ñ,Ô,°4Ð8Ñ8Ô8Ð8Ý˜˜2  B¡™;¨TÐ2Ñ2Ô2Ð2Ý˜	 1 r¡6°Ð5Ñ5Ô5Ð5Ð5ð6ð 6r1   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‰¬¦  «         d S )Nr   ç333333ã?r  c                 óœ   •— | \  }}| ‰j         k                         ¦   «         r| ‰j        k                         ¦   «         sJ ‚|dz  |dz  z   S rA  )ÚlbrK   Úub)r.   r{  rv  r&  s      €r/   rš   ztest_powell_limits.<locals>.funŸ	  sS   ø€ Ø‰ˆˆ1Ø�V”Y’×#Ò#Ñ%Ô%Ð@¨1°´	ª>×*>Ò*>Ñ*@Ô*@Ð@Ð@Ð@Ø�A‰v˜˜Q™‰Ðr1   r  r  r)   T)rÊ  rË  Úkeep_feasiblec                 óF   — | 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ˆv˜!˜qš&˜&˜&Ð ÝŒv�a‰yŒyÐr1   r^   rj  )rš   rU   r—   r&  )r
   r   rª   )rš   r}   r&  s     @r/   Útest_powell_limitsrÎ  ›	  s¦   ø€ åŒ_˜a ˜V c¨2 YÑ/Ô/€Fðð ð ð ð õ
 Ô�c˜s B˜i°ÀÐHÑHÔHÐHõ Œ_  ¨!¨¸d¸WÐEÑEÔE€Fðð ð õ Ô˜$ C 5°À&ÐIÑIÔIÐIÐIÐIr1   c                  ó�   — t           d„ d„ g} | D ]6}t          j        |ddgd¬¦  «        }t          j        |j        ¦  «        sJ ‚Œ7d S )Nc                 óD   — t          j        t          | ¦  «        ¦  «        S rA   ©r+   rL   r   r-   s    r/   rŠ  z$test_powell_output.<locals>.<lambda>±	  s   € �RœX¥e¨A¡h¤hÑ/Ô/€ r1   c                 óF   — t          j        t          | ¦  «        g¦  «        S rA   rÑ  r-   s    r/   rŠ  z$test_powell_output.<locals>.<lambda>±	  s   € ½2¼8ÅUÈ1ÁXÄXÀJÑ;OÔ;O€ r1   rÈ  r  r  )rU   r—   )r   r
   rª   r+   Úisscalarrš   )Úfunsrš   r­   s      r/   Útest_powell_outputrÕ  °	  se   € ÝÐ/Ð/Ð1OÐ1OÐP€DØð $ð $ˆÝÔ ¨¨b¨	¸(ÐCÑCÔCˆÝŒ{˜3œ7Ñ#Ô#Ð#Ð#Ð#Ð#ð$ð $r1   c                   ó°   — e Zd Z eej        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Z eej	        ej
        ¦  «        d„ ¦   «         ZdS )Ú	TestRosenc                 óž   — |                      g d¢¦  «        }t          t          j        |¦  «        |                      d¦  «        ¦  «         d S )Nr[   r`   )r‚  r#   r
   r   ©ro   r  r.   s      r/   Ú
test_rosenzTestRosen.test_rosen¸	  sN   € ð �JŠJ�y�y�yÑ!Ô!ˆÝ�œ qÑ)Ô)ØŸ
š
 2™œñ	(ô 	(ð 	(ð 	(ð 	(r1   c           	      óÒ   — |                      g d¢¦  «        }t          t          j        |¦  «        |                     ||                      d¦  «        j        ¬¦  «        ¦  «         d S )N)r)   r)   r)   r)   r\   )r•  )r‚  r#   r
   r   Ú
zeros_liker•  rÙ  s      r/   Útest_rosen_derzTestRosen.test_rosen_der¿	  se   € à�JŠJ�|�|�|Ñ$Ô$ˆÝ�Ô*¨1Ñ-Ô-ØŸš a¨r¯zªz¸"©~¬~Ô/C˜ÑDÔDñ	Fô 	Fð 	Fð 	Fð 	Fr1   c                 ó:  — |                      d¦  «        }|                      g d¢¦  «        }|                      g d¢¦  «        }t          j        ||¦  «        }|                     ||j        ¦  «        }t          j        |¦  «        |z  }t          ||¦  «         d S )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Å	  s�   € à�jŠj˜‰nŒnˆð �JŠJ�y�y�yÑ!Ô!ˆØ�JŠJ�y�y�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×  ·	  s˜   € € € € € ØÐ�x”~Ñ&Ô&ð(ð (ñ 'Ô&ð(ð Ð�xÔ)Ñ*Ô*ðFð Fñ +Ô*ðFð
 Ð�xÔ*¨HÔ,DÑEÔEð	#ð 	#ñ FÔEð	#ð 	#ð 	#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.   r:  r{  rv  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   é   é   rZ  rg  ©r�   r.   r:  s      r/   rR   rR   Ý	  s‡   € Ø�D€A€qÝŒ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è  rg  ré  s      r/   rS   rS   ã	  su   € Ø�D€A€qÝŒ8�b˜˜A™‘g  !¡‘m bÑ(¨!¨A©#°°!±©)Ð4Ø˜‘c˜A˜a™C‘i  1¡ r¨!¨Q©$¡w¡°Ñ!3Ð4ð6ñ 7ô 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¬¦  «         d S )Nc                 ót   — t          j        dd| d         z  z
  d| d         z  z
  d| d         z  z
  g¦  «        S )Né   rI   r   r«  r)   r¬  r4   rg  r-   s    r/   r}   z0test_minimize_multiple_constraints.<locals>.funcð	  s;   € ÝŒx˜˜c A a¤D™j™¨3°°1´©:Ñ5¸¸qÀ¼t¹ÑCÐDÑEÔEÐEr1   c                 ó8   — t          j        | d         g¦  «        S r(   rg  r-   s    r/   Úfunc1z1test_minimize_multiple_constraints.<locals>.func1ó	  ó   € ÝŒx˜˜1œ˜ÑÔÐr1   c                 ó8   — t          j        | d         g¦  «        S rA  rg  r-   s    r/   rÕ  z1test_minimize_multiple_constraints.<locals>.func2ö	  rð  r1   r›  rœ  c                 ó<   — d| d         | d         z   | d         z   z  S )NrK  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    rH  )r}   rï  rÕ  rš  r|   r­   s         r/   Ú"test_minimize_multiple_constraintsrô  î	  s«   € ðFð Fð Fð ð  ð  ð ð  ð  ð  DÐ)Ð)Ø EÐ*Ð*Ø EÐ*Ð*ð,€Dð)ð )ð )õ Ô
˜A˜y˜y˜y°ÀdÐ
KÑ
KÔ
K€CÝ�C”E˜;˜;˜;¨UÐ3Ñ3Ô3Ð3Ð3Ð3r1   c                   óZ   — e Zd Zd„ Zej                             d¦  «        d„ ¦   «         ZdS )ÚTestOptimizeResultAttributesc                 ó²   — ddg| _         t          j        | _        t          j        | _        t          j        | _        t          j        | _	        ddg| _
        d S )Nr×   )r`   rý  )rU   r
   r   r}   r   r˜   r   r†   rß  r‰   r&  rn   s    r/   rp   z)TestOptimizeResultAttributes.setup_method
  sD   € Ø�a�&ˆŒÝ”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 ¦  «         n# 1 swxY w Y   |D ]6}||v r|||         v rŒt          ||¦  «        sJ ‚|t          |¦  «        v sJ ‚Œ7t          |j        t           ¦  «        sJ ‚ŒÑd S )N)rø   r›   r.   r¾   r�   rš   r#  rl  rø   rë   z7Method .+ does not use (gradient|Hessian.*) information)r—   r˜   r†   r‰   )r   rß  rà  ro  r§  r
   rª   r}   rU   r˜   r†   r‰   rt   Údirr�  r#  Ústr)ro   Ú
attributesÚskipr—   r­   Ú	attributes         r/   Útest_attributes_presentz4TestOptimizeResultAttributes.test_attributes_present
  sd  € ð!ð !ð !ˆ
à˜5˜'Ð"ˆÝ&ð 	0ð 	0ˆFÝÔ(Ñ*Ô*ð :ð :ÝÔ'¨ð+Ý-;ñ=ô =ð =õ Ô'¨¬	°4´7À6Ø,0¬H¸4¼9Ø.2¬jð:ñ :ô :�ð	:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð (ð -ð -�	Ø˜T�>�> i°4¸´<Ð&?Ð&?Øå˜s IÑ.Ô.Ð.Ð.Ð.Ø ¥C¨¡H¤HÐ,Ð,Ð,Ð,Ð,õ ˜cœk­3Ñ/Ô/Ð/Ð/Ð/Ð/ð!	0ð 	0s   ¦ABÂB	ÂB	N)rŠ   r‹   rŒ   rp   rÛ   rn  r  rþ  rŽ   r1   r/   rö  rö  
  sO   € € € € € ð-ð -ð -ð „[×Ò˜1ÑÔð0ð 0ñ Ôð0ð 0ð 0r1   rö  c                 ó~   — | \  }}|\  }}}}}}	}
}}}}}}||dz  z  ||z  |z  z   ||dz  z  z   ||z  z   ||z  z   |	z   S rA  rŽ   ©re  r®   r.   r:  r{  rv  rr   r  rè   r|   r@  rç  r…  r:  rD  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 rA  r*   r   s                    r/   Úf2r  -
  ó_   € Ø�D€A€qØ06Ñ-€A€qˆ!ˆQ��1�a˜˜A˜q ! Q¨ØˆB�rŒv˜˜1™˜q™ A a¡C¨!¡8Ñ+Ð,¨uÑ4Ñ5Ô5Ñ5Ð6r1   c                 ó‚   — | \  }}|\  }}}}}}	}
}}}}}}| t          j        ||z
  dz  ||z
  dz  z    |z  ¦  «        z  S rA  r*   r   s                    r/   Úf3r  3
  r  r1   c                 óT   — t          | g|¢R Ž t          | g|¢R Ž z   t          | g|¢R Ž z   S rA   )r  r  r  )re  r®   s     r/   Ú
brute_funcr  9
  s6   € Ýˆaˆ>�&ˆ>ˆ>ˆ>�B˜q˜N 6˜N˜N˜NÑ*­R°¨^°F¨^¨^¨^Ñ;Ð;r1   c                   óx   — e Zd Zd„ Zd„ Zd„ Zd„ Zej         	                    d¦  «        d„ ¦   «         Z
d„ Zd„ Zd	S )
Ú	TestBrutec                 ó˜   — d| _         t          ddd¦  «        t          ddd¦  «        f| _        t          j        ddg¦  «        | _        d S )N©r4   r_   r£   rÇ   r¢   rÆ   é,   rK  r4   rè  r)   r³  r^   r¨  r¤   ç      Ð?g_}ú×èð¿g•÷iÃþîü?)r®   ÚsliceÚrrangesr+   rL   rg   rn   s    r/   rp   zTestBrute.setup_method?
  sG   € ØDˆŒÝ˜b ! TÑ*Ô*­E°"°a¸Ñ,>Ô,>Ð?ˆŒÝœ +¨zÐ!:Ñ;Ô;ˆŒˆˆr1   c                 ó   — t          |g|¢R Ž S rA   )r  )ro   re  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        ¢R Ž d¬¦  «         t          j        t          | j        | j        dt           j        ¬¦  «        }t          |d         | j        d¬¦  «         t          |d         t          | j        g| j        ¢R Ž d¬¦  «         t          j        | j        | j        | j        dt           j        ¬¦  «        }t          |d         | j        d¬¦  «         d S )NT©r–   rž   Úfinishr   rô   r    r)   )	r
   Úbruter  r  r®   r.  r   rg   rª   )ro   Úresbrutes     r/   Ú
test_brutezTestBrute.test_bruteH
  sK  € å”>¥*¨d¬lÀÄØ.2½8¼=ðJñ Jô Jˆå˜ œ T¤]¸Ð>Ñ>Ô>Ð>Ý˜ œ¥Z°´Ð%LÀÄÐ%LÐ%LÐ%LØ!ð	#ñ 	#ô 	#ð 	#õ ”>¥*¨d¬lÀÄØ.2Ý)1Ô):ð<ñ <ô <ˆõ 	˜ œ T¤]¸Ð>Ñ>Ô>Ð>Ý˜ œ¥Z°´Ð%LÀÄÐ%LÐ%LÐ%LØ!ð	#ñ 	#ô 	#ð 	#õ
 ”> $¤/°4´<Ø'+¤{ÀÝ)1Ô):ð<ñ <ô <ˆõ 	˜ œ T¤]¸Ð>Ñ>Ô>Ð>Ð>Ð>r1   c                 ó>   — d„ }t          j        |dgdd ¬¦  «         d S )Nc                 óf   — t          | j        ¦  «        dk    sJ ‚| j        d         dk    sJ ‚| dz  S )Nr)   r   r4   )r¬  ru  r-   s    r/   r|   zTestBrute.test_1D.<locals>.fb
  s7   € Ý�q”w‘<”< 1Ò$Ð$Ð$Ð$Ø”7˜1”: ’?�?�?�?Ø˜‘6ˆMr1   r§  r_   )ÚNsr  )r
   r  )ro   r|   s     r/   Útest_1DzTestBrute.test_1D_
  s4   € ð	ð 	ð 	õ
 	Œ�q˜7˜)¨°$Ð7Ñ7Ô7Ð7Ð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         ¦  «         d S )NTr  r4   )r–   rž   r  ÚworkersrK  r   )r
   r  r  r  r®   r   )ro   r  Ú	resbrute1s      r/   Útest_workerszTestBrute.test_workersi
  s�   € õ ”>¥*¨d¬lÀÄØ.2¸4ðAñ Aô Aˆõ ”N¥:¨t¬|À$Ä+Ø/3¸DÈ!ðMñ Mô Mˆ	õ 	˜	 "œ x°¤|Ñ4Ô4Ð4Ý˜	 !œ h¨q¤kÑ2Ô2Ð2Ð2Ð2r1   c                 ó   ‡— t           j                             d¦  «        Šˆfd„}d}t          j        t
          |¬¦  «        5  t          j        || j        | j	        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr8   c                 ó4   •— ‰                      d¦  «        dz  S rt  ru  )re  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   ry  rÛ   rª  r§  r
   r  r  r®   )ro   Úcapsysr}   r†  r=   s       @r/   r¨  zTestBrute.test_runtime_warningu
  sã   ø€ ÝŒi×#Ò# DÑ)Ô)ˆð	(ð 	(ð 	(ð 	(ð 	(ð WˆÝŒ\�.°Ð4Ñ4Ô4ð 	Lð 	LÝŒN˜4 ¤°D´KÀdÐKÑKÔKÐKð	Lð 	Lð 	Lñ 	Lô 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Løøøð 	Lð 	Lð 	Lð 	Lð 	Lð 	Ls   Á#A3Á3A7Á:A7c                 óz   — d„ }t          j        |t          ddd¦  «        fd¬¦  «        }t          |d¦  «         d S )Nc                 ó   — | |d         z  S rR  rŽ   )r.   r–   s     r/   r|   z+TestBrute.test_coerce_args_param.<locals>.f�
  s   € Ø˜˜Qœ‘<Ðr1   r¨  r¤   r  r4   r\  r   )r
   r  r  r   )ro   r|   r  s      r/   Útest_coerce_args_paramz TestBrute.test_coerce_args_param
  sN   € ð	 ð 	 ð 	 õ ”> !¥e¨B°°3Ñ&7Ô&7Ð%9ÀÐBÑBÔBˆÝ˜ !Ñ$Ô$Ð$Ð$Ð$r1   N)rŠ   r‹   rŒ   rp   r  r  r  rÛ   rn  r  r  r¨  r%  rŽ   r1   r/   r
  r
  =
  s�   € € € € € ð<ð <ð <ð
&ð &ð &ð?ð ?ð ?ð.8ð 8ð 8ð „[×Ò˜2ÑÔð	3ð 	3ñ Ôð	3ðLð Lð Lð%ð %ð %ð %ð %r1   r
  r  c                  óŠ  ‡‡‡‡	— dd l } dd lŠ	ˆ	fd„Šˆ	fd„ŠdŠˆˆfd„}ˆˆfd„}| j                             ¦   «         5 }g }|                     |                     |¦  «        ¦  «         |                     |                     |¦  «        ¦  «         |D ]}|                     ¦   «          Œ	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   c                 óD   •— ‰                      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                  ó4   •— t          j        ‰dg‰ ¬¦  «        S ©Nr`   rº   rz  )Ú
min_methodr,  s   €€r/   Ú
minimizer1z*test_cobyla_threadsafe.<locals>.minimizer1š
  ó'   ø€ ÝÔ  Ø'* eØ-7ð9ñ 9ô 9ð 	9r1   c                  ó4   •— t          j        ‰dg‰ ¬¦  «        S r1  rz  )r2  r.  s   €€r/   Ú
minimizer2z*test_cobyla_threadsafe.<locals>.minimizer2Ÿ
  r4  r1   )Úconcurrent.futuresr+  ÚfuturesÚThreadPoolExecutorrx   ÚsubmitrN  )
Ú
concurrentr3  r6  ÚpoolÚtasksrs   r2  r,  r.  r+  s
         @@@@r/   Útest_cobyla_threadsafer>  ˆ
  sn  øøøø€ ð
 ÐÐÐØ€K€K€Kðð ð ð ð ðð ð ð ð ð €Jð9ð 9ð 9ð 9ð 9ð 9ð
9ð 9ð 9ð 9ð 9ð 9ð
 
Ô	×	.Ò	.Ñ	0Ô	0ð °DØˆØ�Š�T—[’[ Ñ,Ô,Ñ-Ô-Ð-Ø�Š�T—[’[ Ñ,Ô,Ñ-Ô-Ð-Øð 	ð 	ˆAØ�HŠH‰JŒJˆJˆJð	ð	ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ¾A,B8Â8B<Â?B<c                   ól   — e Zd Zd„ Zd„ Zej                             d¦  «        d„ ¦   «         Zd„ Z	d„ Z
dS )ÚTestIterationLimitsc                 ó6   — t          j        ¦   «         | _        d S rA   )ri   rj   rO  rn   s    r/   rp   z TestIterationLimits.setup_method°
  s   € Ý!œÑ)Ô)ˆŒˆˆr1   c                 óB  — 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   rO  rr   r+   rå  Úarctan2rB   )ro   r-  rV   rs   s       r/   Ú	slow_funczTestIterationLimits.slow_func³
  s�   € Ý�t”} cÑ*Ô*ð 	 ØˆDŒMŒOØŒˆŒ˜1ÑˆŒÝŒw�q˜”t˜Q‘w˜q œt Q™w‘Ñ'Ô'­¬°A°a´D¸!¸A¼$Ñ)?Ô)?ˆ1ˆÝŒv�a˜‘d˜Q‘hÑÔ  #¡Ñ%Ð%r1   rÆ   c                 ó2   — |                       dd¦  «         d S )Nrw  éÈ   ©Úcheck_limitsrn   s    r/   Útest_neldermead_limitz)TestIterationLimits.test_neldermead_limitº
  s   € à×Ò˜-¨Ñ-Ô-Ð-Ð-Ð-r1   c                 ó2   — |                       dd¦  «         d S )Nrj  ra   rG  rn   s    r/   Útest_powell_limitz%TestIterationLimits.test_powell_limit¾
  s   € Ø×Ò˜( DÑ)Ô)Ð)Ð)Ð)r1   c           
      ó2  — ddgddgddgfD �]	}dD ]j}d| j         _        t          j        | j        ||d|i¬¦  «        }| j         j        |d         k    sJ ‚|d	         r|d         |k     sJ ‚Œ\|d         |k    sJ ‚ŒkdD ]F}t          j        | j        ||d
|i¬¦  «        }|d	         r|d         |k    sJ ‚Œ8|d         |k    sJ ‚ŒGd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    sJ ‚Œl|d         |k    s|d         |k    s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     sJ ‚Œe|d         |dz  k    sJ ‚Œw|d         |dz  k    s|d         |dz  k    sJ ‚Œ˜�Œd S )Nr>   r)   r4   )r6  iô  éˆ  r   rx  rõ   r›   r¾   rh   rø   r6  rM  )rh   rx  )rO  rr   r
   rª   rD  r+   rº  )ro   r—   Údefault_itersÚstart_vÚmfevr­   Úmits          r/   rH  z TestIterationLimits.check_limitsÁ
  s  € Ø˜c˜
 Q¨ F¨Q°¨FÐ3ð ,	>ñ ,	>ˆGØ'ð 	/ð 	/�Ø"#�””ÝÔ'¨¬¸Ø/5Ø19¸4Ð0@ðBñ Bô B�ð ”}”¨#¨f¬+Ò5Ð5Ð5Ð5Ø�y”>ð /Ø˜vœ;¨Ò-Ð-Ð-Ð-Ð-à˜vœ;¨$Ò.Ð.Ð.Ð.Ð.Ø&ð -ð -�ÝÔ'¨¬¸Ø/5Ø1:¸CÐ0@ðBñ Bô B�ð �y”>ð -Ø˜uœ:¨Ò,Ð,Ð,Ð,Ð,à˜uœ:¨Ò,Ð,Ð,Ð,Ð,Ø! 2˜h¨¨t¨°t½R¼V°nÐEð 
Dð 
D‘	��cØ"#�””ÝÔ'¨¬¸Ø/5Ø<?Ø;?ð1Að 1AðBñ Bô B�ð ”}”¨#¨f¬+Ò5Ð5Ð5Ð5Ø�y”>ð DØ˜vœ;¨Ò-Ð-°#°e´*ÀÒ2CÐ2CÐ2CÐCÐ2Cà˜vœ;¨$Ò.Ð.°#°e´*ÀÒ2CÐ2CÐ2CÐCøÝ!œv t˜n¨tµR´V¨nÐ=ð >ð >‘	��cØ"#�””ÝÔ'¨¬¸Ø/5Ø<?Ø;?ð1Að 1AðBñ Bô B�ð ”}”¨#¨f¬+Ò5Ð5Ð5Ð5Ø�y”>ð >Ø�|Ø" 6œ{¨]¸1©_Ò<Ð<Ð<Ð<Ð<à" 5œz¨]¸1©_Ò<Ð<Ð<Ð<Ð<à œK¨=¸©?Ò:Ð:Ø" 5œz¨]¸1©_Ò<Ð<Ð<ð=øñ>ð=,	>ð ,	>r1   N)rŠ   r‹   rŒ   rp   rD  rÛ   rn  r  rI  rK  rH  rŽ   r1   r/   r@  r@  ¬
  s|   € € € € € ð*ð *ð *ð&ð &ð &ð „[×Ò˜2ÑÔð.ð .ñ Ôð.ð*ð *ð *ð->ð ->ð ->ð ->ð ->r1   r@  c                  ó0  — d„ } d„ }d„ }g d¢}|D ]>}t          j        | t          j        dg¦  «        |¬¦  «        }|j        j        dk    sJ ‚Œ?g d¢}|D ]@}t          j        | t          j        dg¦  «        |||¬	¦  «        }|j        j        dk    sJ ‚ŒAd S )
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                 ó.   — t          j        dgg¦  «        S rU  rg  r-   s    r/   r†   z3test_result_x_shape_when_len_x_is_one.<locals>.hessø
  s   € ÝŒx˜"˜˜ÑÔÐr1   )	rw  r  r•   rÂ   r&  ré  r/  ÚCOBYQAr   r>   rº   rn  )ró  r÷  rô  rø  rõ  rL  rö  )r
   rª   r+   rL   r.   ru  )rš   r˜   r†   rï  r—   r­   s         r/   Ú%test_result_x_shape_when_len_x_is_onerX  ñ
  sö   € ðð ð ðð ð ð ð  ð  ð,ð ,ð ,€Gàð #ð #ˆÝÔ ¥R¤X¨s¨e¡_¤_¸VÐDÑDÔDˆØŒuŒ{˜dÒ"Ð"Ð"Ð"Ð"ð,ð ,ð ,€Gàð #ð #ˆÝÔ ¥R¤X¨s¨e¡_¤_¸VÈØ%)ð+ñ +ô +ˆàŒuŒ{˜dÒ"Ð"Ð"Ð"Ð"ð#ð #r1   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚFunctionWithGradientc                 ó6   — t          j        ¦   «         | _        d S rA   )ri   rj   Únumber_of_callsrn   s    r/   r  zFunctionWithGradient.__init__  s   € Ý(œÑ0Ô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   r\  rr   r+   rC   r  s     r/   r  zFunctionWithGradient.__call__  sT   € Ý�tÔ+¨SÑ1Ô1ð 	'Ø%&ˆDÔ Ô"ØÔÐÔ !Ñ#ÐÔÝŒv�a˜‘d‰|Œ|˜Q ™UÐ"Ð"r1   Nr  rŽ   r1   r/   rZ  rZ  
  s2   € € € € € ð1ð 1ð 1ð#ð #ð #ð #ð #r1   rZ  c                  ó   — t          ¦   «         S rA   )rZ  rŽ   r1   r/   Úfunction_with_gradientr_    s   € åÑ!Ô!Ð!r1   c                 ó–  — t          | ¦  «        }t          j        ddg¦  «        }t           ||¦  «        d¦  «         | j        j        dk    sJ ‚t          |                     |¦  «        d|z  ¦  «         | j        j        dk    s
J d¦   «         ‚t           |d|z  ¦  «        dd¬	¦  «         | j        j        dk    s
J d¦   «         ‚d S )
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   r\  rr   Ú
derivative©r_  Úmemoized_functionrU   s      r/   Ú)test_memoize_jac_function_before_gradientre    sø   € Ý"Ð#9Ñ:Ô:Ðå	Œ�3˜�*Ñ	Ô	€BÝÐ%Ð% bÑ)Ô)¨3Ñ/Ô/Ð/Ø!Ô1Ô3°qÒ8Ð8Ð8Ð8åÐ%×0Ò0°Ñ4Ô4°a¸"±fÑ=Ô=Ð=Ø!Ô1Ô3°qÒ8Ð8Ð8ð	8ñ 9Ô8Ð8õ ØÐ˜!˜b™&Ñ!Ô! 4Ø:ð<ñ <ô <ð <ð "Ô1Ô3°qÒ8Ð8Ð8Ø2ñ 9Ô8Ð8Ð8Ð8r1   c                 ó°  — t          | ¦  «        }t          j        ddg¦  «        }t          |                     |¦  «        d|z  ¦  «         | j        j        dk    sJ ‚t           ||¦  «        d¦  «         | j        j        dk    s
J d¦   «         ‚t          |                     d|z  ¦  «        d|z  d¬	¦  «         | j        j        dk    s
J d¦   «         ‚d S )
Nr\   r‘  r4   r)   r’  zHfunction is not recomputed if function value is requested after gradientr¤   ra  rÌ  )r   r+   rL   r   rb  r\  rr   rc  s      r/   Ú)test_memoize_jac_gradient_before_functionrg  -  sÿ   € Ý"Ð#9Ñ:Ô:Ðå	Œ�3˜�*Ñ	Ô	€BÝÐ%×0Ò0°Ñ4Ô4°a¸"±fÑ=Ô=Ð=Ø!Ô1Ô3°qÒ8Ð8Ð8Ð8åÐ%Ð% bÑ)Ô)¨3Ñ/Ô/Ð/Ø!Ô1Ô3°qÒ8Ð8Ð8ð	8ñ 9Ô8Ð8õ Ø×$Ò$ Q¨¡VÑ,Ô,¨a°"©fØ:ð<ñ <ô <ð <ð "Ô1Ô3°qÒ8Ð8Ð8Ø2ñ 9Ô8Ð8Ð8Ð8r1   c           	      óz  — t          | ¦  «        }|j        }t          j        ¦   «         }t	          j        ddg¦  «        }t          ||d||dd¦  «        }| j        j        dk    sJ ‚| 	                    |dz   ¦  «         | j        j        dk    sJ ‚| 	                    |dz   ¦  «         | j        j        d	k    sJ ‚dS )
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   rb  r
   rÂ   r+   rL   r   r\  rr   rš   )r_  rd  r˜   r†   rU   Úscalar_functions         r/   Útest_memoize_jac_with_bfgsrj  @  sÒ   € õ
 #Ð#9Ñ:Ô:ÐØ
Ô
&€CÝŒ=‰?Œ?€Då	Œ�3˜�*Ñ	Ô	€BÝ$Ø˜2˜r 3¨¨d°Dñ:ô :€Oà!Ô1Ô3°qÒ8Ð8Ð8Ð8à×Ò˜˜S™Ñ!Ô!Ð!Ø!Ô1Ô3°qÒ8Ð8Ð8Ð8à×Ò˜˜S™Ñ!Ô!Ð!Ø!Ô1Ô3°qÒ8Ð8Ð8Ð8Ð8Ð8r1   c                  ó°   — t          ¦   «         5  t          j        d„ t          j         t          j        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó2   — t          j        | dz  g¦  «        S rA  rg  r-   s    r/   rŠ  ztest_gh12696.<locals>.<lambda>Y  s   € •b”h  1¡˜vÑ&Ô&€ r1   Frí   )r   r
   rG  r+   r"  rŽ   r1   r/   Útest_gh12696rm  U  s¶   € å	Ñ	Ô	ð Cð CÝÔØ&Ð&­¬¨µ´¸Eð	Cñ 	Cô 	Cð 	CðCð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cð Cð Cs   �/AÁAÁAc                  óÒ  ‡‡‡‡‡— t           j                             d¦  «        } |                      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   rK  rÊ  )r_   r4   r4   rÊ  Tc                 óf   •— |r| j         dk    sJ ‚|rt          | ‰         ‰‰         ¦  «         d S d S rr  )rK  r   )r.   Ú
check_sizeÚcheck_valuesÚi_ebrÊ  s      €€r/   Úcheck_xz(setup_test_equal_bounds.<locals>.check_xf  sJ   ø€ Øð 	Ø”6˜Q’;�;�;�;Øð 	/Ý˜A˜dœG R¨¤XÑ.Ô.Ð.Ð.Ð.ð	/ð 	/r1   c                 óB   •—  ‰| ¦  «         t          j        | ¦  «        S rA   r  ©r.   rs  s    €r/   r}   z%setup_test_equal_bounds.<locals>.funcl  s    ø€ Øˆ�‰
Œ
ˆ
ÝŒ~˜aÑ Ô Ð r1   c                 óB   •—  ‰| ¦  «         t          j        | ¦  «        S rA   )r
   r   ru  s    €r/   r‚   z%setup_test_equal_bounds.<locals>.gradp  s!   ø€ Øˆ�‰
Œ
ˆ
ÝÔ! !Ñ$Ô$Ð$r1   c                 ó   •—  ‰| ¦  «         d S rA   rŽ   )r.   r–   rs  s     €r/   r"  z)setup_test_equal_bounds.<locals>.callbackt  s   ø€ Øˆ�‰
Œ
ˆ
ˆ
ˆ
r1   c                 óV   •— t          | t          ¦  «        sJ ‚ ‰| j        ¦  «         d S rA   )r�  r   r.   )rö  rs  s    €r/   Ú	callback2z*setup_test_equal_bounds.<locals>.callback2w  s4   ø€ ÝÐ-­~Ñ>Ô>Ð>Ð>Ð>ØˆÐ#Ô%Ñ&Ô&Ð&Ð&Ð&r1   c                 ó8   •—  ‰| d¬¦  «         | dd…         dz
  S )NF©rq  r   r)   rŽ   ru  s    €r/   Úconstraint1z,setup_test_equal_bounds.<locals>.constraint1{  s*   ø€ Øˆ� Ð&Ñ&Ô&Ð&Ø��1�Œv˜‰zÐr1   c                 óT   •—  ‰| d¬¦  «         t          j        | ¦  «        }d|d<   |S )NFr{  r)   r   ©r+   rÜ  ©r.   Údcrs  s     €r/   Ú	jacobian1z*setup_test_equal_bounds.<locals>.jacobian1  ó5   ø€ Øˆ� Ð&Ñ&Ô&Ð&ÝŒ]˜1ÑÔˆØˆˆ1‰Øˆ	r1   c                 ó8   •—  ‰| d¬¦  «         | dd…         dz
  S )NFr{  r4   r_   r^   rŽ   ru  s    €r/   Úconstraint2z,setup_test_equal_bounds.<locals>.constraint2…  s*   ø€ Øˆ� Ð&Ñ&Ô&Ð&Ø��1�Œv˜‰|Ðr1   c                 óT   •—  ‰| d¬¦  «         t          j        | ¦  «        }d|d<   |S )NFr{  r)   r4   r~  r  s     €r/   Ú	jacobian2z*setup_test_equal_bounds.<locals>.jacobian2‰  r‚  r1   r   )r&  r   ré  Fr  c                 ó0   •—  ‰| ¦  «         ‰| ¦  «        fS rA   rŽ   )r.   r}   r‚   s    €€r/   rŠ  z)setup_test_equal_bounds.<locals>.<lambda>›  s   ø€    Q¡¤¨¨¨a©¬Ð1€ r1   c                 ó<   — t          t          | |¦  «        ¦  «        S rA   )ÚlistÚzip©rÊ  rË  s     r/   rŠ  z)setup_test_equal_bounds.<locals>.<lambda>Ÿ  s   € ¥$¥s¨2¨r¡{¤{Ñ"3Ô"3€ r1   r  )	rï  ÚkwdsÚbound_typesr^  Ú	callbacksrÊ  rË  rU   rr  )TT)r+   r7   ry  rL   r   rº  r   )r=   rU   rË  r"  ry  r|  r�  r„  r†  Úc1aÚc1bÚc2aÚc2brï  rŒ  r�  r^  rŽ  Údatars  r}   r‚   rr  rÊ  s                      @@@@@r/   Úsetup_test_equal_boundsr”  ^  s�  øøøøø€ å
Œ)×
Ò
 Ñ
&Ô
&€CØ	�Š�A‰Œ€BÝ	ŒÐ"Ð"Ð"Ñ	#Ô	#€BÝ	Œ�/�/�/Ñ	"Ô	"€BØ�"ŠH€Dð/ð /ð /ð /ð /ð /ð /ð!ð !ð !ð !ð !ð%ð %ð %ð %ð %ðð ð ð ð ð'ð 'ð 'ð 'ð 'ðð ð ð ð ðð ð ð ð ðð ð ð ð ðð ð ð ð õ ˜k­B¬F¨7°AÑ
6Ô
6€CÝ
˜k­B¬F¨7°A°yÑ
AÔ
A€CÝ
˜k­B¬F¨7°AÑ
6Ô
6€CÝ
˜k­B¬F¨7°A°yÑ
AÔ
A€Cð +€Gð  Ð'Ð'Ø Ð&Ð&Ø1Ð1Ð1Ð1Ð1Øðð ð€Dð 4Ð3Ýð€Kð   " b Ø˜�:  S˜zØ�E˜C˜5�> S E¨C¨5 >Ø˜#�J  c 
Ð+Ø˜#�J  c 
Ð+Ø˜#�J  c 
Ð+ð-€Kð �x Ð+€Ià¨¸[Ø&°YØ˜B b°$ð8ð 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 rMt          |¦  «        r>t          j        |¦  «        }dt          |j	        ¦  «        v rt          j        d¦  «         |	|
k    } |||¦  «        }| 
                    || ||	|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          ¦  «        spd„ }t          j        ||ddg         | |ddd…         ¬¦  «        }t!          |j        |j        ¦  «         t!          |j        ddg         |j        d¬¦  «         dS dS dS dS )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   rr  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   rK  r   )r+   rL   rÙ  r
   r   )r.   Únew_xs     r/   rš   ztest_equal_bounds.<locals>.funõ  s;   € Ý”H�bœf a­¬°Ð4Ñ5Ô5ˆEØˆE�1�a�&‰MÝ”> %Ñ(Ô(Ð(r1   r4   rk  g�íµ ÷ÆÀ>rŽ   )ÚplatformÚmachinerÛ   rü  Úeb_dataÚcallableÚinspectÚ	signaturer	  Ú
parametersrt  r
   rª   r   r   r¾   r   rš   r.   r+   rÙ  r˜   ru  r�  r   )r—   rŒ  rš  r^  r"  rÊ  rË  rU   rr  Útest_constraintsÚreference_constraintsÚsigÚ	fd_neededr&  r­   Úexpectedrš   Úfd_ress                     r/   Útest_equal_boundsr¬  º  sß  € õ  	ÔÑÔ˜iÒ'Ð'¨F°eªO¨OØ�U”˜uÐ$Ð$¨Ð)=ÝŒÐ2Ñ3Ô3Ð3å�TŒ]�G DœMˆ€BÝ�tŒ}�g fœoˆ€Bà.9Ñ+ÐÐ+Øð A ¨'Ò 1Ð 1ÝŒÐ?Ñ@Ô@Ð@àÐ!Ð!Ð!¥h¨xÑ&8Ô&8Ð!ÝÔ Ñ)Ô)ˆØ ¥C¨¬Ñ$7Ô$7Ð7Ð7ÝŒKÐFÑGÔGÐGð "Ð%:Ò:€IàˆZ˜˜BÑÔ€Fà‡K‚K�r V°vØ 0¸hðHð Hñ Iô Ið Iå
Ô
Ð
#Ð
#˜dÐ
#Ð
#€CåÔ ¥¤°¸FÝ%-Ô%7ÀØ-BðDñ Dô D€Hð
 Œ;ÐÐˆ;Ý�C”G˜Xœ\°Ð7Ñ7Ô7Ð7Ý�C”E˜8œ:¨DÐ1Ñ1Ô1Ð1àð $�D˜”K 5Ð(Ð(ÝœVˆŒ�TÑØŒ7Œ=˜Ô˜qÒ Ð Ð Ð Ý�C”G˜D”M 8¤<°Ô#5¸DÐAÑAÔAÐAà�ŒKð <Ð+ð <­z¸&Å&Ñ/IÔ/Ið <ð	)ð 	)ð 	)õ
 Ô" 3Ø#% q¨! f¤:Ø*0Ø*0°°°1°¬+ð7ñ 7ô 7ˆõ 	˜œ ¤Ñ,Ô,Ð,õ 	˜œ˜q !˜fœ v¤x°dÐ;Ñ;Ô;Ð;Ð;Ð;ð%<ð <ð <ð <ð <ð <r1   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¦  «        ¦  «         |                      ¦   «         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                             |¦  «        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                             |¦  «        sJ ‚d S d S )Nr)   c                 óF   — t           j                             | ¦  «        |z   S rA   )r+   ÚlinalgÚnorm)r.   Úp1s     r/   r|   z test_all_bounds_equal.<locals>.f  s   € ÝŒy�~Š~˜aÑ Ô  2Ñ%Ð%r1   ro  )r4   r4   )r\   rG  rF  r\   r‘  z/All independent variables were fixed by bounds.)r4   rU  r4   r   c                 ó*   — t          j        | ¦  «        S rA   rB  r-   s    r/   Úconz"test_all_bounds_equal.<locals>.con  s   € Ý”6˜!‘9”9Ðr1   r`   )r&  r—   r^  Fz3All independent variables were fixed by bounds, butr¤   Tz8All independent variables were fixed by bounds at valuesrn  )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¶    sG  € ð&ð &ð &ð &ð �fÐ€FØ	€BÝ
Ô
˜A˜r¨&¸Ð
@Ñ
@Ô
@€CØŒ;ÐÐˆ;Ý�C”G˜Q˜Q  S˜z™]œ]Ñ+Ô+Ð+ØŒ8�qŠ=ˆ=ˆ=ˆ=ØŒ;ÐKÒKÐKÐKÐKà€DÝ
Ô
˜A˜r¨&¸ÀdÐ
KÑ
KÔ
K€CØŒ;ÐÐˆ;Ý�C”G˜Q˜Q  S˜z¨1Ñ-Ô-Ñ.Ô.Ð.à‡|‚|�~„~˜Ò Ñ ð	ð 	ð 	å! #­¬ w°Ñ4Ô4ˆÝÔØˆr˜&¨¸c¸Uð
ñ 
ô 
ˆð Œ{˜eÐ#Ð#Ð#Ð#Ý˜œ   C¨ :¡¤Ñ/Ô/Ð/ØŒx˜1Š}ˆ}ˆ}ˆ}ØGˆØŒ{×%Ò% gÑ.Ô.Ð.Ð.Ð.å! #­¬ w°Ñ2Ô2ˆÝÔØˆr˜&¨¸c¸Uð
ñ 
ô 
ˆð Œ{˜dÐ"Ð"Ð"Ð"Ý˜œ   C¨ :¡¤Ñ/Ô/Ð/ØŒ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 ‚d S )Nc                 óT   — | 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                 óN   — | 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š   rz  )r|   r»  r^  r&  s       r/   Útest_eb_constraintsr½  3  s•   € ð-ð -ð -ð.ð .ð .ð #¨4Ð0Ð0Ð1€KàˆY˜‰]€FØ€Fˆ1�IÝÔØ	Øˆ<ˆ<ØØØðñ ô ð ð �qŒ>˜%Ô  DÒ(Ð(Ð(Ð(Ð(Ð(r1   c                  ó*  — t           t          t          t          t          t
          dœ} |                      ¦   «         D ]\  }}|D ]}t          ||¦  «         ŒŒddddœ}|                     ¦   «         D ]!\  }}t          t          t          ||¦  «         Œ"d S )N)rª   rV  Ú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Ô1ð )ð )‰ˆ�Øð 	)ð 	)ˆFå˜ Ñ(Ô(Ð(Ð(ð	)ð
 ØØ!ðð Ðð
 0×5Ò5Ñ7Ô7ð @ð @‰ˆ�å•j¥,°¸Ñ?Ô?Ð?Ð?ð@ð @r1   c                  ó¦   — t          j        ddgddg¬¦  «        } t          j        t           j        t	          j        ddg¦  «        d| ¬¦  «         d S )Nr’  rý  r‹  r¢   r  r  )r
   r   rª   r   r+   rL   r²  s    r/   Útest_bounds_with_listrÌ  b  s[   € åŒ_  R ¨c°3¨ZÐ8Ñ8Ô8€FÝÔÝŒ�2œ8 Q¨ FÑ+Ô+°HÀVðñ ô ð ð ð r1   )rm  r  ri  rj  rE  rò   r!  ró  c                 óp   — t          j        g d¢¦  «        }t          j        t          || ddi¬¦  «         d S )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ÐKÑKÔKÐKÐKÐKr1   c            	      ó2  — d„ } d„ }d„ }g d¢}g d¢}t          j        d¦  «        dz  }t          D ]f}d }d }||v r|}||v r|}t          j        | ||||¬¦  «        }	t          |	j        t          j        t          j        |¦  «        ¦  «        d	¬
¦  «         Œgd S )Nc                 óŠ   — t          j        t          j        | ¦  «        ¦  «        }| |z  } | | z  } t          j        | ¦  «        S rA   )r+   rO   rK  rC   r™  s     r/   Úfquadz/test_x_overwritten_user_function.<locals>.fquadw  s9   € ÝŒI•b”g˜a‘j”jÑ!Ô!ˆØ	ˆQ‰ˆØ	ˆQ‰ˆÝŒv�a‰yŒyÐr1   c                 ól   — t          j        t          j        | ¦  «        ¦  «        }| dz  } | d|z  z  } | S rA  )r+   rO   rK  r™  s     r/   Ú	fquad_jacz3test_x_overwritten_user_function.<locals>.fquad_jac}  s4   € ÝŒI•b”g˜a‘j”jÑ!Ô!ˆØ	ˆQ‰ˆØ	ˆQ�‰U‰
ˆØˆr1   c                 óT   — t          j        t          j        | ¦  «        ¦  «        dz  S rU  )r+   rÜ   rK  r-   s    r/   Ú
fquad_hessz4test_x_overwritten_user_function.<locals>.fquad_hessƒ  s   € ÝŒv•b”g˜a‘j”jÑ!Ô! CÑ'Ð'r1   )rU  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   rK  )
rÑ  rÓ  rÕ  Úmeth_jacÚ	meth_hessrU   Úmethr˜   r†   r­   s
             r/   Ú test_x_overwritten_user_functionrÙ  s  só   € ðð ð ðð ð ð(ð (ð (ðð ð €Hðð ð €Iõ 
Œ�‰Œ�cÑ	€Bå ð Bð BˆØˆØˆØ�8ÐÐØˆCØ�9ÐÐØˆDÝÔ  r°$¸CÀdÐKÑKÔKˆÝ˜œ�rœy­¬°©¬Ñ5Ô5¸DÐAÑAÔAÐAÐAðBð Br1   c                   ó   — e Zd Zd„ ZdS )ÚTestGlobalOptimizationc                 óü  — d„ }t          j        |d¬¦  «        t          j        |dg¦  «        t          j        |dg¦  «        t          j        |dg¦  «        t          j        |dg¦  «        g}|D ]Š}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
¦  «        sJ ‚Œ‹d S )Nc                 ó   — | dz  S rA  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‚  rN  s       r/   Útest_optimize_result_attributesz6TestGlobalOptimization.test_optimize_result_attributes�  s.  € ð	ð 	ð 	õ Ô(¨°!Ð4Ñ4Ô4ÝÔ2°4¸'¸ÑCÔCÝ”= ¨ yÑ1Ô1ÝÔ*¨4°'°Ñ;Ô;Ý”? 4¨'¨Ñ3Ô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¬¦  «         d S )Nr  r¼   )r
   Úapprox_fprimerT   r”  r   rR   rS   )r@  rç  s     r/   Útest_approx_fprimeræ  ³  sh   € õ 	Ô�}­jÑ9Ô9€AÝ�A•¥}Ñ5Ô5¸DÐAÑAÔAÐAåÔ�}­oÑ>Ô>€AÝ�A•¥}Ñ5Ô5¸DÐAÑAÔAÐAÐAÐAr1   c                  óp  — 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        ¦  «         d S )Nc                 ó6   — | 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Ñ
IÔ
I€CÝ•r”x  c 
Ñ+Ô+µ´¸"¸b¸Ñ0BÔ0BÐCÑCÔC€FÝ
Ô
˜A &°À&Ð
IÑ
IÔ
I€Cå�C”G˜SœWÑ%Ô%Ð%Ý�C”E˜3œ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 ‚d S )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+  r7  r  g—ÿ�~ëÇ@çsÏ¡©*J@ç³ÊçWE@ç ‡}Q4Àçq�å%@Àç?.XGáü?ç }#:¾ @ç¹ÝpÄÿr*@çÝ¦ì²gðÀç	oB@TYÀçÐ"_2#–ò?ç/³�)SÀÀ)rñ  r  r  r  r,  r8  r  rC  gB›w÷[ÐE@ç<Û¤b­s@çôW#Œy4Àçu��Ö²�>ÀçÐ˜e);ø¿¿çŒM†>³''@çÐ€z3jXD@ç§ú!xtJö¿ç¥>ÚIŽ‹CÀçÄ±½=à¸¿çcrÕœZ»?)rò  r  r  r   r-  r9  r  rD  rN  gR,·´Á¡@ç�‰”fó`bÀçBÑ<€ÅtkÀçà3mIì¿ç„EêâÛ¶T@çœÛ„{e6r@çšÇ«½™ò#ÀçæuÄ!‘qÀçès® =æ¿ç£´õÛðžç?)ró  r  r  r!  r.  r:  r  rE  rO  rX  g6mk°••S@ç[z4U�d@ç½¹l2²5Àçí×�î<õ9Àç™Ó
x>HOÀç$ŠdŠÌ@ç“ŠÆÚ_àl@ç€›ƒo³{Àçôí�½ÿÇ@)rô  r  r  r"  r/  r;  r  rF  rP  rY  ra  gµßÚI~w@ç�u'Žò®Àçõ|r¹fÒFÀç>ÍÉ‹Ä[Àçé¤­ •À'@ç�úë–ë}@ç+Lc¤¬EÀçÔVô ¡!@)rõ  r  r  r#  r0  r<  r  rG  rQ  rZ  rb  ri  gR3ZýÇÈî?çA¼	#�ø?çj„Ÿ´Gê@ç7VÞeñ¨é¿çeGô|83Àç·­†ôv,Ø?ç/yng€§ê¿)rö  r  r  r$  r1  r=  r  rH  rR  r[  rc  rj  rp  g§�ÕG–b:@ç�G>_R@çÌ`)Y™Àç¦€´ÿ\ÀçÉ¤É�^à?çë9Èo2À)r÷  r  r  r%  r2  r>  r  rI  rS  r\  rd  rk  rq  rv  g6ÌÐx"‘m@ç¨o™Óeí%ÀçJìÚÞnqÀçv†yôNå?çä~êÌû+À)rø  r	  r  r&  r3  r?  r	  rJ  rT  r]  re  rl  rr  rw  r{  gb®˜Sú°ò?çRBUñë>@çºWUKãÜ¿çsøliªqï?)rù  r
  r  r'  r4  r@  r
  rK  rU  r^  rf  rm  rs  rx  r|  r  g<Ú8bM±‘@çâ¥åQ;½*ÀçÀýÊ” K6@)rú  r  r  r(  r5  rA  r  rL  rV  r_  rg  rn  rt  ry  r}  r€  r‚  g&œ¦AdÛ?çaBÜæIà¿)rû  r  r  r)  r6  rB  r  rM  rW  r`  rh  ro  ru  rz  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 rA  ©r+   rv   ©r.   ÚHÚJs    €€r/   rš   z9test_gh12513_trustregion_exact_infinite_loop.<locals>.fun:  s3   ø€ ÝŒv•b”f˜Q ‘l”l AÑ&Ô&¨Ñ*­R¬V°A°q©\¬\Ñ9Ð9r1   c                 ó4   •— t          j        | ‰¦  «        ‰z   S rA   r†  r‡  s    €€r/   r˜   z9test_gh12513_trustregion_exact_infinite_loop.<locals>.jac=  s   ø€ ÝŒ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ð 
8ð 
8ð

<ð 
<ð 
<ð

9ð 
9ð 
9ð

<ð 
<ð 
<ð

:ð 
:ð 
:ð

9ð 
9ð 
9ð

;ð 
;ð 
;ð

;ð 
;ð 
;ð

8ð 
8ð 
8ð

8ð 
8ð 
8ð

;ð 
;ð 
;ð

:ð 
:ð 
:ð

:ð 
:ð 
:ð

:ð 
:ð 
:ð

8ð 
8ð 
8ð

;ð 
;ð 
;ð

9ð 
9ð 
9ðu^	:ñ`	ô `	€AõB 	Œð ð ð ñ 	ô 	€Að:ð :ð :ð :ð :ð :ð ð  ð  ð  ð  ð  ðð ð ð ð õ 
Œ�"‰Œ€Bå
Ô
ØØ
ØØØØ°RÐ8Ð8ðñ ô €Cð Œ;ÐÐˆ;Ýˆsˆs�3”5‰zŒz‰?Œ?˜TÒ!Ð!Ð!Ð!Ð!Ð!r1   rL  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 ‚d S )Nc                 ó4   •—  ‰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ô J€JåÔ!¥%¨°FÝ&/µjðBñ Bô B€Iõ �I”M :¤>Ñ2Ô2Ð2Ý�I”K ¤Ñ.Ô.Ð.ØŒ>˜Zœ_Ò,Ð,Ð,Ð,ØŒ>˜Zœ_Ò,Ð,Ð,Ð,ØŒ>˜Zœ_Ò,Ð,Ð,Ð,Ð,Ð,r1   r  )	r!  rò   rm  ró  rL  r•   rk  rô  rõ  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestWorkersc                 ó<   — t          j        g d¢¦  «        | _        d S )N)r\   r‘  rG  )r+   rL   rU   rn   s    r/   rp   zTestWorkers.setup_methody  s   € Ý”(˜?˜?˜?Ñ+Ô+ˆŒˆˆr1   c                 ó€  — |pt           }d d dœ}|dv rt          |d<   d|d<   t          |¦  «        5 }t          j        t
          | j        fd|i|dœ|¤Ž}d d d ¦  «         n# 1 swxY w Y   t          j        t
          | j        fd|i|¤Ž}t          |j        |j        ¦  «         t          |j	        |j	        ¦  «         d S )	N)r˜   r†   )rL  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ðØ)2°2¨¸vðð ØIMðð ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Ô'Ý�4”7ð
ð 
Ø#)ð
Ø-1ð
ð 
ˆõ 	�S”U˜KœMÑ*Ô*Ð*Ý�S”X˜{Ô/Ñ0Ô0Ð0Ð0Ð0s   ±#A Á A$Á'A$c                 óV  — |pt           }|dvrt          j        |› d�¦  «         t          g d¢g d¢¦  «        }t	          |¦  «        5 }t          j        t          | j        |d|i|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |j	        sJ ‚t          |j        d         d¦  «         d S )	N)r!  rm  ró  rk  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ÐEÝŒK˜6Ð5Ð5Ð5Ñ6Ô6Ð6å˜˜˜ o o oÑ6Ô6ˆÝ˜Ñ Ô ð 	 BÝÔ#Ý�t”w v¸	À2°Èvðñ ô ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð Œ{ÐÐˆ{Ý˜œ˜aœ #Ñ&Ô&Ð&Ð&Ð&s   Á&A:Á:A>ÂA>N)rŠ   r‹   rŒ   rp   rž  r¬  rŽ   r1   r/   r™  r™  k  sA   € € € € € ð,ð ,ð ,ð1ð 1ð 1ð('ð 'ð 'ð 'ð 'r1   r™  )r_   rç  )ÚAnyr.   Úreturnc                 ó&   — t          | ¦  «        dz   S r(   )r   r-   s    r/   Úrosen_annotatedr£  §  s   € Ý�‰8Œ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                 ó   — d S rA   rŽ   )rö  s    r/   Úcallable_annotatedr©  °  s   € Ø€Dr1   z'Requires PEP 649/749 from Python 3.14+.c                   óx   — e Zd Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ Zd	S )
ÚTestAnnotationsc                 óJ   — t          j        ddg¦  «        | _        d| _        d S )Nr\   rÎ  r  )r+   rL   rU   Úbrute_paramsrn   s    r/   rp   zTestAnnotations.setup_method·  s%   € Ý”(˜C ˜;Ñ'Ô'ˆŒØJˆÔÐÐr1   r—   )rw  r  r•   rò   rL  r!  rk  r/  rm  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|¤Ž d S )N)r˜   r†   r"  )r•   rÂ   rL  r&  ré  r   r÷  rô  rõ  rø  ró  r˜   )rL  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»  sw   € ð$  TÕ7IÐJÐJˆØð Rð Rð Rõ .ˆD�‰KØð 6ð 6ð 6å/ˆD�‰LÝÔ�/¨4¬7ÐJÐJ¸6ÐJÀTÐJÐJÐJÐJÐJr1   c                 ó„   — ddg}t          j        t          |dt          ¬¦  «        }|j        sJ d|j        › �¦   «         ‚d S )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×  sU   € Ø˜7Ð#ˆÝÔ-­o¸vÈAÝ7IðKñ Kô KˆàŒ{Ð>Ð>Ð>°´Ð>Ð>Ñ>Ô>ˆ{Ð>Ð>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        › �¦   «         ‚d S )Nr.   r{  r¡  c                 ó>   — |t          j        | | z  ¦  «        z  |z   S rA   r*   ©r.   r{  rv  rr   s       r/   Ú
model_funcz>TestAnnotations.test_curve_fit_annotations.<locals>.model_funcß  s    € Ø•r”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â  sX   € Ý”8Ý”˜�r˜A‘v‘”Ø��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Ô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        |¬¦  «         d S )Nre  r®   r¡  c                 ó~   — | \  }}|\  }}}}}}	}
}}}}}}||dz  z  ||z  |z  z   ||dz  z  z   ||z  z   ||z  z   |	z   S rA  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                 ó.   — t          j        | |g|¢R 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ð  s©   € ð	E•+ð 	E­ð 	Eµ%ð 	Eð 	Eð 	Eð 	Eð
	@¥[ð 	@µkð 	@Ý/:ð	@ð 	@ð 	@ð 	@õ ˜˜Q Ñ%Ô%¥u¨R°°DÑ'9Ô'9Ð:ˆÝŒ�r˜7¨Ô):À>ÐRÑRÔRÐRÐRÐ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        › �¦   «         ‚d S )NÚf_newÚx_newÚf_oldÚx_oldr¡  c                 ó   — dS )NTrŽ   )rÅ  rÆ  rÇ  rÈ  s       r/   Úacceptable_testzFTestAnnotations.test_basinhopping_annotations.<locals>.acceptable_test  s   € à�4r1   r4   r)   )rP  r:   Úaccept_testr±  )	rº  r¹  Úboolr
   rÞ  r£  rU   r¾   r#  )ro   rÊ  r­   s      r/   Útest_basinhopping_annotationsz-TestAnnotations.test_basinhopping_annotationsý  s�   € ð	¥5ð 	µð 	Ý-2ð	Ý:Eð	ÝJNð	ð 	ð 	ð 	õ Ô#¥O°T´WÀAÈAØ0?ðAñ Aô Aˆð Œ{Ð>Ð>Ð>°´Ð>Ð>Ñ>Ô>ˆ{Ð>Ð>r1   N)rŠ   r‹   rŒ   rp   rÛ   rn  rp  r¯  r²  r¾  rÃ  rÍ  rŽ   r1   r/   r«  r«  ³  s¬   € € € € € ðKð Kð Kð „[×Ò˜Xð (ð (ð (ñ ô ð"	Kð 	Kñ#ô ð"	Kð?ð ?ð ?ðIð Ið Ið&Sð Sð Sð?ð ?ð ?ð ?ð ?r1   r«  c                  ó  — t          j        ddg¦  «        } t          t          j        d¦  «        5 }|5 }t          t          | |j        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   ~~d d d ¦  «         d S # 1 swxY w Y   d S )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°!Ñ	4Ô	4ð ¸Øð 	5˜Ý�5 "¨a¬eÐ4Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5àØð	ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s4   ±A7´AÁA7ÁA!	Á!A7Á$A!	Á%A7Á7A;Á>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�   r{  r‡  r‹  r�  r™  rž  r¤  r­  r½  rÆ  rÈ  rË  rÍ  rÏ  rÑ  rn  rp  r  r  r0  r}  r‹  r�  r¯  rÃ  rÆ  rÎ  rÕ  r×  r”  rR   rS   rT   r•  r–  rô  rö  r  r  r  r  r
  r  r>  r@  rX  rZ  Úfixturer_  re  rg  rj  rm  r”  r¡  Úxfail_on_32bitrq  Ú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Ð 2Ð 2Ð 2Ð 2Ð 2Ø Ð Ð Ð Ð Ð Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @ð?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð 4Ð 3Ð 3Ð 3Ð 3Ð 3Ø -Ð -Ð -Ð -Ð -Ð -Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø <Ð <Ð <Ð <Ð <Ð <Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ Oðð ð ð ð ð ð ð ð ð ð ð ð 8Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7ð0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0à 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à�*€ð3ð 3ð 3ðl7'ð 7'ð 7'ð 7'ð 7'ñ 7'ô 7'ð 7'ðtRAð RAð RAð RAð RA ñ RAô RAð RAðj-ð -ð -ð"ð ð ð0Hð Hð Hðð ð ð8ð 8ð 8ðDð Dð Dð$ð $ð $ð ð  ð  ð>I:ð I:ð I:ðX'Fð 'Fð 'FðTð ð ð ð Ð8ñ ô ð ð
ð ð ð ð Ð :ñ ô ð ð
ð ð ð ð Ð :ñ ô ð ð
ð ð ð ð Ð"<ñ ô ð ð
iDð iDð iDð iDð iD˜ñ iDô iDð iDðX „×ÒØØ:Ð:Ð:ñô ð-ð -ñ	ô ð-ð:=ð :=ð :=ð :=ð :=ñ :=ô :=ð :=ðzjNð jNð jNð jNð jNñ jNô jNð jNðZ	&ð &ð &ð &ð &ñ &ô &ð &ðR@ð @ð @ð)<ð )<ð )<ð )<ð )<ñ )<ô )<ð )<ðX<-ð <-ð <-ð~#6ð #6ð #6ðLz6ð z6ð z6ðzJð Jð Jð*$ð $ð $ð#ð #ð #ð #ð #ñ #ô #ð #ð6ð ð ð;ð ;ð ;ð7ð 7ð 7ð ˜�€Ø�a�&€Ø€ð4ð 4ð 4ð, 0ð  0ð  0ð  0ð  0ñ  0ô  0ð  0ðF=ð =ð =ð7ð 7ð 7ð7ð 7ð 7ð<ð <ð <ðH%ð H%ð H%ð H%ð H%ñ H%ô H%ð H%ðV „×Ò�rÑÔð ð  ñ Ôð ðFB>ð B>ð B>ð B>ð B>ñ B>ô B>ð B>ðJ#ð #ð #ð2#ð #ð #ð #ð #ñ #ô #ð #ð „ð"ð "ñ „ð"ð3ð 3ð 3ð&3ð 3ð 3ð&9ð 9ð 9ð*Cð Cð CðUð Uð Uðp "Ð
!Ñ
#Ô
#€ð „×ÒÐNÑOÔOØ„×ÒÐ$�5Ô$¨'Ð2Ñ2Ô2°;Ô?À	ÔJÈ6ÔRØò àLð ñ Nô Nð „×Ò˜ 7¨9Ô#5Ñ6Ô6Ø„×Ò˜ ¨¤Ñ1Ô1Ø„×Ò˜ w¨}Ô'=Ñ>Ô>Ø„×Ò˜¨°Ô(>Ñ?Ô?Ø„×Ò˜ W¨[Ô%9Ñ:Ô:ðA<ð A<ñ ;Ô:ñ @Ô?ñ ?Ô>ñ 2Ô1ñ 7Ô6ñNô Nñ PÔOðA<ðH „×Ò˜ 7¨9Ô#5Ñ6Ô6ð(/ð (/ñ 7Ô6ð(/ðV)ð )ð )ð.@ð @ð @ð0ð ð ð „×Ò˜ð $ñ ô ðLð Lñô ðLð%Bð %Bð %BðP*ð *ð *ð *ð *ñ *ô *ð *ð0Bð Bð Bð"ð "ð "ð A"ð A"ð A"ðH „×Ò˜ K°Ð#@ÑAÔAØ„×Ò˜¨°ZÀØ)2°I¸yð)Jñ Kô Kð-ð -ñKô Kñ BÔAð-ð. „×Ò˜ T¨1 IÑ.Ô.Ø„×ÒØðð ð ñ
ô 
ð$'ð $'ð $'ð $'ð $'ñ $'ô $'ñ
ô 
ñ /Ô.ð$'ðP Ô�gÒÐØÐÐÐÐÐØ€K€Kà€M€M€MØÔð !Ø”jˆð�{ð  uð ð ð ð ð˜;ð ¨;ð ð ð ð ð˜Kð ¨Kð ð ð ð ð	¨Kð 	¸Dð 	ð 	ð 	ð 	ð „×Ò�CÔ$ wÒ.ØDð ñ Fô FðS?ð S?ð S?ð S?ð S?ñ S?ô S?ñFô FðS?ðlð ð ð ð r1   