§
    fŠtjÿ„  ã                   ó*%  — d Z ddlmZ ddlZddlmZ ddlm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i Zd„ Zg d¢Ze
eedd ej        d¦  «        gej        dddg	eeedd ej        d¦  «        gej        dddg	eeedd ej        d¦  «        gej        dddg	edddd ej        d¦  «        gddddg	edddd ej        d¦  «        gddddg	edddd ej        d¦  «        gej         dddg	gZd„ e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+d0„ Z,d1„ Z-d2„ Z.d3„ Z/d4„ Z0d5„ Z1d6„ Z2d7„ Z3d8„ Z4d9„ Z5d:„ Z6d;„ Z7d<„ Z8d=„ Z9d>„ Z:d?„ Z;d@„ Z<dA„ Z=dB„ Z>dC„ Z? ej@         ejA        eB¦  «        jC        ¦  «        ZDdD„ ZEdE„ ZFdF„ ZGdG„ ZHdH„ ZIdI„ ZJdJ„ ZKdK„ ZLdL„ ZMg d¢ZNg eeedejO        dMz  ejO        gej        ddNdOg	‘ee e!ddPdQgej        dMdRdSg	‘ee e!ddTdUgej        dVdWdXg	‘ee e!ddYdZgej        d[d\d]g	‘ee e!dd^d_gej        d`dadbg	‘ee e!ddcddgej        dedfdgg	‘ee e!ddhdigej        djdkdlg	‘ee e!ddmdngej        dodpdqg	‘ee e!ddrdsgej        dtdudvg	‘ee e!ddwdxgej        dydzd{g	‘ee e!dd|d}gej        d~dd€g	‘e"e#e$d�d‚dƒgej        d„dd…g	‘e"e#e$d†d‚dƒgej        d„dd‡g	‘e"e#e$dˆd‚dƒgej        d„dd‰g	‘e%e&e'dŠddVgej        d‹dŒd�g	‘e%e&e'dŽddVgej        d‹d�d�g	‘e%e&e'd‘ddVgej        d‹d’d“g	‘e%e&e'd”ddVgej        d‹d•d–g	‘e%e&e'd—ddVgej        d‹d˜d™g	‘e%e&e'dšddVgej        d‹d›dœg	‘e%e&e'd�ddVgej        d‹d›džg	‘e%e&e'dŸddVgej        d‹d›d g	‘e%e&e'd¡ddVgej        d‹d›d¢g	‘e%e&e'd£ddVgej        d‹d›d¤g	‘e%e&e'dŸd¥d¦gej        d§d›d¨g	‘e%e&e'd¡d¥d¦gej        d§d›d©g	‘e%e&e'd£d¥d¦gej        d§d›dªg	‘e%e&e'd«d¥d¦gej        d§d›d¬g	‘e(e)e*ddd§gej        d­ejO        d®z  d¯g	‘e+e,e-d°dd›gej        dd±d²g	‘e+e,e-d³dd›gej        dd´dµg	‘e+e,e-d¶dd›gej        dd·d¸g	‘e+e,e-d¹dd›gej        ddºd»g	‘e+e,e-d¼dd›gej        d½d¾d¿g	‘e+e,e-dÀdd›gej        dÁdÂdÃg	‘e+e,e-dÄdd›gej        dÅdÆdÇg	‘e+e,e-dÈdd›gej        dÉdÊdËg	‘e+e,e-dÌdd›gej        dÍdÎdÏg	‘e+e,e-dÐdd›gej        dÑdÒdÓg	‘e.e/e0d¼dd›gej        d½dÔdÕg	‘e.e/e0dÖdd›gej        d½d×dØg	‘e.e/e0dÀdd›gej        d½dÙdÚg	‘e1e2e3d³dd›gej        dÛddÜg	‘e1e2e3d¼dd›gej        dÛdÝdÞg	‘e1e2e3dÖdd›gej        dÛdßdàg	‘e1e2e3dádd›gej        dÛdâdãg	‘e1e2e3dÀdd›gej        dÛdädåg	‘e4e5e6d°dd›gej        ddædçg	‘e4e5e6d³dd›gej        ddèdég	‘e4e5e6d¹dd›gej        ddêdëg	‘e4e5e6d¼dd›gej        ddìdíg	‘e4e5e6dîdd›gej        ddïdðg	‘e4e5e6dádd›gej        ddñdòg	‘e4e5e6dÀdd›gej        ddódôg	‘e7e8e9d°dd›gej        dÛdõdög	‘e7e8e9d¼dd›gej        dÛd÷døg	‘e7e8e9dÖdd›gej        dÛdùdúg	‘e7e8e9dádd›gej        dÛdûdüg	‘e7e8e9dÀdd›gej        dÛdýdþg	‘e:e;e<d³dÿd›gej        dÿd�d g	‘e:e;e<d¼dÿd›gej        dÿ�d�dg	‘e:e;e<dádÿd›gej        dÿ�d�dg	‘e:e;e<dÀdÿd›gej        dÿdÅ�dg	‘e=e>e?d³d›�dgej        �ddM�dg	‘e=e>e?d¶d›�dgej        �dd�d	g	‘e=e>e?d¹d›�dgej        �d�d
�dg	‘e=e>e?d¼d›�dgej        �ddV�dg	‘e=e>e?�dd›�dgej        �dd®�dg	‘e=e>e?�dd›�dgej        �d�d�dg	‘e=e>e?�dd›�dgej        �d�d�dg	‘e=e>e?�dd›�dgej        �d�d�dg	‘e=e>e?�dd›�dgej        �d�d�dg	‘e=e>e?dád›�dgej        �d�d�dg	‘e=e>e?�dd›�dgej        �dd`�dg	‘e=e>e?�dd›�dgej        �d�d �d!g	‘e=e>e?�d"d›�dgej        �d�d#�d$g	‘e=e>e?�d%d›�dgej        �d�d&�d'g	‘e=e>e?�d(d›�dgej        �d�d)�d*g	‘e=e>e?�d+d›�dgej        �d�d,�d-g	‘e=e>e?�d.d›�dgej        �d�d/�d0g	‘e=e>e?�d1d›�dgej        �ddƒ�d2g	‘e=e>e?�d3d›�dgej        �d�d4�d5g	‘eEeFeGdd�d
gej        d§d�d6g	‘eHeIeJd°�d7ejO        dMz  gdd›�d8�d9g	‘eHeIeJd³�d7ejO        dMz  gdd›�d8�d:g	‘eHeIeJd¶�d7ejO        dMz  gdd›�d8�d;g	‘eHeIeJd¹�d7ejO        dMz  gdd›�d8�d<g	‘eHeIeJd¼�d7ejO        dMz  gdd›�d8�d=g	‘eHeIeJ�d�d7ejO        dMz  gdd›�d8�d>g	‘eHeIeJ�d�d7ejO        dMz  gdd›�d8�d?g	‘eHeIeJdî�d7ejO        dMz  gdd›�d8�d@g	‘eHeIeJ�d�d7ejO        dMz  gdd›�d8�dAg	‘eHeIeJdÖ�d7ejO        dMz  gdd›�d8�dBg	‘eHeIeJ�d�d7ejO        dMz  gdd›�d8�dCg	‘eHeIeJ�dD�d7ejO        dMz  gdd›�d8�dEg	‘eHeIeJ�d�d7ejO        dMz  gdd›�d8�dFg	‘eHeIeJ�dG�d7ejO        dMz  gdd›�d8�dHg	‘eHeIeJdá�d7ejO        dMz  gdd›�d8�dIg	‘eHeIeJ�dJ�d7ejO        dMz  gdd›�d8�dKg	‘eHeIeJ�d�d7ejO        dMz  gdd›�d8�dLg	‘eHeIeJ�dM�d7ejO        dMz  gdd›�d8�dNg	‘eHeIeJ�d�d7ejO        dMz  gdd›�d8�dOg	‘eHeIeJdÀ�d7ejO        dMz  gdd›�d8�dPg	‘eHeIeJ�d"�d7ejO        dMz  gdd›�d8�dQg	‘eHeIeJ�dR�d7ejO        dMz  gdd›�d8�dSg	‘eHeIeJ�d%�d7ejO        dMz  gdd›�d8�dTg	‘eHeIeJ�dU�d7ejO        dMz  gdd›�d8�dVg	‘eHeIeJ�d(�d7ejO        dMz  gdd›�d8�dWg	‘eHeIeJ�dX�d7ejO        dMz  gdd›�d8�dYg	‘eHeIeJ�d+�d7ejO        dMz  gdd›�d8�dZg	‘eHeIeJ�d[�d7ejO        dMz  gdd›�d8�d\g	‘eHeIeJ�d.�d7ejO        dMz  gdd›�d8�d]g	‘eHeIeJ�d^�d7ejO        dMz  gdd›�d8�d_g	‘eHeIeJ�d1�d7ejO        dMz  gdd›�d8�d`g	‘eHeIeJ�da�d7ejO        dMz  gdd›�d8�dbg	‘eHeIeJ�d3�d7ejO        dMz  gdd›�d8�dcg	‘eHeIeJ�dd�d7ejO        dMz  gdd›�d8�deg	‘eHeIeJ�df�d7ejO        dMz  gdd›�d8�dgg	‘eHeIeJ�dh�d7ejO        dMz  gdd›�d8�dig	‘eHeIeJ�dj�d7ejO        dMz  gdd›�d8�dkg	‘eHeIeJ�dl�d7ejO        dMz  gdd›�d8�dmg	‘eHeIeJ�dn�d7ejO        dMz  gdd›�d8�dog	‘eHeIeJdÄ�d7ejO        dMz  gdd›�d8�dpg	‘eKeLeMdÀ�d7�dqgdd„�dr�dsg	‘eKeLeM�d"�d7�dqgdd„�dt�dug	‘eKeLeM�dR�d7�dqgdd„�dv�dwg	‘eKeLeM�d%�d7�dqgdd„�dx�dyg	‘eKeLeM�dU�d7�dqgdd„�dz�d{g	‘eKeLeM�d(�d7�dqgdd„�d|�d}g	‘eKeLeM�dX�d7�dqgdd„�d~�dg	‘eKeLeM�d+�d7�dqgdd„�d€�d�g	‘eKeLeM�d[�d7�dqgdd„�d‚�dƒg	‘eKeLeM�d.�d7�dqgdd„�d„�d…g	‘eKeLeM�d^�d7�dqgdd„�d†�d‡g	‘eKeLeM�d1�d7�dqgdd„�dˆ�d‰g	‘eKeLeM�da�d7�dqgdd„�dŠ�d‹g	‘eKeLeM�d3�d7�dqgdd„�dŒ�d�g	‘eKeLeM�dd�d7�dqgdd„�dŽ�d�g	‘eKeLeM�df�d7�dqgdd„�d��d‘g	‘eKeLeM�dh�d7�dqgdd„�d’�d“g	‘eKeLeM�dj�d7�dqgdd„�d”�d•g	‘eKeLeM�dl�d7�dqgdd„�d–�d—g	‘eKeLeM�dn�d7�dqgdd„�d˜�d™g	‘eKeLeMdÄ�d7�dqgdd„�dš�d›g	‘eKeLeMdÐ�d7�dqgdd„�dœ�d�g	‘eKeLeM�dž�d7�dqgdd„�dŸ�d g	‘eKeLeM�d¡�d7�dqgdd„�d¢�d£g	‘eKeLeM�d¤�d7�dqgdd„�d¥�d¦g	‘eKeLeM�d§�d7�dqgdd„�d¨�d©g	‘eKeLeM�dª�d7�dqgdd„�d«�d¬g	‘eKeLeM�d­�d7�dqgdd„�d®�d¯g	‘eKeLeM�d°�d7�dqgdd„�d±�d²g	‘eKeLeM�d³�d7�dqgdd„�d´�dµg	‘eKeLeM�d¶�d7�dqgdd„�d·�d¸g	‘ZP�d¹„ ePD ¦   «         ZQ�dº„ ZR�d»„ ZS�d¼„ ZT�d½„ ZU�d¾„ ZV�d¿„ ZWg �dÀ¢ZXeReSeT�dÁej        �dÂ�dÃ�dÄ�dÅg	eReSeT�dÆej        �dÇ�dÈ�dÉ ej        d¦  «        dMz  �dÄz  z   �dÊg	eReSeT�dËej        �dÄ�dÃd ej        d¦  «        dMz  �dÄz  z   �dÌg	eReSeT�dÍej        dV�d
dM�dÎg	eUeVeW�dÏej        �dÐ�dÃejO        �dÄz  �dÑg	eUeVeW�dÒej        �dÐ�dÃejO        �dÓz  �dÔg	gZY�dÕ„ eYD ¦   «         ZZ�dÖ„ Z[ e[e¦  «          e[eQ¦  «          e[eZ¦  «         �d�dØ„Z\ej]        ej^        ej_        ej`        gZag �dÙ¢ZbeeeeegZcg �dÚ¢Zd�dÛ„ Ze�dÜee_f        �dÝ„ Zgd›eg_f        �dÞ„ Zhdeh_f        �dß„ ZidMei_f        �dà„ Zjdej_f        �dá„ Zkdek_f        �dâ„ Zldel_f        �dã„ Zm�däem_f        �då„ Zn�dæen_f        g �dç¢Zog eedMdgeejf        �dg‘eed›d[geejf        �dg‘eed›�dgeejf        �dèg‘ee�dé�dêgeejf        �d&g‘ee�dë�dìgeejf        �díg‘egd�dîgegjf        �dïg‘eg�dq�dêgegjf        �dðg‘eg�dñ�dògegjf        �dóg‘eg�dô�dìgegjf        �dõg‘eg�dö�d÷gegjf        �døg‘ehddVgehjf        �d#g‘eh�dùd[gehjf        �d&g‘eh�dé�dêgehjf        �dúg‘eh�dû�dògehjf        �düg‘eh�dë�dìgehjf        �dýg‘eiddVgeijf        �d#g‘ei�dùd[geijf        �d&g‘ei�dé�dêgeijf        �d4g‘ei�dû�dògeijf        �díg‘ei�dë�dìgeijf        �dþg‘ejd�d
gejjf        �d#g‘ejd„dVgejjf        �dðg‘ejdd[gejjf        �d&g‘ej�dÿdogejjf        �d)g‘ej�dù�dgejjf        deg‘ek�d �dgekjf        �d#g‘ek�d�dgekjf        �dðg‘ek�d �dgekjf        �d&g‘ek�d�dgekjf        �d)g‘ek�d�dgekjf        deg‘eld�d
geljf        �dïg‘eld„dVgeljf        �dïg‘eldd[geljf        �dg‘el�dÿdogeljf        �d	g‘el�dù�dgeljf        �d g‘em�d
dMgemjf        �dg‘em�d
dgemjf        d[g‘em�d
�dgemjf        �dg‘em�d
�d,gemjf        �dg‘em�d
�dgemjf        �dèg‘en�d
d›genjf        �dg‘en�d
dgenjf        �dïg‘en�d
�dgenjf        d[g‘en�d
�d,genjf        �dg‘en�d
�dgenjf        �dg‘Zp�d„  eqep¦  «        D ¦   «         Zp�d„ epD ¦   «         Zr e[er¦  «         dS (  a
  
Parameters used in test and benchmark methods.

Collections of test cases suitable for testing 1-D root-finders
  'original': The original benchmarking functions.
     Real-valued functions of real-valued inputs on an interval
     with a zero.
     f1, .., f3 are continuous and infinitely differentiable
     f4 has a left- and right- discontinuity at the root
     f5 has a root at 1 replacing a 1st order pole
     f6 is randomly positive on one side of the root,
     randomly negative on the other.
     f4 - f6 are not continuous at the root.

  'aps': The test problems in the 1995 paper
     TOMS "Algorithm 748: Enclosing Zeros of Continuous Functions"
     by Alefeld, Potra and Shi. Real-valued functions of
     real-valued inputs on an interval with a zero.
     Suitable for methods which start with an enclosing interval, and
     derivatives up to 2nd order.

  'complex': Some complex-valued functions of complex-valued inputs.
     No enclosing bracket is provided.
     Suitable for methods which use one or more starting values, and
     derivatives up to 2nd order.

  The test cases are provided as a list of dictionaries. The dictionary
  keys will be a subset of:
  ["f", "fprime", "fprime2", "args", "bracket", "smoothness",
  "a", "b", "x0", "x1", "root", "ID"]
é    )ÚrandomN)Ú	_zeros_py)Úarray_namespacea  
f2 is a symmetric parabola, x**2 - 1
f3 is a quartic polynomial with large hump in interval
f4 is step function with a discontinuity at 1
f5 is a hyperbola with vertical asymptote at 1
f6 has random values positive to left of 1, negative to right

Of course, these are not real problems. They just test how the
'good' solvers behave in bad circumstances where bisection is
really the best. A good solver should not be much worse than
bisection in such circumstance, while being faster for smooth
monotone sorts of functions.
c                 ó   — | | dz
  z  S )z'f1 is a quadratic with roots at 0 and 1ç      ð?© ©Úxs    úV/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/optimize/_tstutils.pyÚf1r   A   s   € à��B‘‰<Ðó    c                 ó   — d| z  dz
  S ©Né   é   r   r	   s    r   Úf1_fpr   F   s   € Øˆq‰5�1‰9Ðr   c                 ó   — dS ©Nr   r   r	   s    r   Úf1_fppr   J   ó   € Øˆ1r   c                 ó   — | dz  dz
  S )z$f2 is a symmetric parabola, x**2 - 1r   r   r   r	   s    r   Úf2r   N   ó   € àˆa‰4�!‰8€Or   c                 ó   — d| z  S r   r   r	   s    r   Úf2_fpr   S   s   € Øˆq‰5€Lr   c                 ó   — dS r   r   r	   s    r   Úf2_fppr   W   r   r   c                 ó*   — | | dz
  z  | dz
  z  | dz
  z  S )z%A quartic with roots at 0, 1, 2 and 3r   g       @g      @r   r	   s    r   Úf3r   [   s"   € à��B‘‰<˜1˜r™6Ñ" a¨"¡fÑ-Ð-r   c                 ó6   — d| dz  z  d| dz  z  z
  d| z  z   dz
  S )Né   é   é   r   é   é   r   r	   s    r   Úf3_fpr&   `   s+   € Øˆq�!‰t‰8�b˜1˜a™4‘iÑ " q¡&Ñ(¨1Ñ,Ð,r   c                 ó$   — d| dz  z  d| z  z
  dz   S )Né   r   é$   r$   r   r	   s    r   Úf3_fppr*   d   s   € Ø��1‘‰9�r˜A‘vÑ Ñ"Ð"r   c                 ó>   — | dk    rdd| z  z   S | dk     rdd| z  z   S dS )zBPiecewise linear, left- and right- discontinuous at x=1, the root.r   r   çš™™™™™¹?ç      ð¿r   r   r	   s    r   Úf4r.   h   s5   € àˆ1‚u€uØ�R˜!‘V‰|ÐØˆ1‚u€uØ�b˜1‘f‰}ÐØˆ1r   c                 ó"   — | dk    rdd| z
  z  S dS )zY
    Hyperbola with a pole at x=1, but pole replaced with 0. Not continuous at root.
    r   r   r   r   r	   s    r   Úf5r0   q   s    € ð 	ˆA‚v€vØ�b˜1‘f‰~ÐØˆ1r   c                 ó®   — t                                | d ¦  «        }|€7| dk    rt          ¦   «         }n| dk     rt          ¦   «          }nd}|t           | <   |S )Nr   r   )Ú	_f6_cacheÚgetr   )r
   Úvs     r   Úf6r5   ~   sW   € Ý�Š�a˜ÑÔ€AØ€yØˆqŠ5ˆ5Ý‘”ˆAˆAØ�ŠUˆUÝ‘”�	ˆAˆAàˆAØ�	�!‰Ø€Hr   )	ÚfÚfprimeÚfprime2ÚargsÚbracketÚ
