§
    µ³Ùgïñ ã                   ó˜  — d 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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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' ddl(m)Z)m*Z*m+Z+ ddl,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2 ddl3m4Z4 ddl5m6Z6m7Z7 ej8        j9        Z9d„ Z: G d„ d¦  «        Z; G d„ de;¦  «        Z<d„ Z=d„ Z>d„ Z?d„ Z@d„ ZAd„ ZBd„ ZCej8        jD        d„ ¦   «         ZEej8        jD        d„ ¦   «         ZFd „ ZG G d!„ d"e<¦  «        ZH G d#„ d$e<¦  «        ZI G d%„ d&e<¦  «        ZJ G d'„ d(e<¦  «        ZK G d)„ d*e;¦  «        ZLej8         M                    d+g d,¢¦  «        d-„ ¦   «         ZN G d.„ d/¦  «        ZO G d0„ d1¦  «        ZP G d2„ d3¦  «        ZQd4„ ZR G d5„ d6¦  «        ZSd7„ ZTd8„ ZUd9„ ZVd:„ ZWd;„ ZXe4 G d<„ d=¦  «        ¦   «         ZYd>„ ZZd?„ Z[d@„ Z\dAdBgZ]dCdDgZ^dEZ_dF„ Z` G dG„ dH¦  «        ZadI„ ZbdJ„ ZcdK„ ZddL„ Ze G dM„ dN¦  «        Zfej8        jD        ej8         g                    dO¦  «        dP„ ¦   «         ¦   «         Zh G dQ„ dR¦  «        ZidS„ Zj G dT„ dU¦  «        Zkejl        dV„ ¦   «         ZmdW„ ZndX„ ZodY„ ZpdZ„ Zqd[„ Zr er¦   «         Zsej8         t                    d\¦  «        ej8         u                     ejv        d]¬^¦  «        d_         d`         da         dbk    d\¬c¦  «        ej8         M                    d+esdd         ¦  «        ej8         M                    deesde         ¦  «        ej8         M                    dfesdg         ¦  «        ej8         M                    dhesdh         ¦  «        ej8         M                    diesdj         ¦  «        dk„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Zwej8         M                    d+esdd         ¦  «        dl„ ¦   «         Zxdm„ Zydn„ Zzdo„ Z{dp„ Z| G dq„ dr¦  «        Z}ds„ Z~dt„ Zej8         M                    d+dudvg¦  «        ej8         M                    dwe-e.e/e0e1e2g¦  «        dx„ ¦   «         ¦   «         Z€dS )yzx
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_warnsÚassert_array_lessÚsuppress_warnings)Úraises)Ú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)ÚrosenÚ	rosen_derÚ
rosen_hess)Ú
coo_matrixÚ
csc_matrixÚ
csr_matrixÚ	coo_arrayÚ	csr_arrayÚ	csc_array)Úarray_api_compatible)Úxp_assert_equalÚarray_namespacec            
      ó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    úX/granary/edev/quantum/lib/python3.11/site-packages/scipy/optimize/tests/test_optimize.pyÚexpitztest_check_grad.<locals>.expit.   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_expit1   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_sinxJ   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_sinxM   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   *   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_methodf   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.funct   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   `   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 )Ng      @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©gÍÌÌÌÌÌô?ç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_c2.  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_c28  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_powellA  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_gh14014c  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Ÿ   r0  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_   Fr/  rŽ   r(  r  Tr2  )r+   rd   rf   r6  rx   r©   rh   rP   rQ   r   rª   r}   r,  )ro   Úbad_simplicesr7  r8  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   rA  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 rP  )r+   rB   r-   s    r/   r˜   z:CheckOptimizeParameterized.test_ncg_zero_xtol.<locals>.jac)  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   rQ  r˜   rU   rT  rL  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’   rJ  rŽ   rK  r.   rÄ   r;   r    r£   é   r_   rÕ   ©ç(Æ6-H=�¾g×?üºËà¿g4 u¦3ß?©rZ  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_ncg6  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’   rJ  rŽ   )r—   r˜   r†   r–   r™   r.   )Úfhessr–   rh   rž   r“   rŸ   r;   r    r£   é   r_   rÕ   rY  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_hessW  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’   rJ  rŽ   )r—   r˜   r‰   r–   r™   r.   )Úfhess_pr–   rh   rž   r“   rŸ   r;   r    r£   ra  r_   rÕ   rY  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_hesspy  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-  r9  r<  rG  rM  rV  r^  rb  re  rk  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Å   r4  )r  úNelder-MeadrÅ   Úmaxfevró   r›   )r+   r7   Údefault_rngr   rª   )rt  Úimaxfevr—   rL  r=   s       @r/   Útest_maxfev_testry  ¯  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+   Úasarrayr6  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   ru  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 r?  r@  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Î¤¸?ru  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          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          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 r?  r@  r-   s    r/   r}   z/test_bounded_powell_outsidebounds.<locals>.func  rŸ  r1   )©rI  r)   r¥  r¥  )éüÿÿÿr^   gš™™™™™é¿r  rD  r`   r;   r    Tr   ©r   r   r   )r   r)   r   )r   r   r)   r  )r$  r—   r™   )g      Àr   r   Fr¤   )r   r   Ú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                  ó@  — 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          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 r?  r@  r-   s    r/   r}   z+test_bounded_powell_vs_powell.<locals>.func3  rŸ  r1   ))éûÿÿÿrI  )éöÿÿÿr  )r)   gffffff"@)r¦  gffffff@©gÍÌÌÌÌÌ/Àéþÿÿÿ)gÍÌÌÌÌÌ ÀgÍÌÌÌÌÌÀrÓ   r   r°  ç»½×Ùß|Û=©ÚftolrT  r  ró   r`   r;   r    )r™   r$  r—   )rI  r  r)   r   r°  )NrI  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>.funcQ  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¹   rD  g´£8“ç:}?r   )gbšŽ¥4»F@gìæ†:ÀgžWÀ�¿?@)r   rª   r   r.   rš   r+   rL   Úinfr›   r   r¨  )r}   r$  rU   r™   Ú
res_powellÚres_bounded_powellr�   s          r/   Útest_bounded_powell_vs_powellrº  *  sx  € ðð ð à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   ÉI<É<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   r@  r-   s    r/   r|   z1test_onesided_bounded_powell_stability.<locals>.fƒ  s   € Ý”�q‘	”	ˆzÐr1   g    `ãFÁç-Cëâ6?r    c                 ó�   — t          j        t          j        | ¦  «        ¦  «        dz   t          j        | dk    ¦  «        rdndz  S )Nr>   r   r)   rI  ©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)   rI  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)   rI  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Ã  w  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        j        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        j        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 rP  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}   rL  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        t          j        d¦  «        ¦  «        t           j                             t          | j        ¦  «        ¦  «        z  }t          j        | j	        | j
        |d| j        d¬¦  «        }t          |  	                    |¦  «        |  	                    | j        ¦  «        d¬¦  «         d S )Nr\   rŽ   F)r<   r–   rh   r“   r;   r    )r+   ÚsqrtÚspacingr7   Úrandr©  rg   r   rÈ   r}   rf   rh   r   )ro   r<   r®   s      r/   Útest_bfgs_numerical_jacobianz/TestOptimizeSimple.test_bfgs_numerical_jacobianÙ  s«   € õ ”'�"œ* R™.œ.Ñ)Ô)­B¬I¯NªN½3¸t¼}Ñ;MÔ;MÑ,NÔ,NÑNˆåÔ# 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˜   rL  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-constrrJ  ú	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†   rL  s         r/   Útest_finite_differences_hessz/TestOptimizeSimple.test_finite_differences_hessî  sN  € ð 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_numjac3  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>.fun@  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_funjac>  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 rP  )rö   rš   r.   rn   s    r/   Ú__init__zCTestOptimizeSimple.test_l_bfgs_b_maxiter.<locals>.Callback.__init__O  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__T  s-   € Ø�”Ý#œ>¨!Ñ,Ô,�”Ø�”˜A‘�”��r1   N©rŠ   r‹   rŒ   r  r  rŽ   r1   r/   ÚCallbackr  N  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_maxiterK  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                 ój  — d| j         dœ}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 )NF©r“   rh   ú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_be  sµ  € à¨$¬,Ð7Ð7ˆÝÔ˜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 ]†}d| j         |dœ}t          j        | j        | j        d| j        |¬¦  «        }|                      |j        ¦  «        }|€|}n||k     sJ ‚t          ||                      | j        ¦  «        |¬¦  «         Œ‡d S )N)r>   r½  r?   r±  F)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Ø!¨d¬lÀCÐHÐHˆ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dœ¬¦  «        }|j        rJ ‚d S )Nrû   r\   r%  Fr)   )r“   Úmaxlsr&  )r   rª   r   r+   rL   r   r½   )ro   r¾   s     r/   Útest_minimize_l_bfgs_maxlsz-TestOptimizeSimple.test_minimize_l_bfgs_maxls’  sY   € åÔ¥¤µ´¸$À¸Ñ0EÔ0EØ'1µxÔ7IØ16ÀÐ(CÐ(CðEñ Eô Eˆð ”;ÐÐÐÐÐ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   )é   r3  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   r5  ÚlowÚmediumÚhighr,  Úkr7  ÚtargetÚxminr,  r  r|   r4  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>   r3  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½   )r6  r+   Úsizery   r   r   )rš   rU   r–   rv  Ú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Ô   çš™™™™™©?©rK  ró   r\   r½  rü  ©rŽ   Nr>   r3  N)r   rª   r   rU  r   r.   )ro   rV  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/   rV  z0TestOptimizeSimple.test_gh10771.<locals>.custminß  s>   ø€ Ø˜8Ô$¨Ð.Ð.Ð.Ð.Ø˜=Ô)¨[Ð8Ð8Ð8Ð8ÝÔ*Ñ,Ô,Ð,r1   r)   )r—   r$  r]  )r   rª   r   )ro   rV  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.   r9  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   rc  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   ©
rC  Úpowellr	  rð   rS  r  ÚtncÚcobylarg  Úslsqp©rC  ri  rk  rg  r4   r±  )r˜   r  r—   r\   ú: z vs. )r   rª   r.   )ro   r}   rg  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<   nN‰dk    rd	|d
<   nB‰dv rd|d<   n8d|d<   n2ˆfd„}‰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)rs  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,  rt  rÕ   Úiterrs  r3  r7  )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   rj  ©r7  r™   r  )r\  rè   )rS  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>.callback8  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.   r9  s      r/   r:  zITestOptimizeSimple.test_minimize_callback_copies_array.<locals>.<genexpr>A  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>C  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ÚgetattrrU  r©  rK   rë  ÚcombinationsÚany)ro   r—   r}   r˜   r†   rU   rÂ  r|  r   rˆ  r�  s    `        @r/   Ú#test_minimize_callback_copies_arrayz6TestOptimizeSimple.test_minimize_callback_copies_array  s(  øø€ ð Ð2Ð2Ð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Ñ!Ð!å$(° 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   rh  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>.funcL  ó   € Ø˜‘E˜A‘:Ðr1   c                 ó   — d| dz
  z  dz  dz
  S )Nr4   r)   rI  rŽ   r-   s    r/   Úbad_gradz5TestOptimizeSimple.test_no_increase.<locals>.bad_gradO  s   € ð �a˜!‘e‘9 Ñ# aÑ'Ð'r1   ç       @rj  r  r}  r  rm  r'  rl  zSLSQP returns slightly worse)
r+   rL   rU  r   rª   r   r.   rš   rÙ   ro  )	ro   r—   r}   r�  rU   Úf0r˜   r™   r¾   s	            r/   Útest_no_increasez#TestOptimizeSimple.test_no_increaseE  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�  rE  r‘  r4   )rC   r+   rL   r-   s    r/   r|   z7TestOptimizeSimple.test_slsqp_respect_bounds.<locals>.fd  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)rI  rI  rI  rI  )éýÿÿÿr–  r°  rI  rÕ   rÅ   )r+   rL   Úconcatenaterv   ©r.   rz  s     r/   Úconsz:TestOptimizeSimple.test_slsqp_respect_bounds.<locals>.consg  sV   € Ý”Ð*Ð*Ð*Ð,<Ð,<Ð,<Ð=Ñ>Ô>ˆAÝ”>¥2¤6¨!¨Q¡<¤<µ"´(¸A¸r¸7Ñ2CÔ2CÑ#CÀQÐ"GÑHÔHÐHr1   )r^   r\   r6   r�  rl  Ú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_boundsb  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   )ru  r  r•   rÁ   rJ  r%  ÚSLSQPrñ  rõ  rò  rö  ró  rg  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ó   )rJ  r˜   r~  r†   rœ   rŸ  r¢   rg  rÇ   )r+   rd   r   r   r   r   r   rU  r‚   r†   rª   rš   rö   r›   rt   rœ   Úngevr�   )ro   r—   ÚMAXITERrU   ÚsfrÂ  r¾   s          r/   Útest_respect_maxiterz'TestOptimizeSimple.test_respect_maxiterp  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   )ru  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)   Trh  zMaximum number of iterationsrÎ   r,  ró   )r+   rd   r   r   r   r   r   rÙ   ÚwarnsÚ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   rf  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ª   rU  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 r?  rŽ   r-   s    r/   r|   z6TestOptimizeSimple.test_minimize_automethod.<locals>.fº  ó   € Ø�a‘4ˆKr1   c                 ó   — | dz
  S r?  rŽ   r-   s    r/   r™  z9TestOptimizeSimple.test_minimize_automethod.<locals>.cons½  s   € Ø�q‘5ˆLr1   rû  rš  r›  )r]  )rÕ   rÅ   ©r$  )r]  r$  ©r)   rÅ   r   r?   r    r4   rÕ   )r+   rL   r   rª   r½   r   r.   )