smoothnessÚx0ÚrootÚIDr   ç      à?r"   g333333ã?r   zoriginal.01.00zoriginal.02.00zoriginal.03.00éÿÿÿÿzoriginal.04.00zoriginal.05.00c                 óR   — g | ]$}t          t          t          |¦  «        ¦  «        ‘Œ%S r   )ÚdictÚzipÚ_ORIGINAL_TESTS_KEYS©Ú.0Útestcases     r   ú
<listcomp>rH       s8   € ð ð ð Ø2:…D�Õ! 8Ñ	,Ô	,Ñ-Ô-ðð ð r   c                 ó6   — t          j        | ¦  «        | dz  z
  S )z<Straightforward sum of trigonometric function and polynomialr   ©ÚnpÚsinr	   s    r   Úaps01_frM   ©   s   € åŒ6�!‰9Œ9�q˜1‘uÑÐr   c                 ó0   — t          j        | ¦  «        dz
  S )Nr?   ©rK   Úcosr	   s    r   Úaps01_fprQ   ®   s   € ÝŒ6�!‰9Œ9�wÑÐr   c                 ó,   — t          j        | ¦  «         S ©NrJ   r	   s    r   Ú	aps01_fpprT   ²   ó   € ÝŒF�1‰IŒIˆ:Ðr   c                 ó„   — t          j        dd¦  «        }dt          j        d|z  dz
  dz  | |dz  z
  dz  z  ¦  «        z  S )zDpoles at x=n**2, 1st and 2nd derivatives at root are also close to 0r   é   éþÿÿÿr   é   r"   ©rK   ÚarangeÚsum©r
   Úiis     r   Úaps02_fr_   ¶   sE   € å	Œ�1�bÑ	Ô	€BØ•”˜˜B™ ™
 Q‘¨!¨b°!©e©)°a©Ñ7Ñ8Ô8Ñ8Ð8r   c                 ó„   — t          j        dd¦  «        }dt          j        d|z  dz
  dz  | |dz  z
  dz  z  ¦  «        z  S )Nr   rW   r%   r   rY   r!   rZ   r]   s     r   Úaps02_fpra   ¼   sE   € Ý	Œ�1�bÑ	Ô	€BØ�rŒv�q˜2‘v ‘z A‘o¨¨R°©U©°Q©Ñ6Ñ7Ô7Ñ7Ð7r   c                 ó„   — t          j        dd¦  «        }dt          j        d|z  dz
  dz  | |dz  z
  dz  z  ¦  «        z  S )Nr   rW   é   r   rY   rZ   r]   s     r   Ú	aps02_fpprd   Á   sE   € Ý	Œ�1�bÑ	Ô	€BØ•”˜˜B™ ™
 Q‘¨!¨b°!©e©)°a©Ñ7Ñ8Ô8Ñ8Ð8r   c                 ó<   — || z  t          j        || z  ¦  «        z  S )zRapidly changing at the root©rK   Úexp©r
   ÚaÚbs      r   Úaps03_frk   Æ   s   € àˆq‰5•2”6˜!˜a™%‘=”=Ñ Ð r   c                 óH   — ||| z  dz   z  t          j        || z  ¦  «        z  S ©Nr   rf   rh   s      r   Úaps03_fprn   Ë   s%   € Ø��A‘˜‘	‰?�RœV A¨¡E™]œ]Ñ*Ð*r   c                 óT   — |||| z  dz   z  |z   z  t          j        || z  ¦  «        z  S rm   rf   rh   s      r   Ú	aps03_fpprp   Ï   s/   € Ø��Q˜‘U˜Q‘Y‘ !Ñ#Ñ$¥r¤v¨a°!©e¡}¤}Ñ4Ð4r   c                 ó   — | |z  |z
  S )zMedium-degree polynomialr   ©r
   Únri   s      r   Úaps04_frt   Ó   r   r   c                 ó   — || |dz
  z  z  S rm   r   rr   s      r   Úaps04_fprv   Ø   ó   € Øˆq�1�q‘5‰z‰>Ðr   c                 ó$   — ||dz
  z  | |dz
  z  z  S ©Nr   r   r   rr   s      r   Ú	aps04_fpprz   Ü   ó   € Ø��A‘‰;˜˜Q ™U™Ñ#Ð#r   c                 ó0   — t          j        | ¦  «        dz
  S )zSimple Trigonometric functionr?   rJ   r	   s    r   Úaps05_fr}   à   s   € åŒ6�!‰9Œ9�wÑÐr   c                 ó*   — t          j        | ¦  «        S rS   rO   r	   s    r   Úaps05_fpr   å   ó   € ÝŒ6�!‰9Œ9Ðr   c                 ó,   — t          j        | ¦  «         S rS   rJ   r	   s    r   Ú	aps05_fppr‚   é   rU   r   c                 óv   — d| z  t          j        | ¦  «        z  dt          j        | | z  ¦  «        z  z
  dz   S )z0Exponential rapidly changing from -1 to 1 at x=0r   r   rf   ©r
   rs   s     r   Úaps06_fr…   í   s8   € àˆq‰5•2”6˜1˜"‘:”:Ñ ¥B¤F¨A¨2°©6¡N¤NÑ 2Ñ2°QÑ6Ð6r   c                 óp   — dt          j        | ¦  «        z  d|z  t          j        | | z  ¦  «        z  z   S r   rf   r„   s     r   Úaps06_fpr‡   ò   s2   € Ø�rŒv�q�b‰zŒz‰>˜A ™E¥B¤F¨A¨2°©6¡N¤NÑ2Ñ2Ð2r   c                 óD   — d|z  |z  t          j        | | z  ¦  «        z  S ©NrX   rf   r„   s     r   Ú	aps06_fpprŠ   ö   s#   € Ø�‰6�A‰:�œ ˜r A™v™œÑ&Ð&r   c                 ó6   — dd|z
  dz  z   | z  d|| z  z
  dz  z
  S )z/Upside down parabola with parametrizable heightr   r   r   r„   s     r   Úaps07_frŒ   ú   ó*   € à��Q‘˜‘