ro   r|   r™  rU   Úsol_0Úsol_1Úsol_2Úsol_3Úsol_4r¾   s
             r/   Útest_minimize_automethodz+TestOptimizeSimple.test_minimize_automethod¹  s•  € ð	ð 	ð 	ð	ð 	ð 	õ ŒX�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                             t	          |¦  «        ¦  «        }t          j        ||||d¬¦  «         d S )Nc                 ó6   — t          j        | |z
  dz  ¦  «        S r?  r@  ©r.   rr   s     r/   ÚYz=TestOptimizeSimple.test_minimize_coerce_args_param.<locals>.YÕ  s   € Ý”6˜1˜Q™3 ™(Ñ#Ô#Ð#r1   c                 ó   — d| |z
  z  S r?  rŽ   r¼  s     r/   ÚdY_dxzATestOptimizeSimple.test_minimize_coerce_args_param.<locals>.dY_dxØ  s   € Ø�a˜‘c‘7ˆNr1   )r_   r)   r¤   r)   rÕ   r¢   r4   rÇ   rÕ   r_   rÕ   rÁ   )r˜   r–   r—   rA   )r+   rL   r7   Úrandnr©  r   rª   )ro   r½  r¿  rr   Úxinits        r/   Útest_minimize_coerce_args_paramz2TestOptimizeSimple.test_minimize_coerce_args_paramÓ  sx   € ð	$ð 	$ð 	$ð	ð 	ð 	ð 	õ ŒHÐ6Ð6Ð6Ñ7Ô7ˆÝ”	—’¥ A¡¤Ñ'Ô'ˆÝÔ˜!˜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%  rJ  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)   rf  )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%  rJ  ç      ð¿r'  ú rn  r\   ©Úerr_msgr_   r   g)\�Âõ(ð?r^   )	rë  rì  rU  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Ð8NÐ8Nð ð?	ð 	r1   )rC  ri  r	  rð   rS  r  rj  rk  rg  rl  rñ  rõ  rò  rö  ró  c                 óH  ‡‡— |dk    r|dk    rt          j        d¦  «         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          ¦   «         5 }| 	                    t          d¦  «         | 	                    t          d¦  «         | 	                    t          d¦  «         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 )Nr)   rg  z,COBYQA does not support concurrent executionr8   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Ö  rä  )r.   Úcountr=   s    €€r/   Úfunc2z1TestOptimizeSimple.test_nan_values.<locals>.func2"  s:   ø€ Ø�!ˆHˆHŒH˜‰MˆHˆH‰HØ�QŒx˜!Š|ˆ|Ý”v�à—x’x‘z”zÐ!r1   c                 ó,   — t          j        dg¦  «        S ©Nr\   rf  r-   s    r/   r‚   z0TestOptimizeSimple.test_nan_values.<locals>.grad)  s   € Ý”8˜S˜E‘?”?Ð"r1   c                 ó.   — t          j        dgg¦  «        S rÖ  rf  r-   s    r/   r†   z0TestOptimizeSimple.test_nan_values.<locals>.hess,  s   € Ý”8˜c˜U˜GÑ$Ô$Ð$r1   r\   ©rS  ró  rö  rò  rõ  ©ró  rö  rò  rõ  rj  r  r}  r  ré   rÝ  údelta_grad == 0.*ú.*does not use Hessian.*ú.*does not use gradient.*)r˜   r†   r—   r™   F)rÙ   Úskipr+   r7   ÚRandomStaterL   rU  rì   r	   ÚfilterÚUserWarningr§  rë  rì  r   rª   r   r½   )ro   r—   Únum_parallel_threadsr}   rÔ  r‚   r†   rU   Ú
needs_gradÚ
needs_hessÚfuncsÚgradsÚhesssr™   Úsupr|   r?  Úhr¾   rÓ  r=   s                      @@r/   Útest_nan_valuesz"TestOptimizeSimple.test_nan_values  s˜  øø€ ð   !Ò#Ð#¨°(Ò(:Ð(:ÝŒKÐFÑGÔGÐGõ Œi×#Ò# DÑ)Ô)ˆà�ˆð	ð 	ð 	ð	"ð 	"ð 	"ð 	"ð 	"ð 	"ð	#ð 	#ð 	#ð	%ð 	%ð 	%õ ŒX�s�e‰_Œ_ˆàð  7ð 7ˆ
àð  *ð *ˆ
ð �u�ˆØ$Ð6���¨4°¨,ˆØ$Ð6���¨4°¨,ˆØ%+¨u¢_ _•$˜b�/‘/”/�/½$ÀrÐ:JÑ:JÔ:JˆåŒ[ Ð*Ñ*Ô*ð 		1ð 		1Õ,=Ñ,?Ô,?ð 		1À3Ø�JŠJ•{Ð$7Ñ8Ô8Ð8Ø�JŠJ•~Ð'AÑBÔBÐBØ�JŠJ•~Ð'BÑCÔCÐCå$Ô,¨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   ÃFÃB!E?Å3FÅ?F	ÆFÆF	ÆFÆFÆF)rC  r	  rð   r  rj  rk  rg  rl  rñ  rõ  rò  rö  ró  c           	      óD  — d x}}|dv r| j         }|dv r| j        }t          j        d¬¦  «        5  t	          ¦   «         5 }|                     t          d¦  «         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ß  rà  r   rª   r}   rf   r6  r©  rm   rs   Úarray_equalru   )ro   r—   r˜   r†   rç  rƒ  s         r/   Útest_duplicate_evaluationsz-TestOptimizeSimple.test_duplicate_evaluationsF  sæ  € ð ÐˆˆdØð -ð -ð -à”)ˆCØð  ð  ð  à”9ˆDåŒ[ Ð*Ñ*Ô*ð 	Að 	AÕ,=Ñ,?Ô,?ð 	AÀ3à�JŠJ•{Ð$7Ñ8Ô8Ð8ÝÔ˜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Ð=Ð=ñ?ô ?ð ?ð?ð	?ð 	?s4   °B!¿?B
Á>B!Â
B	ÂB!ÂB	ÂB!Â!B%Â(B%Únew_cb_interface)r   r)   r4   c                 óv  ‡
‡‡— ˆ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 ‚n2t          j        di |¤dd‰ii¤Ž}	|j        |	j        cxk    r‰k    sn J ‚|j        |	j        k    sJ ‚t          |j        |	j        ¦  «         |j	        |dv rdndk    sJ ‚d S )Nc                 ó:   •— d‰_         t          j        | ¦  «        S ©NF)Úflagr   r   ©r.   r|   s    €r/   r|   z9TestOptimizeSimple.test_callback_stopiteration.<locals>.fg  s   ø€ ØˆAŒFÝ”> !Ñ$Ô$Ð$r1   Fc                 ó:   •— d‰_         t          j        | ¦  «        S rð  )rñ  r   r   rò  s    €r/   r?  z9TestOptimizeSimple.test_callback_stopiteration.<locals>.gl  s   ø€ ØˆAŒFÝÔ% aÑ(Ô(Ð(r1   c                 ó:   •— d‰_         t          j        | ¦  «        S rð  )rñ  r   r   rò  s    €r/   rè  z9TestOptimizeSimple.test_callback_stopiteration.<locals>.hp  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_interfacew  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   rW  )rU   r—   rš   r˜   r†   r   rC  rg  r™   rv  rh   )rñ  rg  r_   éc   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_stopiteration`  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åÔ#ÐKÐK fÐKÐK°yÀ'Ð6JÐKÐKÐKˆCØ”7˜cœgÐ0Ð0Ò0Ð0¨Ò0Ð0Ð0Ð0Ð0Ð0ØŒw˜#œ'Ò!Ð!Ð!Ð!Ý�S”U˜CœEÑ"Ô"Ð"ØŒz 6ð .
ð $
ð $
˜a˜að òð ð ð ð ð 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)rC  r  rj  ri  rk  rg  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 r?  r@  r-   s    r/   r|   z:TestOptimizeSimple.test_minimize_invalid_bounds.<locals>.f©  rB  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	  rS  ri  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 )Nri  r˜   TrÅ   r$  ú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-  r0  rF  r[  r`  rq  rÙ   rl  Ú	fail_slowrm  rn  r   rŠ  r’  rž  r¤  Úthread_unsafer¨  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ðz „[×Ò˜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ð
.1ð .1ñHô Hð
.1ð` „[×Ò˜Xð (Gð (Gð (Gñ Hô Hð
?ð ?ñHô Hð
?ð* „[×ÒÐ 8Ñ9Ô9Ø„[×Ò˜XÐ'>Ñ?Ô?Ø„[×ÒÐ/°°°Ñ;Ô;ð;ð ;ñ <Ô;ñ @Ô?ñ :Ô9ð;ðz<ð <ð <ð
 „[×Ò˜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  rj  r  ru  rg  c                 ó€   — d„ }t          j        |ddg| ¬¦  «        }|j        sJ ‚t          |j        dgd¬¦  «         d S )Nc                 ó0   — t          j        | dz  ¦  «        S r?  r@  r-   s    r/   r|   z$test_minimize_with_scalar.<locals>.fÏ  rŸ  r1   é   )r  r3  rD  r`   rº   r    )r   rª   r½   r   r.   )r—   r|   r­   s      r/   Útest_minimize_with_scalarr  É  s[   € ðð ð õ Ô
˜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   rI  )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   rI  ©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   rI  r%  ©r—   r˜   r$  r½   r!  r;   r    )r   rª   rš   r˜   r$  r   r.   rg   rj  s     r/   Útest_minimize_l_bfgs_b_boundsz.TestLBFGSBBounds.test_minimize_l_bfgs_b_boundsó  sl   € åÔ ¤¨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   rI  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   rI  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Ð1Ý˜CœE 4¤=°tÐ<Ñ<Ô<Ð<Ð<ð	=ð 	=r1   Nr&  )rŠ   r‹   rŒ   rp   rš   r˜   r   r$  r  r)  rÙ   rl  rn  r+  r/  rŽ   r1   r/   r  r  ×  sê   € € € € € ðð ð ð-ð -ð -ð -ðð ð ð ð.ð .ð .ð .ð5ð 5ð 5ð5ð 5ð 5ð9ð 9ð 9ð „[×Ò˜XØ
�7Ð	Ø
�7Ð	Ø
�7Ð	ð(ñ ô ð
;ð ;ñô ð
;ð
=ð =ð =ð =ð =r1   r  c                   óŒ  — 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        j        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         Zd S )"ÚTestOptimizeScalarc                 ó   — d| _         d S )Nr6   )rg   rn   s    r/   rp   zTestOptimizeScalar.setup_method  s   € ØˆŒˆˆr1   r6   c                 ó   — ||z
  dz  dz
  S )zObjective functionr4   rÒ   rŽ   )ro   r.   rz  s      r/   rš   zTestOptimizeScalar.fun  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ñÿÿÿrI  é   ú/\(f\(xb\) < f\(xa\)\) and \(f\(xb\) < f\(xc\)\)rÎ   ©rI  r   r)   ú\(xa < xb\) and \(xb < xc\)©r   rI  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    r5  r6  Tr8  r   r9  ©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_golden1  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_fminboundQ  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   rH  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 r?  rŽ   r-   s    r/   rš   z,TestOptimizeScalar.test_gh11207.<locals>.fund  r°  r1   r   )r   rH  )ro   rš   s     r/   Útest_gh11207zTestOptimizeScalar.test_gh11207c  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ó   r5  ©r6   )Úbracketr–   r—   )r—   r–   r9  rC  )r   r)   ÚBounded)r$  r–   r—   r)   r½  )r)   rÕ   ÚboundedrÕ   r6   )rÕ   r)   ©r$  r—   r–   r4   rD  )r   Úminimize_scalarrš   r.   r   rg   r½   rU  r+   rL   rP   rQ   rd   r  s     r/   Útest_minimize_scalarz'TestOptimizeScalar.test_minimize_scalarh  s°  € åÔ$ T¤XÑ.Ô.Ô0ˆÝ˜˜4œ=¨tÐ4Ñ4Ô4Ð4åÔ$ T¤X°gÐ>Ñ>Ô>ˆØŒ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>   r3  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�  TFrI  r_  )rš   rS  r–   rv  rK  rh   r   r™   rL  rM  rN  rO  rP  rQ  rT  rU  s                   r/   rV  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¤   rX  rY  )rS  r—   r™   r;   r    rZ  )r   rW  rš   rU  r   r.   rg   )ro   rV  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   rW  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?  rU  rC  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 )NrU  r$  r®  rÅ   r—   r.   r½   r!  rš   r›   rö   )r   rW  rš   rt   )ro   r—   rÂ  rL  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           
      ó>  ‡— t           j                             d¦  «         dgŠˆfd„}d}d}t          j        d¬¦  «        5  t	          ¦   «         5 }|                     t          d¦  «         |                     t          d	¦  «         |                     t          d