‰N˜aÑ 1 q¨1¡u¡9¨q¡.Ñ0Ð0r   c                 ó6   — dd|z
  dz  z   d|z  d|| z  z
  z  z   S ry   r   r„   s     r   Úaps07_fpr�   ÿ   s*   € Ø��Q‘˜‘
‰N˜a !™e q¨1¨q©5¡yÑ1Ñ1Ð1r   c                 ó   — d|z  |z  S r‰   r   r„   s     r   Ú	aps07_fppr‘     s   € Ø�‰6�A‰:Ðr   c                 ó   — | | z  d| z
  |z  z
  S )zDegree n polynomialr   r   r„   s     r   Úaps08_fr“     s   € àˆq‰5�A˜‘E˜A‘:ÑÐr   c                 ó*   — d| z  |d| z
  |dz
  z  z  z   S r   r   r„   s     r   Úaps08_fpr•     s#   € Øˆq‰5�1˜˜A™  Q¡Ñ'Ñ'Ñ'Ð'r   c                 ó0   — d||dz
  z  d| z
  |dz
  z  z  z
  S r   r   r„   s     r   Ú	aps08_fppr—     s'   € Øˆq�A˜‘E‰{˜a !™e q¨1¡uÑ-Ñ-Ñ-Ð-r   c                 ó6   — dd|z
  dz  z   | z  d|| z  z
  dz  z
  S )z.Upside down quartic with parametrizable heightr   r!   r   r„   s     r   Úaps09_fr™     r�   r   c                 ó<   — dd|z
  dz  z   d|z  d|| z  z
  dz  z  z   S )Nr   r!   r"   r   r„   s     r   Úaps09_fpr›     s.   € Ø��Q‘˜‘