¦  «         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 )Nr8   r   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Ü  rU  r$  rS  r  r  ró   F)r+   r7   r:   rì   r	   rß  rà  r§  r   rW  rU  r   r½   )	ro   r—   r}   rS  r$  rç  rÂ  r¾   rÓ  s	           @r/   ré  z"TestOptimizeScalar.test_nan_valuesÜ  sÝ  ø€ õ 	Œ	�Š�tÑÔÐà�ˆð	.ð 	.ð 	.ð 	.ð 	.ð ˆØˆåŒ[ Ð*Ñ*Ô*ð 	-ð 	-Õ,=Ñ,?Ô,?ð 	-À3Ø�JŠJ•{Ð$7Ñ8Ô8Ð8Ø�JŠJ•~Ð'AÑBÔBÐBØ�JŠJ•~Ð'BÑCÔCÐCà�CˆEà+1°YÒ+>Ð+>�h Ð'Ð'ÀBˆFÝÔ*¨4ð Eð E¸ð EØ-3ðEØ<BÝ37ÀÐ3CÑ3CÔ3CðEð Eð Eð EˆCõ ˜œ eÑ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-s7   ÁDÁBC:Ã.DÃ:C>	Ã>DÄC>	ÄDÄDÄDc                 ó¾   — d„ }t          j        |¦  «        }t          |j        dd¬¦  «         t          j        |dddi¬¦  «        }t          |j        d	¦  «         d S )
Nc                 ó   — | dz  S r?  rŽ   r-   s    r/   r|   zCTestOptimizeScalar.test_minimize_scalar_defaults_gh10911.<locals>.fþ  r°  r1   r   rý   r    )r)   r3  r‹  r±  )r$  r™   r)   )r   rW  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   rW  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?  rC  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Î   rK  ©r—   r$  )rÙ   r
   rQ   r   rW  r+   rB   )ro   r—   r„  s      r/   Ú2test_minimize_unbounded_method_with_bounds_gh10911zETestOptimizeScalar.test_minimize_unbounded_method_with_bounds_gh10911  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rr  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.   rn  s    €r/   r|   zITestOptimizeScalar.test_minimize_scalar_dimensionality_gh16196.<locals>.f!  s#   ø€ Ý”8˜A˜q™D‘>”>×)Ò)¨&Ñ1Ô1Ð1r1   )r  rI   rU  )rS  r²  )r—   r  )rU  Úupdater   rW  r.   Úshaperš   )	ro   r—   r  rn  r|   rz  ÚbrÂ  r­   s	      `     r/   Ú+test_minimize_scalar_dimensionality_gh16196z>TestOptimizeScalar.test_minimize_scalar_dimensionality_gh16196  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   )rU  r?  rC  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>.f1  r�  r1   rU  r$  rS  r°  rÅ   Tr_   r$  r  rÎ   ró   Fr“   )rÙ   r¦  r   r¨  rW  )ro   r—   r|   rÂ  Úkwdr™   s         r/   Ú$test_minimize_scalar_warnings_gh1953z7TestOptimizeScalar.test_minimize_scalar_warnings_gh1953,  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"NrR  )rŠ   r‹   rŒ   rp   rš   r@  rÙ   rl  rm  rF  rI  rL  rO  rX  r[  r_  rn  ra  rc  ré  rh  rj  rm  r   rx  r  r|  rŽ   r1   r/   r1  r1    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   r1  c                   óœ   — e Zd Zej                             d¦  «        d„ ¦   «         Zej                             dd¦  «        d„ ¦   «         ZdS )ÚTestBracketrr  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 ©NrI  r)   r4   g      Y@rŽ   r-   s    r/   r|   z3TestBracket.test_errors_and_status_false.<locals>.fF  ó"   € Ø !šV¨¨AªÑ.Ð:�1�a‘4�4°UÐ:r1   ú9The algorithm terminated without finding a valid bracket.rÎ   rI  r)   r¥  r6  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>.fS  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   rS  r+   r·  r?  rC  )ro   r|   r!  s      r/   Útest_errors_and_status_falsez(TestBracket.test_errors_and_status_falseC  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?  rC  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¥  )rS  r—   r_   r   r3  )r   rW  r½   r!  r›   rö   rš   )ro   r—   r|   r!  r­   s        r/   Ú"test_minimize_scalar_success_falsez.TestBracket.test_minimize_scalar_success_falseZ  s‚   € ð	;ð 	;ð 	;ð NˆåÔ& q°'À&ÐIÑIÔIˆØ”;ÐÐÐØ˜#œ+Ð%Ð%Ð%Ð%ØŒx˜1Š}ˆ}ˆ}ˆ}ØŒw˜!Š|ˆ|ˆ|ˆ|ØŒw˜#Š~ˆ~ˆ~ˆ~ˆ~ˆ~r1   N)	rŠ   r‹   rŒ   rÙ   rl  rm  r‡  rn  rŠ  rŽ   r1   r/   r~  r~  A  sn   € € € € € à„[×ÒÐ 8Ñ9Ô9ð7ð 7ñ :Ô9ð7ð, „[×Ò˜XÐ':Ñ;Ô;ðð ñ <Ô;ðð ð r1   r~  c                  ó^   — t          t          t          j        t          j        d¬¦  «         d S )Ng{®Gáz„¿rB  )rP   rQ   r   r?  r+   rG   rŽ   r1   r/   Útest_brent_negative_tolerancerŒ  j  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º   rJ  ©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_rosenbrocko  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 )NrJ  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_himmelblauy  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º   rJ  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Ž  n  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ÀrI  r·   r–  )rÓ   r)   çffffff@r_   ©r`   r   r   r   )r`   r4   r–  r   ©r\   r   r   r   rž  rÓ   ©r`   r)   r   r   rI  r)   ©r`   r   r)   r   r·   rŸ  ©r`   r   r   r)   r–  r_   )r\   r)   r   r   )r\   r   rI  r4   r6   )r�  r   rI  r4   gffffffî?g333333@)r\   r   rI  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¡  rI  r¢  r4   r£  r6   r¤  r´  ©rÊ  r   r)   r   ç      ô?©r`   r   r)   r)   çš™™™™™á?©r�  r   rI  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¡  rI  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 r?  )ÚlbrK   Úub)r.   rz  rw  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^   ri  )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d„ Z eddg¬¦  «        ej                             d¦  «        d„ ¦   «         ¦   «         Z eddg¬¦  «        ej                             d¦  «        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š	  sL   € à�JŠJ�y�y�yÑ!Ô!ˆÝ�œ qÑ)Ô)ØŸ
š
 2™œñ	(ô 	(ð 	(ð 	(ð 	(r1   z	jax.numpyz)JAX arrays do not support item assignment)ÚreasonsÚskip_xp_backendsc           	      óÒ   — |                      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 	  sg   € ð �JŠJ�|�|�|Ñ$Ô$ˆÝ�Ô*¨1Ñ-Ô-ØŸš a¨r¯zªz¸"©~¬~Ô/C˜ÑDÔDñ	Fô 	Fð 	Fð 	Fð 	Fr1   c                 óX  — |                      d¦  «        }t          |¦  «        }|                      g d¢¦  «        }|                      g d¢¦  «        }t          j        ||¦  «        }|                     ||j        ¦  «        }t          j        |¦  «        |z  }t          ||¦  «         d S )Nr\   )r_   r¤   rÕ   )r4   r4   r4   )r€  r%   r   Úrosen_hess_prodr–  r“  r   r$   )ro   r  ÚoneÚxp_testr.   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¨Ñ+Ô+ˆØ�NŠN˜1˜cœiÑ(Ô(ˆÝÔ# AÑ&Ô&¨Ñ*ˆÝ˜˜EÑ"Ô"Ð"Ð"Ð"r1   N)
rŠ   r‹   rŒ   rÛ  rÝ  rÙ   rl  Úusefixturesrà  rç  rŽ   r1   r/   rØ  rØ  ˜	  sØ   € € € € € ð(ð (ð (ð Ð�kØJÐKðMñ Mô Mà„[×ÒÐ/Ñ0Ô0ðFð Fñ 1Ô0ñMô MðFð
 Ð�kØJÐKðMñ Mô Mà„[×ÒÐ/Ñ0Ô0ð	#ð 	#ñ 1Ô0ñMô Mð	#ð 	#ð 	#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.   r9  rz  rw  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   é   é   rX  rf  ©r�   r.   r9  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í  rf  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   rf  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(   rf  r-   s    r/   Úfunc1z1test_minimize_multiple_constraints.<locals>.func1Ø	  ó   € ÝŒx˜˜1œ˜ÑÔÐr1   c                 ó8   — t          j        | d         g¦  «        S r?  rf  r-   s    r/   rÔ  z1test_minimize_multiple_constraints.<locals>.func2Û	  rõ  r1   rš  r›  c                 ó<   — d| d         | d         z   | d         z   z  S )NrI  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    rF  )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          ¦   «         5 }|                     t          d¦  «         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!  rk  rö   z7Method .+ does not use (gradient|Hessian.*) information)r—   r˜   r†   r‰   )r   r	   rß  r§  r   rª   r}   rU   r˜   r†   r‰   rt   Údirr€  r!  Ústr)ro   Ú
attributesrÝ  r—   rç  r­   Ú	attributes          r/   Útest_attributes_presentz4TestOptimizeResultAttributes.test_attributes_presentô	  s\  € ð!ð !ð !ˆ
à˜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A<Á<B 	ÂB 	N)rŠ   r‹   rŒ   rp   rÙ   rl  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 r?  rŽ   ©rd  r®   r.   r9  rz  rw  rr   r  ræ   r|   r?  rè  rƒ  r8  rC  rÃ  rÇ  s                    r/   Úf1r  
  sj   € Ø�D€A€qØ06Ñ-€A€qˆ!ˆQ��1�a˜˜A˜q ! Q¨Ø��1‘‰H�q˜1‘u˜q‘yÑ  1 q¨!¡t¡8Ñ+¨a°©cÑ1°A°a±CÑ7¸!Ñ;Ð<r1   c                 ó‚   — | \  }}|\  }}}}}}	}
}}}}}}|
 t          j        ||z
  dz  ||z
  dz  z    |z  ¦  «        z  S r?  r*   r  s                    r/   Úf2r  
  ó_   € Ø�D€A€qØ06Ñ-€A€qˆ!ˆQ��1�a˜˜A˜q ! Q¨ØˆB�rŒv˜˜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 r?  r*   r  s                    r/   Úf3r
  
  r  r1   c                 óT   — t          | g|¢R Ž t          | g|¢R Ž z   t          | g|¢R Ž z   S rA   )r  r  r
  )rd  r®   s     r/   Ú
brute_funcr  
  s6   € Ýˆaˆ>�&ˆ>ˆ>ˆ>�B˜q˜N 6˜N˜N˜NÑ*­R°¨^°F¨^¨^¨^Ñ;Ð;r1   c                   óœ   — e Zd Zd„ Zd„ Zd„ Zd„ Zej         	                    d¦  «        d„ ¦   «         Z
ej        j        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Å   é,   rI  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   rd  r®   s      r/   r  zTestBrute.brute_func)
  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_brute-
  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©  rv  r-   s    r/   r|   zTestBrute.test_1D.<locals>.fG
  s7   € Ý�q”w‘<”< 1Ò$Ð$Ð$Ð$Ø”7˜1”: ’?�?�?�?Ø˜‘6ˆMr1   r¥  r_   )ÚNsr  )r   r  )ro   r|   s     r/   Útest_1DzTestBrute.test_1DD
  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  ÚworkersrI  r   )r   r  r  r  r®   r   )ro   r  Ú	resbrute1s      r/   Útest_workerszTestBrute.test_workersN
  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 rr  rs  )rd  r®   r=   s     €r/   r}   z,TestBrute.test_runtime_warning.<locals>.func^
  s   ø€ Ø—:’:˜a‘=”= 4Ñ'Ð'r1   zFfinal optimization did not succeed.*|Maximum number of function eval.*rÎ   T)r–   r“   )
r+   r7   rw  rÙ   r¦  r§  r   r  r  r®   )ro   Úcapsysr}   r„  r=   s       @r/   r¨  zTestBrute.test_runtime_warningZ
  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 rP  rŽ   )r.   r–   s     r/   r|   z+TestBrute.test_coerce_args_param.<locals>.fg
  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_parame
  sN   € ð	 ð 	 ð 	 õ ”> !¥e¨B°°3Ñ&7Ô&7Ð%9ÀÐBÑBÔBˆÝ˜ !Ñ$Ô$Ð$Ð$Ð$r1   N)rŠ   r‹   rŒ   rp   r  r  r  rÙ   rl  r  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>.objective1w
  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¹   ry  )Ú