‰N˜a !™e q¨1¨q©5¡y°1¡nÑ4Ñ4Ð4r   c                 ó$   — d|z  d|| z  z
  dz  z  S )Niôÿÿÿr   r   r   r„   s     r   Ú	aps09_fppr�     s   € Ø�‰7�a˜!˜a™%‘i !‘^Ñ#Ð#r   c                 óJ   — t          j        | | z  ¦  «        | dz
  z  | |z  z   S )zExponential plus a polynomialr   rf   r„   s     r   Úaps10_frŸ   !  s(   € åŒ6�1�"�q‘&‰>Œ>˜Q ™UÑ# a¨¡dÑ*Ð*r   c                 ód   — t          j        | | z  ¦  «        | | dz
  z  dz   z  || |dz
  z  z  z   S rm   rf   r„   s     r   Úaps10_fpr¡   &  s;   € ÝŒ6�1�"�q‘&‰>Œ>˜a˜R 1 q¡5™\¨AÑ-Ñ.°°Q¸¸Q¹±Z±Ñ?Ð?r   c                 ó†   — t          j        | | z  ¦  «        | | | dz
  z  dz   z  | | z  z   z  ||dz
  z  | |dz
  z  z  z   S ry   rf   r„   s     r   Ú	aps10_fppr£   *  s[   € ÝŒF�A�2˜‘6‰NŒN˜q˜b Q B¨!¨a©%¡L°1Ñ$4Ñ5¸¸¸Q¹Ñ>Ñ?Ø�1�q‘5‰k˜A  A¡™JÑ&ñ'ð (r   c                 ó$   — || z  dz
  |dz
  | z  z  S )z8Rational function with a zero at x=1/n and a pole at x=0r   r   r„   s     r   Úaps11_fr¥   /  s   € à�‰E�A‰I˜1˜q™5 A™+Ñ&Ð&r   c                 ó   — d|dz
  z  | dz  z  S ry   r   r„   s     r   Úaps11_fpr§   4  s   € Ø��A‘‰;˜˜A™ÑÐr   c                 ó   — d|dz
  z  | dz  z  S )NrX   r   r"   r   r„   s     r   Ú	aps11_fppr©   8  s   € Ø��Q‘‰<˜!˜Q™$ÑÐr   c                 ód   — t          j        | d|z  ¦  «        t          j        |d|z  ¦  «        z
  S )z!nth root of x, with a zero at x=nr   ©rK   Úpowerr„   s     r   Úaps12_fr­   <  s-   € åŒ8�A�s˜Q‘wÑÔ¥"¤(¨1¨c°A©gÑ"6Ô"6Ñ6Ð6r   c                 ó>   — t          j        | d|z
  |z  ¦  «        |z  S )Nr   r«   r„   s     r   Úaps12_fpr¯   A  s!   € ÝŒ8�A˜˜a™ 1‘}Ñ%Ô%¨Ñ)Ð)r   c                 ó\   — t          j        | dd|z  z
  |z  ¦  «        d|z  z  d|z
  z  |z  S )Nr   r   r«   r„   s     r   Ú	aps12_fppr±   E  s8   € ÝŒ8�A˜˜a !™e™ qÑ(Ñ)Ô)¨S°1©WÑ5¸¸q¹ÑAÀAÑEÐEr   c                 ój   — | dk    rdS d| dz  z  }|t           k    rdS | t          j        |¦  «        z  S )z-Function with *all* derivatives 0 at the rootr   r   r   ©Ú_MAX_EXPABLErK   rg   ©r
   Úys     r   Úaps13_fr·   L  sA   € àˆA‚v€vØˆqð 	
ˆAˆq‰D‰€AØ�<ÒÐØˆqØ�rŒv�a‰yŒy‰=Ðr   c                 ó|   — | dk    rdS d| dz  z  }|t           k    rdS dd| dz  z  z   t          j        |¦  «        z  S )Nr   r   r   r³   rµ   s     r   Úaps13_fpr¹   Y  sL   € ØˆA‚v€vØˆqØ	ˆAˆq‰D‰€AØ�<ÒÐØˆqØ��A�q‘D‘‰L�BœF 1™IœIÑ%Ð%r   c                 óˆ   — | dk    rdS d| dz  z  }|t           k    rdS dd| dz  z
  z  | dz  z  t          j        |¦  «        z  S )Nr   r   r   rY   r³   rµ   s     r   Ú	aps13_fppr»   b  sU   € ØˆA‚v€vØˆqØ	ˆAˆq‰D‰€AØ�<ÒÐØˆqØ��A�q‘D‘‰>˜A˜q™DÑ ¥2¤6¨!¡9¤9Ñ,Ð,r   c                 ó`   — | dk    r| dz  S |dz  | dz  t          j        | ¦  «        z   dz
  z  S )z<0 for negative x-values, trigonometric+linear for x positiver   ç      4@ç      ø?r   rJ   r„   s     r   Úaps14_fr¿   k  s<   € àˆA‚v€vØˆr�D‰yÐØˆt‰8�q˜3‘w¥¤¨¡¤Ñ*¨QÑ.Ñ/Ð/r   c                 óL   — | dk    rdS |dz  dt          j        | ¦  «        z   z  S )Nr   r½   gUUUUUUå?rO   r„   s     r   Úaps14_fprÁ   r  s,   € ØˆA‚v€vØˆqØˆt‰8�y¥2¤6¨!¡9¤9Ñ,Ñ-Ð-r   c                 óH   — | dk    rdS | dz  t          j        | ¦  «        z  S )Nr   r½   rJ   r„   s     r   Ú	aps14_fpprÃ   x  s)   € ØˆA‚v€vØˆqØˆ2�‰9�œ˜q™	œ	Ñ"Ð"r   c                 óŽ   — | dk     rdS | dd|z   z  k    rt           j        dz
  S t          j        |dz   | z  dz  dz  ¦  «        dz
  S )z6piecewise linear, constant outside of [0, 0.002/(1+n)]r   g°rh‘í|ë¿çü©ñÒMb`?r   çX9´Èv¾ý?r   éè  ©rK   Úerg   r„   s     r   Úaps15_frÊ   ~  sV   € àˆ1‚u€uØˆvØˆ8�q˜1‘uÑÒÐÝŒt�e‰|ÐÝŒ6�1�q‘5˜A‘+ ‘/ DÑ(Ñ)Ô)¨EÑ1Ð1r   c                 ó¢   — d| cxk    rdd|z   z  k    sn t           j        dz
  S t          j        |dz   | z  dz  dz  ¦  «        |dz   z  dz  dz  S ©Nr   rÅ   r   rÆ   r   rÇ   rÈ   r„   s     r   Úaps15_fprÍ   ‡  sj   € Ø�Ð'Ð'Ò'Ð'�X  Q¡Ñ'Ò'Ð'Ð'Ð'ÝŒt�e‰|ÐÝŒ6�1�q‘5˜A‘+ ‘/ DÑ(Ñ)Ô)¨Q°©UÑ3°aÑ7¸$Ñ>Ð>r   c                 óº   — d| cxk    rdd|z   z  k    sn t           j        dz
  S t          j        |dz   | z  dz  dz  ¦  «        |dz   z  dz  dz  |dz   z  dz  dz  S rÌ   rÈ   r„   s     r   Ú	aps15_fpprÏ   �  s}   € Ø�Ð'Ð'Ò'Ð'�X  Q¡Ñ'Ò'Ð'Ð'Ð'ÝŒt�e‰|ÐÝŒ6�1�q‘5˜A‘+ ‘/ DÑ(Ñ)Ô)¨Q°©UÑ3°aÑ7¸$Ñ>À!ÀaÁ%ÑHÈ1ÑLÈtÑSÐSr   r   g¼©êËñSþ?z	aps.01.00g0¸D   ð?gè£Ýÿÿÿ@gêØ=î.@z	aps.02.00g.   @gúh÷ÿÿÿ!@rY   gèÆ¸ä)¼@z	aps.02.01g—   "@gúh÷ÿÿÿ/@é
   g�xs7z&@z	aps.02.02gƒK   0@g}´ûÿÿÿ8@é   gô^^W­3@z	aps.02.03gƒK   9@g?ÚýÿÿÿA@é   gÏýÀ´Ô=@z	aps.02.04gÁ%   B@g?ÚýÿÿH@é%   gn’��ûóD@z	aps.02.05gÁ%  €H@g?ÚýÿÿÿO@é2   gØ›[múK@z	aps.02.06gá   P@gíþÿÿ?T@éA   güË%ÿQ@z	aps.02.07gá  @T@gíþÿÿÿX@éR   gÉkYM‘€V@z	aps.02.08gá   Y@gíþÿÿ?^@ée   gz–i¶²�[@z	aps.02.09)iØÿÿÿr@   i÷ÿÿÿé   rX   z	aps.03.00)iœÿÿÿrX   z	aps.03.01)i8ÿÿÿéýÿÿÿz	aps.03.02)r!   çš™™™™™É?g      @gl�lRfå?z	aps.04.00)r%   rÚ   g_