min_methodr/  s   €€r/   Ú
minimizer1z*test_cobyla_threadsafe.<locals>.minimizer1�
  ó'   ø€ ÝÔ  Ø'* eØ-7ð9ñ 9ô 9ð 	9r1   c                  ó4   •— t          j        ‰dg‰ ¬¦  «        S r4  ry  )r5  r1  s   €€r/   Ú
minimizer2z*test_cobyla_threadsafe.<locals>.minimizer2†
  r7  r1   )Úconcurrent.futuresr.  ÚfuturesÚThreadPoolExecutorrx   ÚsubmitrL  )
Ú
concurrentr6  r9  ÚpoolÚtasksrs   r5  r/  r1  r.  s
         @@@@r/   Útest_cobyla_threadsaferA  n
  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   rN  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   rN  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 )Nru  éÈ   ©Úcheck_limitsrn   s    r/   Útest_neldermead_limitz)TestIterationLimits.test_neldermead_limit¡
  s   € à×Ò˜-¨Ñ-Ô-Ð-Ð-Ð-r1   c                 ó2   — |                       dd¦  «         d S )Nri  ra   rJ  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   )r4  iô  éˆ  r   rv  ró   r›   r½   rh   rö   r4  rP  )rh   rv  )rN  rr   r   rª   rG  r+   r·  )ro   r—   Údefault_itersÚstart_vÚmfevr­   Úmits          r/   rK  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Ð2CÐ2Cà˜vœ;¨$Ò.Ð.°#°e´*ÀÒ2CÐ2CÐ2CÐ2CøÝ!œ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   rG  rÙ   rl  r  rL  rN  rK  rŽ   r1   r/   rC  rC  “
  s|   € € € € € ð*ð *ð *ð&ð &ð &ð „[×Ò˜2ÑÔð.ð .ñ Ôð.ð*ð *ð *ð->ð ->ð ->ð ->ð ->r1   rC  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 rX  rf  r-   s    r/   r†   z3test_result_x_shape_when_len_x_is_one.<locals>.hessß
  s   € ÝŒx˜"˜˜ÑÔÐr1   )	ru  r  r•   rÁ   r%  rç  r2  ÚCOBYQArŸ  r>   r¹   ro  )rñ  rõ  rò  rö  ró  rJ  rô  )r   rª   r+   rL   r.   rv  )rš   r˜   r†   rí  r—   r­   s         r/   Ú%test_result_x_shape_when_len_x_is_oner[  Ø
  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/   r]  r]  ñ
  s2   € € € € € ð1ð 1ð 1ð#ð #ð #ð #ð #r1   r]  c                  ó   — t          ¦   «         S rA   )r]  rŽ   r1   r/   Úfunction_with_gradientrb  ü
  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©rb  Úmemoized_functionrU   s      r/   Ú)test_memoize_jac_function_before_gradientrh    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¤   rd  rÌ  )r   r+   rL   r   re  r_  rr   rf  s      r/   Ú)test_memoize_jac_gradient_before_functionrj    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   re  r   rÁ   r+   rL   r   r_  rr   rš   )rb  rg  r˜   r†   rU   Úscalar_functions         r/   Útest_memoize_jac_with_bfgsrm  '  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 r?  rf  r-   s    r/   rˆ  ztest_gh12696.<locals>.<lambda>@  s   € •b”h  1¡˜vÑ&Ô&€ r1   Frë   )r   r   rH  r+   r   rŽ   r1   r/   Útest_gh12696rp  <  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„}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 )Nr   r¤   )r   r4   rI  rÊ  )r_   r4   r4   rÊ  Tc                 óf   •— |r| j         dk    sJ ‚|rt          | ‰         ‰‰         ¦  «         d S d S rs  )rJ  r   )r.   Ú
check_sizeÚcheck_valuesÚi_ebrË  s      €€r/   Úcheck_xz(setup_test_equal_bounds.<locals>.check_xM  sJ   ø€ Øð 	Ø”6˜Q’;�;�;�;Øð 	/Ý˜A˜dœG R¨¤XÑ.Ô.Ð.Ð.Ð.ð	/ð 	/r1   c                 óB   •—  ‰| ¦  «         t          j        | ¦  «        S rA   r  ©r.   rv  s    €r/   r}   z%setup_test_equal_bounds.<locals>.funcS  s    ø€ Øˆ�‰
Œ
ˆ
ÝŒ~˜aÑ Ô Ð r1   c                 óB   •—  ‰| ¦  «         t          j        | ¦  «        S rA   )r   r   rx  s    €r/   r‚   z%setup_test_equal_bounds.<locals>.gradW  s!   ø€ Øˆ�‰
Œ
ˆ
ÝÔ! !Ñ$Ô$Ð$r1   c                 ó   •—  ‰| ¦  «         d S rA   rŽ   )r.   r–   rv  s     €r/   r   z)setup_test_equal_bounds.<locals>.callback[  s   ø€ Øˆ�‰
Œ
ˆ
ˆ
ˆ
r1   c                 ó8   •—  ‰| d¬¦  «         | dd…         dz
  S )NF©rt  r   r)   rŽ   rx  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.   Údcrv  s     €r/   Ú	jacobian1z*setup_test_equal_bounds.<locals>.jacobian1b  ó5   ø€ Øˆ� Ð&Ñ&Ô&Ð&ÝŒ]˜1ÑÔˆØˆˆ1‰Øˆ	r1   c                 ó8   •—  ‰| d¬¦  «         | dd…         dz
  S )NFr|  r4   r_   r^   rŽ   rx  s    €r/   Úconstraint2z,setup_test_equal_bounds.<locals>.constraint2h  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>.jacobian2l  rƒ  r1   )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   ru  )TT)r+   r7   rÞ  rä  rL   r   r·  r   )r=   rU   rÌ  r   r}  r‚  r…  r‡  Úc1aÚc1bÚc2aÚc2brí  r�  rŽ  r]  r�  Údatarv  r}   r‚   ru  rË  s                     @@@@@r/   Úsetup_test_equal_boundsr•  E  su  øøøøø€ å
Œ)×
Ò
 Ñ
"Ô
"€CØ	�Š�!‰Œ€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           	      ób  — 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¦  «         |	|
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%          |t&          ¦  «        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   ru  rŸ  z)Only SLSQP supports nonlinear constraints)rU   r—   r$  r]  r   )r—   r˜   r$  r]  gTäqs*¹>r»   gü©ñÒMb@?r   r¤   r;   c                 ó�   — t          j        t           j        dt           j        dg¦  «        }| |ddg<   t          j        |¦  «        S )Nr4   rI  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   rl  g�íµ ÷ÆÀ>rŽ   )ÚplatformÚmachinerÙ   rÝ  Úeb_dataru  r   rª   r   r   r½   r   rš   r.   r+   rÖ  r˜   rv  r€  r   )r—   r�  r›  r]  r   rË  rÌ  rU   ru  Útest_constraintsÚreference_constraintsÚ	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ÝŒÐ?Ñ@Ô@Ð@ð "Ð%:Ò:€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   rp  )r4   r4   )r\   rE  rD  r\   r�  z/All independent variables were fixed by bounds.)r4   rV  r4   rŸ  c                 ó*   — t          j        | ¦  «        S rA   r@  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 valuesro  )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²  ä  sI  € ð&ð &ð &ð &ð �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>.f  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>.cfun  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š   ry  )r|   r·  r]  r$  s       r/   Útest_eb_constraintsr¸    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ª   rW  Ú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Å  '  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Ç  ?  s[   € åŒ_  R ¨c°3¨ZÐ8Ñ8Ô8€FÝÔÝŒ�2œ8 Q¨ FÑ+Ô+°HÀVðñ ô ð ð ð r1   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   rJ  rC   r˜  s     r/   Úfquadz/test_x_overwritten_user_function.<locals>.fquadK  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 r?  )r+   rO   rJ  r˜  s     r/   Ú	fquad_jacz3test_x_overwritten_user_function.<locals>.fquad_jacQ  s4   € ÝŒI•b”g˜a‘j”jÑ!Ô!ˆØ	ˆQ‰ˆØ	ˆQ�‰U‰
ˆØˆr1   c                 óT   — t          j        t          j        | ¦  «        ¦  «        dz  S rX  )r+   rÚ   rJ  r-   s    r/   Ú
fquad_hessz4test_x_overwritten_user_function.<locals>.fquad_hessW  s   € ÝŒv•b”g˜a‘j”jÑ!Ô! CÑ'Ð'r1   )rS  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   rJ  )
rÊ  rÌ  rÎ  Úmeth_jacÚ	meth_hessrU   Úmethr˜   r†   r­   s
             r/   Ú test_x_overwritten_user_functionrÒ  G  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 r?  rŽ   r-   s    r/   r}   zDTestGlobalOptimization.test_optimize_result_attributes.<locals>.funcr  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�  rL  s       r/   Útest_optimize_result_attributesz6TestGlobalOptimization.test_optimize_result_attributesq  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Ô  o  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   rJ  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_hess«  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ê  ¢  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   ri   Únumpyr+   Únumpy.testingr   r   r   r   r   r   r	   rÙ   r
   rP   Úscipyr   Ú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   Úscipy.optimizer   r   r   Úscipy.sparser   r   r   r    r!   r"   Úscipy.conftestr#   Úscipy._lib._array_api_no_0dr$   r%   rl  rÝ  rW   rY   r�   ry  r…  r‰  rŽ  r—  rœ  r¢  r  rª  rº  rÃ  rÅ  rÈ  rÊ  rÌ  rÎ  rn  r  r  r1  r~  rŒ  rŽ  r°  rÄ  rÇ  rÏ  rÖ  rØ  r•  rR   rS   rT   r–  r—  rù  rû  r  r  r
  r  r  r  rA  rC  r[  r]  Úfixturerb  rh  rj  rm  rp  r•  r¢  Úxfail_on_32bitro  Úshow_configr¨  r²  r¸  rÅ  rÇ  rÒ  rÔ  rß  râ  rê  rŽ   r1   r/   ú<module>rü     sr
  ððð ð Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð ðAð Að Að Að Að Að Að Að Að Að Að Að Að Að Að Að Að Að €€€Ø *Ð *Ð *Ð *Ð *Ð *à €€€Ø Ð Ð Ð Ð Ð Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @ð?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð 4Ð 3Ð 3Ð 3Ð 3Ð 3Ø -Ð -Ð -Ð -Ð -Ð -Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø <Ð <Ð <Ð <Ð <Ð <Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ 7Ð 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à /Ð /Ð /Ð /Ð /Ð /Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hà”;Ô/Ð ð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ñ ô ð ð
ð ð ð ð Ð :ñ ô ð ð
ð ð ð ð Ð :ñ ô ð ð
ð ð ð ð Ð"<ñ ô ð ð
QDð QDð QDð QDð QD˜ñ QDô QDð QDðh „×ÒØØ:Ð:Ð:ñô ð-ð -ñ	ô ð-ð:=ð :=ð :=ð :=ð :=ñ :=ô :=ð :=ð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ð*$ð $ð $ð ð#ð #ð #ð #ð #ñ #ô #ñ Ôð#ð<ð ð ð;ð ;ð ;ð7ð 7ð 7ð ˜�€Ø�a�&€Ø€ð4ð 4ð 4ð, 0ð  0ð  0ð  0ð  0ñ  0ô  0ð  0ðF=ð =ð =ð7ð 7ð 7ð7ð 7ð 7ð<ð <ð <ðI%ð I%ð I%ð I%ð I%ñ I%ô I%ð I%ðX „ÔØ„×Ò�rÑÔð ð  ñ Ôñ Ôð ðFB>ð B>ð B>ð B>ð B>ñ B>ô B>ð B>ðJ#ð #ð #ð2#ð #ð #ð #ð #ñ #ô #ð #ð „ð"ð "ñ „ð"ð3ð 3ð 3ð&3ð 3ð 3ð&9ð 9ð 9ð*Cð Cð CðQð Qð Qðh "Ð
!Ñ
#Ô
#€ð „×ÒÐNÑOÔOØ„×ÒÐ$�5Ô$¨'Ð2Ñ2Ô2°;Ô?À	ÔJÈ6ÔRØò àLð ñ Nô Nð „×Ò˜ 7¨9Ô#5Ñ6Ô6Ø„×Ò˜ ¨¤Ñ1Ô1Ø„×Ò˜ w¨}Ô'=Ñ>Ô>Ø„×Ò˜¨°Ô(>Ñ?Ô?Ø„×Ò˜ W¨[Ô%9Ñ:Ô:ð;<ð ;<ñ ;Ô:ñ @Ô?ñ ?Ô>ñ 2Ô1ñ 7Ô6ñNô Nñ PÔOð;<ð| „×Ò˜ 7¨9Ô#5Ñ6Ô6ð(/ð (/ñ 7Ô6ð(/ðV)ð )ð )ð.@ð @ð @ð0ð ð ð%Bð %Bð %BðP*ð *ð *ð *ð *ñ *ô *ð *ð0Bð Bð Bð"ð "ð "ð" „×Ò˜ K°Ð#@ÑAÔAØ„×Ò˜¨°ZÀØ)2°I¸yð)Jñ Kô Kð-ð -ñKô Kñ BÔAð-ð -ð -r1   