Ÿxè?z	aps.04.01)é   rÚ   glÁTj"+ê?z	aps.04.02)rÐ   rÚ   g±0 8->ë?z	aps.04.03)r(   rÚ   gÁ ‰Èûë?z	aps.04.04)r!   r   r   z	aps.04.05)r%   r   z	aps.04.06)rÛ   r   z	aps.04.07)rÐ   r   z	aps.04.08)r(   r   z	aps.04.09gffffffî¿g333333@r¾   z	aps.04.10z	aps.04.11z	aps.04.12)é   r   z	aps.04.13gÍÌÌÌÌÌô?r%   z	aps.05.00)r   g™­Œòß	Û?z	aps.06.00)r   gì”n�ö Ó?z	aps.06.01)r"   gs Hda¢Ì?z	aps.06.02)r!   g©½X�äúÅ?z	aps.06.03)rY   gš™™™™™Ù?gŽ´i²Á?z	aps.06.04)é   r,   g]ßÿ›¾¡?z	aps.06.05)é(   gš™™™™™©?g¿”.ÿ›¾‘?z	aps.06.06)é<   g¡?gTÆèþÏ¨‡?z	aps.06.07)éP   gš™™™™™™?g¿”.ÿ›¾�?z	aps.06.08)éd   g{®Gáz”?gÍº}Ë,d|?z	aps.06.09gžzÐ©£?z	aps.07.00)rÐ   gž3_ÙtF„?z	aps.07.01g¬å–ÛÅmd?z	aps.07.02gÍÌÌÌÌÌì?z	aps.08.00gÎ�ýª$Ö?z	aps.08.01gæ¬~++`Ï?z	aps.08.02)é   gx5ó[´É?z	aps.08.03g¨²öB!Å?z	aps.08.04g.xzì¡Ñ?z	aps.09.00g.xzì¡Á?z	aps.09.01gIêlÆï…?z	aps.09.02g:´* ¡m?z	aps.09.03)rÛ   géÏl¿Mí:?z	aps.09.04gçÐR†@û>z	aps.09.05gKu-°à>z	aps.09.06g�G"ÀïªÙ?z	aps.10.00gûXbT„à?z	aps.10.01gó,ÄCá?z	aps.10.02g=N˜µŠá?z	aps.10.03gÈaw²Á¯á?z	aps.10.04ç{®Gáz„?z	aps.11.00rÚ   z	aps.11.01g±?z	aps.11.02z	aps.11.03rá   gš™™™™™ñ?z	aps.12.00z	aps.12.01r!   z	aps.12.02z	aps.12.03)r%   z	aps.12.04)é   rä   z	aps.12.05)é	   rå   z	aps.12.06)é   ræ   z	aps.12.07)é   rç   z	aps.12.08râ   z	aps.12.09)rÑ   z	aps.12.10)é   rè   z	aps.12.11)rW   rW   z	aps.12.12)é   ré   z	aps.12.13)é   rê   z	aps.12.14)é   rë   z	aps.12.15)é   rì   z	aps.12.16)rØ   z	aps.12.17)é!   rí   z	aps.12.18z	aps.13.00iüÿÿgh¿9öã?z	aps.14.00z	aps.14.01z	aps.14.02z	aps.14.03z	aps.14.04z	aps.14.05z	aps.14.06z	aps.14.07z	aps.14.08z	aps.14.09z	aps.14.10)r(   z	aps.14.11z	aps.14.12)rÜ   z	aps.14.13z	aps.14.14)é   z	aps.14.15z	aps.14.16)r#   z	aps.14.17z	aps.14.18z	aps.14.19z	aps.14.20)r$   z	aps.14.21z	aps.14.22)rc   z	aps.14.23z	aps.14.24)rÒ   z	aps.14.25z	aps.14.26)é   z	aps.14.27z	aps.14.28)é   z	aps.14.29z	aps.14.30)é    z	aps.14.31z	aps.14.32)é"   z	aps.14.33)é#   z	aps.14.34)r)   z	aps.14.35)rÓ   z	aps.14.36)é&   z	aps.14.37)é'   z	aps.14.38z	aps.14.39g-Cëâ6?gBïi»õ?z	aps.15.00gpÄµx�?z	aps.15.01gï­þ¸‰D?z	aps.15.02gYôû?z	aps.15.03gVXÁl�
?z	aps.15.04gÈ^†�	?z	aps.15.05g3�¼Qu?z	aps.15.06gq3ÑŽL8?z	aps.15.07gm¤Û¾Rk?z	aps.15.08gHtö/¬?z	aps.15.09g˜²´Wù?z	aps.15.10g÷üBQ?z	aps.15.11gWõ‚Î¥³?z	aps.15.12gßBN?z	aps.15.13gôõ@rp“?z	aps.15.14gæ`MýW?z	aps.15.15gØ-ÿrc’?z	aps.15.16gÍ[.„?z	aps.15.17g†”½®³« ?z	aps.15.18g5×øcA ?z	aps.15.19g\â‡è
·ÿ>z	aps.15.20guW”­²¿é>z	aps.15.21)éÈ   g,Y~àÙ>z	aps.15.22)i,  gƒïªGÑ>z	aps.15.23)i�  g]4H-ñÉ>z	aps.15.24)iô  g2”vÃÄ>z	aps.15.25)iX  gwžaOÁ>z	aps.15.26)i¼  gAb³EÙ­½>z	aps.15.27)i   gÊõÓ¥Mù¹>z	aps.15.28)i„  gÝ¢ÓO·>z	aps.15.29)rÇ   gá$lÅÈ´>z	aps.15.30c                 óR   — g | ]$}t          t          t          |¦  «        ¦  «        ‘Œ%S r   )rB   rC   Ú_APS_TESTS_KEYSrE   s     r   rH   rH   Û  s*   € ÐTÐTÐT¸X•D��_¨hÑ7Ô7Ñ8Ô8ÐTÐTÐTr   c                 ó   — | |z  |z
  S )z&z**n-a:  Use to find the nth root of ar   ©Úzrs   ri   s      r   Úcplx01_frü   ã  r   r   c                 ó   — || |dz
  z  z  S rm   r   rú   s      r   Ú	cplx01_fprþ   è  rw   r   c                 ó$   — ||dz
  z  | |dz
  z  z  S ry   r   rú   s      r   Ú
cplx01_fppr   ì  r{   r   c                 ó0   — t          j        | ¦  «        |z
  S )z"e**z - a: Use to find the log of arf   ©rû   ri   s     r   Úcplx02_fr  ð  s   € åŒ6�!‰9Œ9�q‰=Ðr   c                 ó*   — t          j        | ¦  «        S rS   rf   r  s     r   Ú	cplx02_fpr  õ  r€   r   c                 ó*   — t          j        | ¦  «        S rS   rf   r  s     r   Ú
cplx02_fppr  ù  r€   r   )	r6   r7   r8   r9   r;   r<   Úx1r=   r>   )r   r@   y      ð?      ð?y      à?      à?ù              ð?zcomplex.01.00)r"   r   y      ð¿      ð?y      à¿       @g      à¿zcomplex.01.01)r"   r@   zcomplex.01.02)r"   rÛ   zcomplex.01.03)r@   y      ð?       @zcomplex.02.00)r	  y              à?zcomplex.02.01c                 óR   — g | ]$}t          t          t          |¦  «        ¦  «        ‘Œ%S r   )rB   rC   Ú_COMPLEX_TESTS_KEYSrE   s     r   rH   rH     s8   € ð ð ð Ø19…D�Õ  (Ñ	+Ô	+Ñ,Ô,ðð ð r   c                 ór   — | D ]3}t          ddg|                     dg ¦  «        ¦  «        D ]
\  }}|||<   ŒŒ4dS )z:Add "a" and "b" keys to each test from the "bracket" valueri   rj   r:   N)rC   r3   )ÚtestsÚdÚkr4   s       r   Ú_add_a_br  $  sZ   € àð ð ˆÝ˜˜c˜
 A§E¢E¨)°RÑ$8Ô$8Ñ9Ô9ð 	ð 	‰DˆAˆqØˆAˆa‰DˆDð	ðð r   Úoriginalc                 ó’   ‡— | pd} t           t          t          t          dœ}|                     | g ¦  «        }‰�ˆfd„|D ¦   «         }|S )aÍ  Return the requested collection of test cases, as an array of dicts with subset-specific keys

    Allowed values of collection:
    'original': The original benchmarking functions.
         Real-valued functions of real-valued inputs on an interval with a zero.
         f1, .., f3 are continuous and infinitely differentiable
         f4 has a single discontinuity at the root
         f5 has a root at 1 replacing a 1st order pole
         f6 is randomly positive on one side of the root, randomly negative on the other
    'aps': The test problems in the TOMS "Algorithm 748: Enclosing Zeros of Continuous Functions"
         paper by Alefeld, Potra and Shi. Real-valued functions of
         real-valued inputs on an interval with a zero.
         Suitable for methods which start with an enclosing interval, and
         derivatives up to 2nd order.
    'complex': Some complex-valued functions of complex-valued inputs.
         No enclosing bracket is provided.
         Suitable for methods which use one or more starting values, and
         derivatives up to 2nd order.

    The dictionary keys will be a subset of
    ["f", "fprime", "fprime2", "args", "bracket", "a", b", "smoothness", "x0", "x1", "root", "ID"]
    r  )ÚapsÚcomplexr  ÚchandrupatlaNc                 ó,   •— g | ]}|d          ‰k    ¯|‘ŒS )r;   r   )rF   Útcr;   s     €r   rH   zget_tests.<locals>.<listcomp>N  s(   ø€ ÐFÐFÐF˜ r¨,Ô'7¸:Ò'EÐ'E�Ð'EÐ'EÐ'Er   )Ú_APS_TESTS_DICTSÚ_COMPLEX_TESTS_DICTSÚ_ORIGINAL_TESTS_DICTSÚ_CHANDRUPATLA_TESTS_DICTSr3   )Ú
collectionr;   Úsubsetsr  s    `  r   Ú	get_testsr  0  s`   ø€ ð. Ð)˜z€JÝ&Ý.Ý0Ý8ð:ð :€Gð �KŠK˜
 BÑ'Ô'€EØÐØFÐFÐFÐF˜eÐFÑFÔFˆØ€Lr   )z	cc.bisectz	cc.ridderz	cc.brenthz	cc.brentq)r   r   r.   r0   r5   c                 ó   — | dz  d| z  z
  dz
  S )Nr"   r   rY   r   r	   s    r   Úfun1r   \  s   € Øˆa‰4�!�A‘#‰:˜‰>Ðr   gã5¤Á @c                 ó   — dd| dz  z  z
  S ry   r   r	   s    r   Úfun2r"  a  s   € Øˆq��A‘‰v‰:Ðr   c                 ó   — | dz
  dz  S )Nr"   r   r	   s    r   Úfun3r$  f  s   € Øˆa‰C�!‰8€Or   c                 ó   — d| dz
  dz  z  S )Nr%   r   rY   r   r	   s    r   Úfun4r&  k  s   € Øˆa�‰c�A‰X‰:Ðr   c                 ó   — | dz  S )Nrå   r   r	   s    r   Úfun5r(  p  s   € Øˆa‰4€Kr   c                 ó   — | dz  S )Nrè   r   r	   s    r   Úfun6r*  u  s   € Øˆb‰5€Lr   c                 óŽ   — t          | ¦  «        }|                     | ¦  «        dk     rdn| |                     | dz   ¦  «        z  S )NgžŽ’Wç8?r   rX   )r   Úabsrg   ©r
   Úxps     r   Úfun7r/  z  sD   € Ý	˜Ñ	Ô	€BØ—’�q‘	”	˜FÒ"Ð"ˆ1ˆ1¨¨"¯&ª&°!°b±'°Ñ*:Ô*:Ñ(:Ð:r   c                 ó¶   — t          | ¦  «        }d}dd|z
  z  |                     |  ¦  «        z   |d|z
  |                     |  ¦  «        z  z   z  dz
  d| z  z   S )NgéeË-­ã?iö  r   iõ  i\  ©r   rg   )r
   r.  Úxis      r   Úfun8r3  €  sc   € Ý	˜Ñ	Ô	€BØ	€BØ�1�R‘4‰[˜Ÿš  ™œÑ#Ð$ b¨A¨b©D°"·&²&¸!¸±*´*Ñ+<Ñ&<Ñ=ÀÑDÀtÈAÁvÑMÐMr   g;6b¿™ð?c                 ót   — t          | ¦  «        }|                     | ¦  «        dz
  d| dz  z  z
  d| dz  z  z   S )Nr   rã   g�íµ ÷ÆÀ>r"   r1  r-  s     r   Úfun9r5  ‡  s=   € Ý	˜Ñ	Ô	€BØ�6Š6�!‰9Œ9�q‰=˜4  1¡™9Ñ$ w¨q°!©t¡|Ñ3Ð3r   gGô÷o§€æ?)r6   r:   r=   Únfevalr>   rÜ   g     ˆÃÀg     ˆÃ@g    _ Âg    _ Bé+   g)\�Âõ(ø?rÛ   r$   g�íµ ÷Æ°>g    €„.Arï   g»½×Ùß|Û=é)   gê-�™—q=g   ¢”mBé0   iöÿÿÿr)   g    €„.Áé-   é7   é6   éûÿÿÿr-   g      @g       Àg      @g      $@g      Àg      I@g      $Àg      Y@r#   g-Cëâ6*?r(   éQ   c                 óL   — g | ]!\  }}||d          j         › d|dz  dz   › �gz   ‘Œ"S )r   ú.rY   r   )Ú__name__)rF   ÚiÚtests      r   rH   rH   Ç  sW   € ð Fð Fð FÙ"˜1˜dð  $ q¤'Ô"2Ð<Ð<°Q°q±S¸±UÐ<Ð<Ð=Ñ=ð Fð Fð Fr   c                 óR   — g | ]$}t          t          t          |¦  «        ¦  «        ‘Œ%S r   )rB   rC   Ú_CHANDRUPATLA_TESTS_KEYSrE   s     r   rH   rH   Ê  sA   € ð Bð Bð BØ!)õ "¥#Õ&>ÀÑ"IÔ"IÑJÔJð Bð Bð Br   )r  N)sÚ__doc__r   ÚnumpyrK   Úscipy.optimizer   ÚccÚscipy._lib._array_apir   Údescriptionr   r   r   r   r   r   r   r&   r*   r.   r0   r2   r5   rD   ÚsqrtÚinfÚ_ORIGINAL_TESTSr  rM   rQ   rT   r_   ra   rd   rk   rn   rp   rt   rv   rz   r}   r   r‚   r…   r‡   rŠ   rŒ   r�   r‘   r“   r•   r—   r™   r›   r�   rŸ   r¡   r£   r¥   r§   r©   r­   r¯   r±   ÚlogÚfinfoÚfloatÚmaxr´   r·   r¹   r»   r¿   rÁ   rÃ   rÊ   rÍ   rÏ   rø   ÚpiÚ
_APS_TESTSr  rü   rþ   r   r  r  r  r  Ú_COMPLEX_TESTSr  r  r  ÚbisectÚridderÚbrenthÚbrentqÚmethodsÚmstringsÚ	functionsÚfstringsr   r=   r"  r$  r&  r(  r*  r/  r3  r5  rE  Ú_CHANDRUPATLA_TESTSÚ	enumerater  r   r   r   ú<module>r`     s·&  ððð ðR Ð Ð Ð Ð Ð à Ð Ð Ð à *Ð *Ð *Ð *Ð *Ð *Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1ð€ðð ð ð
ð ð ðð ð ðð ð ð
ð ð ðð ð ð.ð .ð .ð
-ð -ð -ð#ð #ð #ðð ð ðð ð ð €	ð
ð 
ð 
ð,ð ð Ð ð ˆ�˜˜S ' "¤'¨!¡*¤*Ð-¨r¬v°s¸CÐAQÐRØˆ�˜˜S ' "¤'¨!¡*¤*Ð-¨r¬v°s¸CÐAQÐRØˆ�˜˜S ' "¤'¨!¡*¤*Ð-¨r¬v°s¸CÐAQÐRØˆˆt�R˜#˜w˜rœw q™zœzÐ*¨B°°SÐ:JÐKØˆˆt�R˜#˜w˜rœw q™zœzÐ*¨B°°SÐ:JÐKØˆˆt�R˜#˜w˜rœw q™zœzÐ*¨R¬V¨G°S¸#Ð?OÐPð€ðð Ø>Mðñ ô Ð ðð ð ð
ð ð ðð ð ð9ð 9ð 9ð8ð 8ð 8ð
9ð 9ð 9ð
!ð !ð !ð
+ð +ð +ð5ð 5ð 5ðð ð ð
ð ð ð$ð $ð $ðð ð ð
ð ð ðð ð ð7ð 7ð 7ð
3ð 3ð 3ð'ð 'ð 'ð1ð 1ð 1ð
2ð 2ð 2ðð ð ðð ð ð
(ð (ð (ð.ð .ð .ð1ð 1ð 1ð
5ð 5ð 5ð$ð $ð $ð+ð +ð +ð
@ð @ð @ð(ð (ð (ð
'ð 'ð 'ð
ð ð ðð ð ð7ð 7ð 7ð
*ð *ð *ðFð Fð Fð ˆrŒv�h�b”h˜u‘o”oÔ)Ñ*Ô*€ð
ð 
ð 
ð&ð &ð &ð-ð -ð -ð0ð 0ð 0ð.ð .ð .ð#ð #ð #ð2ð 2ð 2ð?ð ?ð ?ðTð Tð Tð(ð ð €ðuØˆh˜	 2¨¬°©	°2´5Ð'9¸2¼6ØÐ ð.ðuð ˆh˜	 2¨°(Ð';¸R¼VØÐ ð.ðuð
 ˆh˜	 2¨°(Ð';¸R¼VØÐ ð.ðuð ˆh˜	 2¨°)Ð'<¸b¼fØÐ	  +ð/ðuð ˆh˜	 2¨	°9Ð'=¸r¼vØÐ	  +ð/ðuð ˆh˜	 2¨	°9Ð'=¸r¼vØÐ	  +ð/ðuð ˆh˜	 2¨	°9Ð'=¸r¼vØÐ	  +ð/ðuð ˆh˜	 2¨	°9Ð'=¸r¼vØÐ	  +ð/ðuð" ˆh˜	 2¨	°9Ð'=¸r¼vØÐ	  +ð/ð#uð& ˆh˜	 2¨	°:Ð'>ÀÄØÐ	  +ð/ð'uð* ˆh˜	 2¨
°JÐ'?ÀÄØÐ
! ;ð0ð+uð. ˆh˜	 9¨r°2¨h¸¼ØˆˆKðð/uð2 ˆh˜	 :°°B¨x¸¼ØˆˆKðð3uð6 ˆh˜	 :°°B¨x¸¼ØˆˆKðð7uð: ˆh˜	 8¨a°¨V°R´VØÐ
! ;ð0ð;uð> ˆh˜	 8¨a°¨V°R´VØÐ
! ;ð0ð?uðB ˆh˜	 8¨a°¨V°R´VØÐ
! ;ð0ðCuðF ˆh˜	 9¨q°!¨f°b´fØÐ
! ;ð0ðGuðJ ˆh˜	 9¨q°!¨f°b´fØÐ
! ;ð0ðKuðN ˆh˜	 6¨A¨q¨6°2´6Øˆ!ˆ[ððOuðR ˆh˜	 6¨A¨q¨6°2´6Øˆ!ˆ[ððSuðV ˆh˜	 6¨A¨q¨6°2´6Øˆ!ˆ[ððWuðZ ˆh˜	 7¨Q°¨F°B´FØˆ!ˆ[ðð[uð^ ˆh˜	 7¨Q°¨F°B´FØˆ!ˆ[ðð_uðb ˆh˜	 6¨E°4¨=¸"¼&Øˆ!ˆ[ððcuðf ˆh˜	 7¨U°D¨M¸2¼6Øˆ!ˆ[ððguðj ˆh˜	 7¨U°D¨M¸2¼6Øˆ!ˆ[ððkuðn ˆh˜	 7¨U°D¨M¸2¼6Øˆ!ˆ[ððouðr ˆh˜	 2¨¨3 x°´Øˆ"Œ%�!‰)�[ð"ðsuðv ˆh˜	 4¨!¨Q¨°´ØÐ
! ;ð0ðwuðz ˆh˜	 4¨!¨Q¨°´ØÐ
! ;ð0ð{uð~ ˆh˜	 4¨!¨Q¨°´ØÐ
! ;ð0ðuðB ˆh˜	 4¨!¨Q¨°´ØÐ
! ;ð0ðCuðF ˆh˜	 4¨!¨Q¨°´ØÐ
! ;ð0ðGuðJ ˆh˜	 5¨1¨a¨&°"´&ØÐ
! ;ð0ðKuðN ˆh˜	 5¨1¨a¨&°"´&Ø
Ð# [ð2ðOuðR ˆh˜	 5¨1¨a¨&°"´&ØÐ&¨ð5ðSuðV ˆh˜	 5¨1¨a¨&°"´&ØÐ% {ð4ðWuðZ ˆh˜	 6¨A¨q¨6°2´6Ø
Ð# [ð2ð[uð^ ˆh˜	 4¨!¨Q¨°´ØÐ
! ;ð0ð_uðb ˆh˜	 5¨1¨a¨&°"´&ØÐ
! ;ð0ðcuðf ˆh˜	 5¨1¨a¨&°"´&ØÐ
! ;ð0ðguðj ˆh˜	 4¨!¨Q¨°´Øˆ#ˆ{ððkuðn ˆh˜	 4¨!¨Q¨°´ØÐ
! ;ð0ðouðr ˆh˜	 5¨1¨a¨&°"´&ØÐ
! ;ð0ðsuðv ˆh˜	 5¨1¨a¨&°"´&ØÐ
! ;ð0ðwuðz ˆh˜	 5¨1¨a¨&°"´&ØÐ
! ;ð0ð{uð~ ˆh˜	 4¨!¨Q¨°´ØÐ
! ;ð0ðuðB ˆh˜	 4¨!¨Q¨°´ØÐ
! ;ð0ðCuðF ˆh˜	 4¨!¨Q¨°´ØÐ
! ;ð0ðGuðJ ˆh˜	 4¨!¨Q¨°´ØÐ
! ;ð0ðKuðN ˆh˜	 4¨!¨Q¨°´ØÐ
! ;ð0ðOuðR ˆh˜	 5¨1¨a¨&°"´&ØÐ
! ;ð0ðSuðV ˆh˜	 5¨1¨a¨&°"´&ØÐ
! ;ð0ðWuðZ ˆh˜	 4¨!¨Q¨°´ØÐ
! ;ð0ð[uð^ ˆh˜	 4¨!¨Q¨°´ØÐ
! ;ð0ð_uðb ˆh˜	 5¨1¨a¨&°"´&ØÐ
! ;ð0ðcuðf ˆh˜	 5¨1¨a¨&°"´&ØÐ
! ;ð0ðguðj ˆh˜	 5¨1¨a¨&°"´&ØÐ
! ;ð0ðkuðn ˆh˜	 4¨$°¨°B´FØ
ˆG‘[ð"ðouðr ˆh˜	 4¨$°¨°B´FØ
‰G‘[ð"ðsuðv ˆh˜	 5¨4°¨)°R´VØ
‰H‘kð#ðwuðz ˆh˜	 5¨4°¨)°R´VØ
ˆH‘kð#ð{uð~ ˆh˜	 4¨!©S¨°2´6Ùˆ!‰[ððuðB ˆh˜	 4¨!©S¨°2´6Ùˆ!‰[ððCuðF ˆh˜	 4¨!©S¨°2´6Ù‰!‰[ððGuðJ ˆh˜	 4¨!©S¨°2´6Ùˆ!‰[ððKuðN ˆh˜	¡4¨!©S¨°2´6Ùˆ!‰[ððOuðR ˆh˜	¡4¨!©S¨°2´6Ù‰!‰[ððSuðV ˆh˜	¡4¨!©S¨°2´6Ù‰!‰[ððWuðZ ˆh˜	¡5¨1©c¨(°B´FÙ‰"‰kðð[uð^ ˆh˜	¡5¨1©c¨(°B´FÙ‰"‰kðð_uðb ˆh˜	 5¨1©c¨(°B´FÙ‰"‰kððcuðf ˆh˜	¡5¨1©c¨(°B´FÙˆ"‰kððguðj ˆh˜	¡5¨1©c¨(°B´FÙ‰"‰kððkuðn ˆh˜	¡5¨1©c¨(°B´FÙ‰"‰kððouðr ˆh˜	¡5¨1©c¨(°B´FÙ‰"‰kððsuðv ˆh˜	¡5¨1©c¨(°B´FÙ‰"‰kððwuðz ˆh˜	¡5¨1©c¨(°B´FÙ‰"‰kðð{uð~ ˆh˜	¡5¨1©c¨(°B´FÙ‰"‰kððuðB ˆh˜	¡5¨1©c¨(°B´FÙˆ"‰kððCuðF ˆh˜	¡5¨1©c¨(°B´FÙ‰"‰kððGuðJ ˆh˜	 2¨©A w°´Øˆ!‰[ððKuðN ˆh˜	 4©%°´¸±Ð);¸QØÑ¡ð.ðOuðR ˆh˜	 4©%°´¸±Ð);¸QØÑ¡ð.ðSuðV ˆh˜	 4©%°´¸±Ð);¸QØÑ¡ð.ðWuðZ ˆh˜	 4©%°´¸±Ð);¸QØÑ¡ð.ð[uð^ ˆh˜	 4©%°´¸±Ð);¸QØÑ¡ð.ð_uðb ˆh˜	¡4©%°´¸±Ð);¸QØÑ¡ð.ðcuðf ˆh˜	¡4©%°´¸±Ð);¸QØÑ¡ð.ðguðj ˆh˜	 4©%°´¸±Ð);¸QØÑ¡ð.ðkuðn ˆh˜	¡4©%°´¸±Ð);¸QØÑ¡ð.ðouðr ˆh˜	 5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðsuðv ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðwuðz ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ð{uð~ ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðuðB ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðCuðF ˆh˜	 5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðGuðJ ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðKuðN ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðOuðR ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðSuðV ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðWuðZ ˆh˜	 5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ð[uð^ ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ð_uðb ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðcuðf ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðguðj ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðkuðn ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðouðr ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðsuðv ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðwuðz ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ð{uð~ ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðuðB ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðCuðF ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðGuðJ ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðKuðN ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðOuðR ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðSuðV ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðWuðZ ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ð[uð^ ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ð_uðb ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðcuðf ˆh˜	¡5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðguðj ˆh˜	 5©5°"´%¸!±)Ð*<¸aØÑ¡ð.ðkuðn ˆh˜	 5©5±$¨-¸ØÑ	 ¡+ð/ðouðr ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðsuðv ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðwuðz ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ð{uð~ ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðuðB ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðCuðF ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðGuðJ ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðKuðN ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðOuðR ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðSuðV ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðWuðZ ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ð[uð^ ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ð_uðb ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðcuðf ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðguðj ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðkuðn ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðouðr ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðsuðv ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðwuðz ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ð{uð~ ˆh˜	 5©5±$¨-¸ØÑ	 ¡+ð/ðuðB	 ˆh˜	 6©E±4¨=¸!ØÑ	 ¡+ð/ðC	uðF	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ðG	uðJ	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ðK	uðN	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ðO	uðR	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ðS	uðV	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ðW	uðZ	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ð[	uð^	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ð_	uðb	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ðc	uðf	 ˆh˜	¡7©U±D¨M¸1ØÑ	 ¡+ð/ðg	u€
ñn	 UÐTÈÐTÑTÔTÐ ñð ð ñ
ð ð ñ$ð $ð $ñð ð ñ
ð ð ñð ð ð$ñ ð Ð ð ˆy˜*¡g¨r¬vÙ‘
™R¡ð2àˆy˜*¡f¨b¬fÙ‘¡ w r¤w¨q¡z¤z°A¡~¹Ñ'<Ñ <Ùðð ˆy˜*¡g¨r¬vÙ‰*˜˜g˜bœg a™jœj¨1™n©tÑ3Ñ3Ùðð ˆy˜*¡f¨b¬fØ‰ˆ1‰oðàˆy˜*¡e¨R¬VÙ‘
˜RœU¡T™\©?ð<àˆy˜*¡e¨R¬VÙ‘
˜RœU¡T™\©?ð<ð€ñ"ð Ø=Kðñ ô Ð ñ
ð ð ð 	€Ð	Ñ Ô Ð Ø €Ð	Ñ Ô Ð Ø €Ð	Ñ Ô Ð ññ ð ð ðF Œ9�b”i ¤¨B¬IÐ
6€Ø?Ñ?Ð?€Ø��R˜˜RÐ €	Ø)Ñ)Ð)€ñð ð á€„	ñð ð à€„	ñð ð à€„	ñð ð à€„	ñð ð à€„	ñð ð à€„	ñ;ð ;ð ;ð €„	ñNð Nð Nñ €„	ñ4ð 4ð 4ñ €„	ð DÑCÐCÐ ð.Ø	ˆAˆqˆ6�4”9™aÐ ð.à	ˆAˆrˆ7�D”I™rÐ"ð.ð 
ˆA‰sˆ8�T”Y¡Ð#ð.ð 
‰D‘#ˆ;˜œ	¡2Ð&ð	.ð
 
‰E‘4ˆ=˜$œ)¡RÐ(ð.ð 
ˆC‘ˆ;˜œ	¡1Ð%ð.ð 
‰D‘#ˆ;˜œ	¡2Ð&ð.ð 
‰D‘#ˆ;˜œ	¡2Ð&ð.ð 
‰E‘4ˆ=˜$œ)¡RÐ(ð.ð 
‰E‘4ˆ=˜$œ)¡RÐ(ð.ð 
ˆAˆqˆ6�4”9™bÐ!ð.ð 
‰C�ˆ9�d”i¡Ð$ð.ð 
‰D‘#ˆ;˜œ	¡2Ð&ð.ð 
‰D‘#ˆ;˜œ	¡2Ð&ð.ð 
‰E‘4ˆ=˜$œ)¡RÐ(ð.ð  
ˆAˆqˆ6�4”9™bÐ!ð!.ð" 
‰C�ˆ9�d”i¡Ð$ð#.ð$ 
‰D‘#ˆ;˜œ	¡2Ð&ð%.ð& 
‰D‘#ˆ;˜œ	¡2Ð&ð'.ð( 
‰E‘4ˆ=˜$œ)¡RÐ(ð).ð* 
ˆB‘ˆ7�D”I™rÐ"ð+.ð, 
ˆB�ˆ7�D”I™rÐ"ð-.ð. 
ˆB�ˆ8�T”Y¡Ð#ð/.ð0 
‰B�ˆ8�T”Y¡Ð#ð1.ð2 
‰C‘ˆ:�t”y "Ð%ð3.ð4 
‰C‘ˆ9�d”i¡Ð$ð5.ð6 
‰C‘ˆ9�d”i¡Ð$ð7.ð8 
‰C‘ˆ:�t”y¡"Ð%ð9.ð: 
‰C‘ˆ:�t”y¡"Ð%ð;.ð< 
‰D‘$ˆ<˜œ BÐ'ð=.ð> 
ˆB‘ˆ7�D”I™qÐ!ð?.ð@ 
ˆB�ˆ7�D”I™qÐ!ðA.ðB 
ˆB�ˆ8�T”Y¡Ð#ðC.ðD 
‰B�ˆ8�T”Y¡Ð#ðE.ðF 
‰C‘ˆ:�t”y¡"Ð%ðG.ðH 
‰D�!ˆ9�d”i¡Ð#ðI.ðJ 
‰D�!ˆ9�d”i Ð$ðK.ðL 
‰D‘!ˆ9�d”i¡Ð$ðM.ðN 
‰D‘"ˆ:�t”y¡"Ð%ðO.ðP 
‰D‘"ˆ:�t”y¡"Ð%ðQ.ðR 
‰D�!ˆ9�d”i¡Ð#ðS.ðT 
‰D�!ˆ9�d”i¡Ð#ðU.ðV 
‰D‘!ˆ9�d”i Ð$ðW.ðX 
‰D‘"ˆ:�t”y¡"Ð%ðY.ðZ 
‰D‘"ˆ:�t”y¡"Ð%ð[.Ð ñ^Fð FØ&/ iÐ0CÑ&DÔ&DðFñ Fô FÐ ñBð BØ-@ðBñ Bô BÐ à €Ð	"Ñ #Ô #Ð #Ð #Ð #r   