§
    µ³Ùg˜�  ã                   óJ  — d dl Z d dlmZ d dlmZmZmZmZmZm	Z	 d dl
Zd dl
mZmZmZmZmZmZmZmZ d dlmZ d dlmZmZmZmZ d dlmZ d dlm Z m!Z" d	 ej        e#¦  «        j$        z  Z% ee#¦  «        j$        Z&ej'        ej(        ej)        ej*        ej+        gZ,ej        gZ-e,e-z   Z.d
„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d„ Z4d„ Z5ed„ ¦   «         Z6 G d„ d¦  «        Z7 G d„ de7¦  «        Z8 G d„ de7¦  «        Z9d„ Z:d„ Z;d„ Z< G d„ d¦  «        Z=d„ Z>e j?        j@        d„ ¦   «         ZAe j?        j@        d„ ¦   «         ZBd „ ZCd!„ ZDd"„ ZEe j?         F                    d#d$ejG        fd%ejH        fg¦  «        d&„ ¦   «         ZIe j?        j@        d'„ ¦   «         ZJe j?         F                    d(g d)¢¦  «        d*„ ¦   «         ZKe j?         F                    d+g d)¢¦  «        d,„ ¦   «         ZLe j?         F                    d(g d)¢¦  «        e j?         F                    d-d.d/g¦  «        d0„ ¦   «         ¦   «         ZMe j?        j@        d1„ ¦   «         ZNe j?         F                    d(g d)¢¦  «        e j?         F                    d-d.d/g¦  «        d2„ ¦   «         ¦   «         ZOd3„ ZPd4„ ZQe j?         F                    d+e.¦  «        d5„ ¦   «         ZRdS )6é    N)Ú	lru_cache)Úassert_warnsÚassert_Úassert_allcloseÚassert_equalÚassert_array_equalÚsuppress_warnings)ÚfinfoÚpowerÚnanÚiscloseÚsqrtÚexpÚsinÚcos)Úoptimize)Ú	_zeros_pyÚnewtonÚroot_scalarÚOptimizeResult)Úgetfullargspec_no_self)Ú	get_testsÚ	functionsé   c                 ó   — | dz  d| z  z
  dz
  S ©Né   é   © ©Úxs    úU/granary/edev/quantum/lib/python3.11/site-packages/scipy/optimize/tests/test_zeros.pyÚf1r#   !   s   € Ø�‰6�A˜‘E‰>˜AÑÐó    c                 ó   — d| z  dz
  S ©Nr   r   r    s    r"   Úf1_1r'   %   s   € Øˆq‰5�1‰9Ðr$   c                 ó   — dd| z  z   S ©Nç       @r   r   r    s    r"   Úf1_2r+   )   s   € Ø��Q‘‰;Ðr$   c                 óZ   — t          | ¦  «        t          | ¦  «        t          | ¦  «        fS ©N)r#   r'   r+   r    s    r"   Úf1_and_p_and_ppr.   -   s!   € Ýˆa‰5Œ5•$�q‘'”'�4 ™7œ7Ð"Ð"r$   c                 ó@   — t          | ¦  «        t          | ¦  «        z
  S r-   ©r   r   r    s    r"   Úf2r1   2   ó   € Ýˆq‰6Œ6•C˜‘F”F‰?Ðr$   c                 ó@   — t          | ¦  «        t          | ¦  «        z   S r-   )r   r   r    s    r"   Úf2_1r4   6   r2   r$   c                 ó@   — t          | ¦  «        t          | ¦  «        z   S r-   r0   r    s    r"   Úf2_2r6   :   r2   r$   c                 ó   — | S r-   r   r    s    r"   Úf_lrucachedr8   ?   s   € à€Hr$   c                   óŽ   — e Zd Zd ej        e¦  «        j        z  Zd ej        e¦  «        j        z  Z	 	 dd„Z	dd„Z
	 	 dd„ZdS )ÚTestScalarRootFindersr   Nc           	      óâ  — g }|pg D ];}||vrddddœ                      ||¦  «        }|                     ||         ¦  «         Œ<t          d
i |¤Ž}|                     dddœ¦  «         |pg D ]}||         ||<   Œ|                      d¦  «        }	|                      d	d
¦  «        }
	  ||d	|
i|¤Ž\  }}|	||fS # t          $ r- |	t          j        t          ddt
          j        |¦  «        |fcY S w xY w)NÚx0Úx1Úf)ÚaÚbÚfuncTF©Úfull_outputÚdispÚrootÚargsr   éÿÿÿÿ)	ÚgetÚappendÚdictÚupdateÚ	ExceptionÚzerosÚRootResultsr   Ú
_EVALUEERR)ÚselfÚtcÚmethodÚsig_args_keysÚsig_kwargs_keysÚkwargsÚmethod_argsÚkÚmethod_kwargsrE   Ú	func_argsÚrÚrrs                r"   Ú_run_one_testz#TestScalarRootFinders._run_one_testJ   sH  € àˆØÐ$ "ð 	&ð 	&ˆAØ˜ˆ{ˆ{à T°3Ð7Ð7×;Ò;¸A¸qÑAÔA�Ø×Ò˜r !œuÑ%Ô%Ð%Ð%å˜˜˜v˜˜ˆØ×Ò¨T¸5ÐAÐAÑBÔBÐBØ Ð& Bð 	%ð 	%ˆAØ! !œuˆM˜!ÑÐà�vŠv�f‰~Œ~ˆØ—F’F˜6 2Ñ&Ô&ˆ	ð	VØ�F˜KÐI¨iÐI¸=ÐIÐI‰EˆAˆrØ˜˜R�<ÐøÝð 	Vð 	Vð 	VØ�Ô*­3°°B½Ô8HÈ&ÑQÔQÐSUÐUÐUÐUÐUð	Vøøøs   Â%B7 Â74C.Ã-C.c                 ó$  ‡ ‡‡‡‡‡‡‡‡— t          ‰¦  «        }t          |j         ¦  «         t          |j        ¦  «        }t          |j        ¦  «        |z
  }|j        d|…         Šg Š‰dv r=‰dv r.‰                     d¦  «         ‰dv r‰                     d¦  «         ‰ j        ‰d<   n‰ j        ‰d<   ‰ j        ‰d	<   ˆˆˆ ˆˆfd
„|D ¦   «         }	‰pg Šd„ |	D ¦   «         }
ˆfd„|
D ¦   «         }
d„ |
D ¦   «         }t          t          |¦  «        |gdg g¦  «         ‰ j        ‰ j        dœ} |j
        di ‰¤Ž |d	         Š|                     d|d         ¦  «        Šd„ |	D ¦   «         }d„ |D ¦   «         }d„ |D ¦   «         }ˆˆˆfd„t          |||¦  «        D ¦   «         }d„ |D ¦   «         }d„ t          ||¦  «        D ¦   «         }t          |t          |¦  «        gg dg¦  «         d„ |	D ¦   «         }ˆfd„|	D ¦   «         }t          ||¦  «         dS )zÒRun test-cases using the specified method and the supplied signature.

        Extract the arguments for the method call from the test case
        dictionary using the supplied keys for the method's signature.N)Úsecantr   Úhalley)r   r_   Úfprime)r_   Úfprime2ÚtolÚxtolÚrtolc           
      óN   •— g | ]!}t           ‰j        |‰f‰‰d œ‰¤Ž¦  «        ‘Œ"S ))rS   rT   )Úlistr\   )Ú.0rQ   rU   rR   rP   rS   rT   s     €€€€€r"   ú
<listcomp>z3TestScalarRootFinders.run_tests.<locals>.<listcomp>{   sh   ø€ ð Ið Ið Ià<>õ Ð*˜Ô*Ø�ð7Ø&3Ø+ð7ð 7à/5ð7ð 7ñ 8ô 8ð Ið Ið Ir$   c                 ó,   — g | ]}|d          j         °|‘ŒS ©r   ©Ú	converged©rg   Úelts     r"   rh   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>�   s$   € ÐBÐBÐB˜3°°Q´Ô1AÐB�3ÐBÐBÐBr$   c                 ó4   •— g | ]}|d          d         ‰v¯|‘ŒS ©rG   ÚIDr   )rg   rn   Ú
known_fails     €r"   rh   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>‚   s+   ø€ ÐMÐMÐM˜3¨S°¬W°T¬]À*Ð-LÐ-L�3Ð-LÐ-LÐ-Lr$   c                 ó*   — g | ]}|d          d         ‘ŒS rp   r   rm   s     r"   rh   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>ƒ   s    € Ð9Ð9Ð9¨#˜˜Bœ œÐ9Ð9Ð9r$   r   ©rc   rd   c                 ó,   — g | ]}|d          j         ¯|‘ŒS rj   rk   rm   s     r"   rh   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>Œ   s$   € Ð;Ð;Ð;˜¨#¨a¬&Ô*:Ð;�Ð;Ð;Ð;r$   c                 ó(   — g | ]}|d          j         ‘ŒS rj   )rE   rm   s     r"   rh   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>�   s   € Ð.Ð.Ð. #�#�a”&”+Ð.Ð.Ð.r$   c                 ó   — g | ]
}|d          ‘ŒS ©r   r   rm   s     r"   rh   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>Ž   s   € Ð*Ð*Ð*˜c�3�q”6Ð*Ð*Ð*r$   c                 ój   •— g | ]/\  }}}t          ||‰‰¬ ¦  «        s|d         d         ‰v¯)|g|z   ‘Œ0S ))rd   ÚatolrG   rq   )r   )rg   r?   Úcrn   rz   rr   rd   s       €€€r"   rh   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>�   sZ   ø€ ð 9ð 9ð 9¡) ! Q¨Ý  1¨4°dÐ;Ñ;Ô;ð9à˜Bœ œ¨ZÐ7Ð7ð �C˜#‘Ià7Ð7Ð7r$   c           
      óv   — g | ]6\  }}}} |d          |g|                      dt          ¦   «         ¦  «        ¢R Ž ‘Œ7S )r>   rF   )rH   Útuple)rg   Úarootr{   ÚfulloutrQ   s        r"   rh   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>”   sX   € ð 6ð 6ð 6Ù(�5˜!˜W bð ˆr�#Œw�uÐ7˜rŸvšv f­e©g¬gÑ6Ô6Ð7Ð7Ð7ð 6ð 6ð 6r$   c                 ó,   — g | ]\  }}|d k    ¯|g|z   ‘ŒS rx   r   )rg   Úfvrn   s      r"   rh   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>–   s'   € ÐLÐLÐL¡7 2 sÀBÈ!ÂGÀG�R�D˜3‘JÀGÀGÀGr$   c                 ó(   — g | ]}|d          j         ‘ŒS rj   )rR   )rg   Úresults     r"   rh   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>˜   s   € ÐEÐEÐE°6˜f QœiÔ.ÐEÐEÐEr$   c                 ó   •— g | ]}‰‘ŒS r   r   )rg   Ú_Únames     €r"   rh   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>™   s   ø€ Ð1Ð1Ð1 A˜4Ð1Ð1Ð1r$   r   )Ú_getfullargspecr   Ú
kwonlyargsÚlenÚdefaultsrF   rI   rc   rd   r   rK   rH   Úzip)rP   ÚtestsrR   r†   rr   rU   ÚsigÚ	nDefaultsÚ	nRequiredÚresultsÚnotcvgdÚnotcvged_IDSÚtolsÚcvgdÚapproxÚcorrectÚnotcloseÚfvsÚmethod_from_resultÚexpected_methodrz   rd   rS   rT   s   ` ````              @@@@r"   Ú	run_testszTestScalarRootFinders.run_testsa   sã  øøøøøøøøø€ õ ˜fÑ%Ô%ˆÝ�C”NÐ"Ñ#Ô#Ð#Ý˜œÑ%Ô%ˆ	Ý˜œ‘M”M IÑ-ˆ	Øœ  ) Ô,ˆØˆØÐ1Ð1Ð1ØÐ+Ð+Ð+Ø×&Ò& xÑ0Ô0Ð0Ø˜:Ð%Ð%Ø#×*Ò*¨9Ñ5Ô5Ð5Ø œIˆF�5‰MˆMà!œYˆF�6‰NØ!œYˆF�6‰NðIð Ið Ið Ið Ið Ið Ið IàBGðIñ Iô Iˆð
  Ð% 2ˆ
ØBÐB 'ÐBÑBÔBˆØMÐMÐMÐM 'ÐMÑMÔMˆØ9Ð9°Ð9Ñ9Ô9ˆÝ•c˜,Ñ'Ô'¨Ð6¸¸B¸Ñ@Ô@Ð@ð œ	¨4¬9Ð5Ð5ˆØˆŒÐÐ�fÐÐÐØ�FŒ|ˆØ�xŠx˜˜t Fœ|Ñ,Ô,ˆà;Ð;˜wÐ;Ñ;Ô;ˆØ.Ð.¨Ð.Ñ.Ô.ˆØ*Ð* TÐ*Ñ*Ô*ˆð9ð 9ð 9ð 9ð 9ð 9­s°6¸7ÀDÑ/IÔ/Ið 9ñ 9ô 9ˆð6ð 6Ø,4ð6ñ 6ô 6ˆàLÐL­c°#°xÑ.@Ô.@ÐLÑLÔLˆÝ�h¥ H¡¤Ð.°°Q°Ñ8Ô8Ð8ØEÐE¸WÐEÑEÔEÐØ1Ð1Ð1Ð1¨Ð1Ñ1Ô1ˆÝÐ'¨Ñ9Ô9Ð9Ð9Ð9r$   c                 óL   — t          ||¬¦  «        } | j        |||fd|i|¤Ž dS )zuRun a collection of tests using the specified method.

        The name is used to determine some optional arguments.©Ú
smoothnessrr   N)r   r›   )rP   Ú
collectionrR   r†   rž   rr   rU   rŒ   s           r"   Úrun_collectionz$TestScalarRootFinders.run_collectionœ   s?   € õ
 ˜*°Ð<Ñ<Ô<ˆØˆŒ�u˜f dÐLÐL°zÐLÀVÐLÐLÐLÐLÐLr$   )NNr-   )Ú__name__Ú
__module__Ú__qualname__Únpr
   ÚfloatÚepsrc   rd   r\   r›   r    r   r$   r"   r:   r:   D   s›   € € € € € ð ˆxˆrŒx˜‰ŒÔ"Ñ"€DØˆxˆrŒx˜‰ŒÔ"Ñ"€Dà6:Ø&*ðVð Vð Vð Vð.9:ð 9:ð 9:ð 9:ðv CGØ"&ðMð Mð Mð Mð Mð Mr$   r:   c                   ó¨  — e Zd Zej                             de¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         Zej                             de¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         Z	ej                             de¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         Z
ej                             de¦  «        d„ ¦   «         Zej                             dej        ej        ej        g¦  «        d„ ¦   «         Zej                             de¦  «        d„ ¦   «         Zd	S )
ÚTestBracketMethodsrR   Úfunctionc                 óî   — dt          d¦  «        }}t          ||j        ||g|| j        | j        ¬¦  «        }|j        sJ ‚t          |j        d| j        | j        ¬¦  «         |j        |j        k    sJ ‚d S ©Nç      à?é   )rR   Úbracketr<   rc   rd   ç      ð?©rz   rd   )	r   r   r¡   rc   rd   rl   r   rE   rR   ©rP   rR   r©   r?   r@   rZ   s         r"   Útest_basic_root_scalarz)TestBracketMethods.test_basic_root_scalar¦   s„   € ð •4˜‘7”7ˆ1ˆå˜¨¬À1ÀaÀ&ÈQØ!œY¨T¬Yð8ñ 8ô 8ˆàŒ{ÐÐÐÝ˜œ ¨$¬)¸$¼)ÐDÑDÔDÐDØŒx˜6œ?Ò*Ð*Ð*Ð*Ð*Ð*r$   c                 ó°   — dt          d¦  «        }} ||||| j        | j        d¬¦  «        \  }}|j        sJ ‚t	          |d| j        | j        ¬¦  «         d S )Nr¬   r­   T)rc   rd   rC   r¯   r°   )r   rc   rd   rl   r   )rP   rR   r©   r?   r@   rE   rZ   s          r"   Útest_basic_individualz(TestBracketMethods.test_basic_individual´   so   € ð •4˜‘7”7ˆ1ˆØ�&˜ 1 a¨d¬i¸d¼iØ%)ð+ñ +ô +‰ˆˆað Œ{ÐÐÐÝ˜˜c¨¬	¸¼	ÐBÑBÔBÐBÐBÐBr$   c                 ó  — dt          d¦  «        }}t          ||j        t          j        ||g¦  «        || j        | j        ¬¦  «        }|j        sJ ‚t          |j	        d| j        | j        ¬¦  «         |j
        |j        k    sJ ‚d S r«   )r   r   r¡   r¤   Úarrayrc   rd   rl   r   rE   rR   r±   s         r"   Útest_bracket_is_arrayz(TestBracketMethods.test_bracket_is_arrayÁ   s‘   € ð •4˜‘7”7ˆ1ˆÝ˜¨¬Ý "¤¨!¨Q¨Ñ 0Ô 0°Q¸T¼YØ!œYð(ñ (ô (ˆð Œ{ÐÐÐÝ˜œ ¨$¬)¸$¼)ÐDÑDÔDÐDØŒx˜6œ?Ò*Ð*Ð*Ð*Ð*Ð*r$   c                 óB   — |                       d||j        d¬¦  «         d S )NÚapsr   r�   )r    r¡   )rP   rR   s     r"   Útest_aps_collectionz&TestBracketMethods.test_aps_collectionÐ   s'   € à×Ò˜E 6¨6¬?ÀqÐÑIÔIÐIÐIÐIr$   c                 ól   — |t           j        k    rdhni }|                      d||j        |¬¦  «         d S )Nzfun7.4Úchandrupatla)rr   )rM   Úridderr    r¡   )rP   rR   rr   s      r"   Útest_chandrupatla_collectionz/TestBracketMethods.test_chandrupatla_collectionÔ   sM   € ð $*­U¬\Ò#9Ð#9�h�Z�Z¸rˆ
Ø×Ò˜N¨F°F´OØ'1ð 	ñ 	3ô 	3ð 	3ð 	3ð 	3r$   c                 óp   — d\  }} |t           ||d¬¦  «        \  }}|j        sJ ‚t          |d¦  «         d S )N)rG   r   T©rC   r   )r8   rl   r   )rP   rR   r?   r@   rE   rZ   s         r"   Útest_lru_cached_individualz-TestBracketMethods.test_lru_cached_individualÛ   sM   € ð ‰ˆˆ1Ø�&� a¨¸Ð=Ñ=Ô=‰ˆˆaØŒ{ÐÐÐÝ˜˜aÑ Ô Ð Ð Ð r$   N)r¡   r¢   r£   ÚpytestÚmarkÚparametrizeÚbracket_methodsÚtstutils_functionsr²   r´   r·   rº   rM   Úbisectr½   Útoms748r¾   rÁ   r   r$   r"   r¨   r¨   ¥   sœ  € € € € € Ø„[×Ò˜X Ñ7Ô7Ø„[×Ò˜ZÐ);Ñ<Ô<ð
+ð 
+ñ =Ô<ñ 8Ô7ð
+ð „[×Ò˜X Ñ7Ô7Ø„[×Ò˜ZÐ);Ñ<Ô<ð	Cð 	Cñ =Ô<ñ 8Ô7ð	Cð „[×Ò˜X Ñ7Ô7Ø„[×Ò˜ZÐ);Ñ<Ô<ð+ð +ñ =Ô<ñ 8Ô7ð+ð „[×Ò˜X Ñ7Ô7ðJð Jñ 8Ô7ðJð „[×Ò˜X¨¬°e´lØ(-¬ð(7ñ 8ô 8ð3ð 3ñ8ô 8ð3ð
 „[×Ò˜X Ñ7Ô7ð!ð !ñ 8Ô7ð!ð !ð !r$   r¨   c                   óh  — 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ej        j        d„ ¦   «         Zd„ Zd„ Zej        j        d„ ¦   «         Zd„ Zd„ Zej                             d e¦   «         ddig¦  «        d„ ¦   «         Zej                             dddg¦  «        d„ ¦   «         ZdS )Ú
TestNewtonc                 ól   — dg}|ddgz  }dD ]&}|                       |t          j        dd|¬¦  «         Œ'd S )Nú	aps.13.00z	aps.12.05ú	aps.12.17©r¹   Úcomplexr   r   ©rž   rr   ©r    rM   r   ©rP   rr   rŸ   s      r"   Útest_newton_collectionsz"TestNewton.test_newton_collectionsæ   sh   € Ø!�]ˆ
Ø�{ KÐ0Ñ0ˆ
Ø,ð 	Eð 	EˆJØ×Ò 
­E¬L¸(Ø+,¸ð  ñ Eô Eð Eð Eð	Eð 	Er$   c                 ó`   — g d¢}dD ]&}|                       |t          j        dd|¬¦  «         Œ'd S )N)z	aps.12.06z	aps.12.07z	aps.12.08z	aps.12.09z	aps.12.10z	aps.12.11z	aps.12.12z	aps.12.13z	aps.12.14z	aps.12.15z	aps.12.16rÍ   z	aps.12.18rÌ   rÎ   r_   r   rÐ   rÑ   rÒ   s      r"   Útest_halley_collectionsz"TestNewton.test_halley_collectionsí   se   € ð0ð 0ð 0ˆ
ð -ð 	Eð 	EˆJØ×Ò 
­E¬L¸(Ø+,¸ð  ñ Eô Eð Eð Eð	Eð 	Er$   c                 óü  — t           t          t          ft          t          t
          ffD ]Ò\  }}}t          j        |dd¬¦  «        }t           ||¦  «        dd¬¦  «         t          j        |ddd¬¦  «        }t           ||¦  «        dd¬¦  «         t          j        |d|d¬¦  «        }t           ||¦  «        dd¬¦  «         t          j        |d||d¬	¦  «        }t           ||¦  «        dd¬¦  «         ŒÓd S )
Nr­   ç�íµ ÷Æ°>)rb   r   ©rz   é   )r=   rb   )r`   rb   )r`   ra   rb   )	r#   r'   r+   r1   r4   r6   rM   r   r   )rP   r>   Úf_1Úf_2r!   s        r"   Útest_newtonzTestNewton.test_newtonö   s  € Ý¥¥tÐ,­rµ4½Ð.>Ð?ð 	0ð 	0‰KˆAˆs�CÝ”˜Q  tÐ,Ñ,Ô,ˆAÝ˜A˜A˜a™DœD !¨$Ð/Ñ/Ô/Ð/Ý”˜Q  a¨TÐ2Ñ2Ô2ˆAÝ˜A˜A˜a™DœD !¨$Ð/Ñ/Ô/Ð/Ý”˜Q ¨#°4Ð8Ñ8Ô8ˆAÝ˜A˜A˜a™DœD !¨$Ð/Ñ/Ô/Ð/Ý”˜Q ¨#°sÀÐEÑEÔEˆAÝ˜A˜A˜a™DœD !¨$Ð/Ñ/Ô/Ð/Ð/ð	0ð 	0r$   c                 ó�  — t           t          t          ft          t          t
          ffD ]:\  }}}t          |dd|d¬¦  «        }t           ||j        ¦  «        dd¬¦  «         Œ;t           t          t          ft          t          t
          ffD ]9\  }}}t          |ddd¬¦  «        }t           ||j        ¦  «        dd¬¦  «         Œ:dS )	z#Invoke newton through root_scalar()r   r­   r×   )rR   r<   r`   rc   r   rØ   ©rR   r<   rc   N©	r#   r'   r+   r1   r4   r6   r   r   rE   ©rP   r>   rÚ   rÛ   rZ   s        r"   Útest_newton_by_namezTestNewton.test_newton_by_name  sÎ   € å¥¥tÐ,­rµ4½Ð.>Ð?ð 	5ð 	5‰KˆAˆs�CÝ˜A h°1¸SÀtÐLÑLÔLˆAÝ˜A˜A˜aœf™IœI q¨tÐ4Ñ4Ô4Ð4Ð4Ý¥¥tÐ,­rµ4½Ð.>Ð?ð 	5ð 	5‰KˆAˆs�CÝ˜A h°1¸4Ð@Ñ@Ô@ˆAÝ˜A˜A˜aœf™IœI q¨tÐ4Ñ4Ô4Ð4Ð4ð	5ð 	5r$   c                 óø  — t           t          t          ft          t          t
          ffD ]n\  }}}t          |dddd¬¦  «        }t           ||j        ¦  «        dd¬¦  «         t          |dddd¬¦  «        }t           ||j        ¦  «        dd¬¦  «         Œot           t          t          ft          t          t
          ffD ]9\  }}}t          |ddd¬	¦  «        }t           ||j        ¦  «        dd¬¦  «         Œ:d
S )z#Invoke secant through root_scalar()r^   r­   r   r×   ©rR   r<   r=   rc   r   rØ   rÙ   rÞ   Nrß   rà   s        r"   Útest_secant_by_namezTestNewton.test_secant_by_name
  s  € å¥¥tÐ,­rµ4½Ð.>Ð?ð 	5ð 	5‰KˆAˆs�CÝ˜A h°1¸ÀÐFÑFÔFˆAÝ˜A˜A˜aœf™IœI q¨tÐ4Ñ4Ô4Ð4Ý˜A h°1¸ÀÐFÑFÔFˆAÝ˜A˜A˜aœf™IœI q¨tÐ4Ñ4Ô4Ð4Ð4Ý¥¥tÐ,­rµ4½Ð.>Ð?ð 	5ð 	5‰KˆAˆs�CÝ˜A h°1¸4Ð@Ñ@Ô@ˆAÝ˜A˜A˜aœf™IœI q¨tÐ4Ñ4Ô4Ð4Ð4ð	5ð 	5r$   c           	      óÎ   — t           t          t          ft          t          t
          ffD ];\  }}}t          |dd||d¬¦  «        }t           ||j        ¦  «        dd¬¦  «         Œ<dS )z#Invoke halley through root_scalar()r_   r­   r×   )rR   r<   r`   ra   rc   r   rØ   Nrß   rà   s        r"   Útest_halley_by_namezTestNewton.test_halley_by_name  sz   € å¥¥tÐ,­rµ4½Ð.>Ð?ð 	5ð 	5‰KˆAˆs�CÝ˜A h°1Ø#&°¸$ð@ñ @ô @ˆAå˜A˜A˜aœf™IœI q¨tÐ4Ñ4Ô4Ð4Ð4ð	5ð 	5r$   c                 óT  — d}t          j        t          |¬¦  «        5  t          t          dt
          dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          t          dt          dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nz$fprime2 must be specified for halley©Úmatchr_   r­   r×   )rR   r`   r<   rc   z#fprime must be specified for halley)rR   ra   r<   rc   )rÂ   ÚraisesÚ
ValueErrorr   r#   r'   r+   )rP   Úmessages     r"   Útest_root_scalar_failz TestNewton.test_root_scalar_fail  sF  € Ø8ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	Kð 	KÝ� 8µD¸QÀTÐJÑJÔJÐJð	Kð 	Kð 	Kñ 	Kô 	Kð 	Kð 	Kð 	Kð 	Kð 	Kð 	Køøøð 	Kð 	Kð 	Kð 	Kà7ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	Lð 	LÝ� 8µT¸aÀdÐKÑKÔKÐKð	Lð 	Lð 	Lñ 	Lô 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Løøøð 	Lð 	Lð 	Lð 	Lð 	Lð 	Ls#   žA	Á	AÁAÁ1BÂB!Â$B!c                 ó   — d„ }d„ }d„ }t          j        g d¢¦  «        }t          j        t          d¦  «        ¦  «        dz   dz  }||dd	dd
f}dgdz  }t	          j        ||||¦  «        }d}	t          ||	¦  «         t	          j        |||||¬¦  «        }t          ||	¦  «         t	          j        |||¬¦  «        }t          ||	¦  «         dS )ztest newton with arrayc                 ó¬   — |d         | |d         z  z   }|d         |d         t          j        ||d         z  ¦  «        dz
  z  z
  ||d         z  z
  | z
  S )Nr   r­   r   r   rÙ   r¯   r   ©r¤   r   ©r!   r?   r@   s      r"   r#   z(TestNewton.test_array_newton.<locals>.f1'  sX   € Ø�!”�q˜1˜Qœ4‘x‘ˆAØ�Q”4˜!˜Aœ$¥"¤&¨¨Q¨q¬T©Ñ"2Ô"2°SÑ"8Ñ9Ñ9¸AÀÀ!Ä¹HÑDÀqÑHÐHr$   c                 óº   — |d         |d         z  }|d          t          j        |d         |d         z  | |z  z   ¦  «        z  |z  |d         |d         z  z
  dz
  S )Nr­   rÙ   r   r   r   r   rð   rñ   s      r"   r'   z*TestNewton.test_array_newton.<locals>.f1_1+  s^   € Ø�!”�q˜”t‘ˆAØ�a”D�5�2œ6 ! A¤$¨¨1¬¡+°°A±Ñ"5Ñ6Ô6Ñ6¸Ñ:¸Q¸q¼TÀAÀaÄD¹[ÑHÈ1ÑLÐLr$   c                 ó–   — |d         |d         z  }|d          t          j        |d         |d         z  | |z  z   ¦  «        z  |dz  z  S )Nr­   rÙ   r   r   rð   rñ   s      r"   r+   z*TestNewton.test_array_newton.<locals>.f1_2/  sL   € Ø�!”�q˜”t‘ˆAØ�a”D�5�2œ6 ! A¤$¨¨1¬¡+°°A±Ñ"5Ñ6Ô6Ñ6¸¸A¹Ñ=Ð=r$   )
g“ù4O@g�­Nkò@g]0Jû@g]QçÝšt@g~�EO¡5@g$ÇJŠ— ÷?g~5È,ì@gXCÚ­Ø@gÍ®9@@g¬¹’Ó�®@é
   r¯   g      @g•Ö&è.>gü©ñÒMbp?gn‹2d’Ñ?)
gÔ©áË°@g9~¨4bŠ'@g’¹�a©q(@géŽ0Òp@gk"zçò?g€4s³eÂ?gU+ïñF@gw´»Qu%@gd¬6ÿ¯‚)@g)êiÓ!@)ra   ©rF   N)r¤   r¶   r   ÚrangerM   r   r   )
rP   r#   r'   r+   Úa0Úa1rF   r<   r!   Ú
x_expecteds
             r"   Útest_array_newtonzTestNewton.test_array_newton$  s  € ð	Ið 	Ið 	Ið	Mð 	Mð 	Mð	>ð 	>ð 	>õ ŒXð 
ð 
ð 
ñ ô ˆõ Œf•U˜2‘Y”YÑÔ #Ñ%¨Ñ,ˆØ�B˜˜u b¨'Ð2ˆØˆU�R‰ZˆÝŒL˜˜R  tÑ,Ô,ˆð
ˆ
õ 	˜˜:Ñ&Ô&Ð&åŒL˜˜R  t°TÐ:Ñ:Ô:ˆÝ˜˜:Ñ&Ô&Ð&åŒL˜˜R dÐ+Ñ+Ô+ˆÝ˜˜:Ñ&Ô&Ð&Ð&Ð&r$   c                 ó€  — d„ }d„ }t          j        dd¦  «        }t          j        |||¬¦  «        }t	           ||¦  «        d¦  «         t          j        d¦  «        }t          j        |||¬¦  «        }t	           ||¦  «        d¦  «         t          j        ||¦  «        }t	           ||¦  «        d¦  «         d S )Nc                 ó   — | dz   dz   S )Nr   ù              ð?r   r    s    r"   r>   z/TestNewton.test_array_newton_complex.<locals>.fL  s   € Ø�q‘5˜‘8ˆOr$   c                 ó   — dS ©Nr¯   r   r    s    r"   r`   z4TestNewton.test_array_newton_complex.<locals>.fprimeO  s   € Ø�3r$   r   rý   )r`   ç        )r¤   ÚfullrM   r   r   Úones)rP   r>   r`   Útr!   s        r"   Útest_array_newton_complexz$TestNewton.test_array_newton_complexK  sË   € ð	ð 	ð 	ð	ð 	ð 	õ ŒG�A�r‰NŒNˆÝŒL˜˜A fÐ-Ñ-Ô-ˆÝ˜˜˜!™œ˜bÑ!Ô!Ð!õ ŒG�A‰JŒJˆÝŒL˜˜A fÐ-Ñ-Ô-ˆÝ˜˜˜!™œ˜bÑ!Ô!Ð!åŒL˜˜AÑÔˆÝ˜˜˜!™œ˜bÑ!Ô!Ð!Ð!Ð!r$   c                 ó„   — t          j        d„ ddgt          j        ddg¦  «        g¬¦  «        }t	          |d¦  «         dS )	z8test secant doesn't continue to iterate zero derivativesc                 ó   — | | z  |d         z
  S )Nr   r   ©r!   r?   s     r"   ú<lambda>z>TestNewton.test_array_secant_active_zero_der.<locals>.<lambda>`  s   €  q¨¡s¨Q¨q¬T¡z€ r$   gË¡E¶ó}@rÙ   é   é   ©r<   rF   )çí¯f~@g      @N)rM   r   r¤   r¶   r   ©rP   r!   s     r"   Ú!test_array_secant_active_zero_derz,TestNewton.test_array_secant_active_zero_der^  sO   € åŒLÐ1Ð1°u¸a°jÝ!œx¨¨R¨Ñ1Ô1Ð2ð4ñ 4ô 4ˆå˜Ð3Ñ4Ô4Ð4Ð4Ð4r$   c                 óÂ   — t          j        d„ dgdz  ddgf¬¦  «        }t          |d¦  «         t          j        d„ d	gdz  d
dgf¬¦  «        }t          |d¦  «         d S )Nc                 ó   — || dz  z
  S r&   r   ©ÚyÚzs     r"   r  z7TestNewton.test_array_newton_integers.<locals>.<lambda>f  ó   €  a¨!¨q©&¡j€ r$   ç      @r   g      .@g      1@rõ   )gÚNO±Þû@r  c                 ó   — || dz  z
  S r&   r   r  s     r"   r  z7TestNewton.test_array_newton_integers.<locals>.<lambda>j  r  r$   r   é   r	  )rM   r   r   r  s     r"   Útest_array_newton_integersz%TestNewton.test_array_newton_integersd  s}   € åŒLÐ0Ð0°3°%¸!±)Ø $ d˜|˜oð/ñ /ô /ˆå˜ÐAÑBÔBÐBåŒLÐ0Ð0°1°#¸±'À"ÀbÀÀÐLÑLÔLˆÝ˜ÐAÑBÔBÐBÐBÐBr$   c                 ó†  — t          t          t          j        d„ ddgd„ ¦  «         t	          j        t          ¦  «        5  t          j        d„ ddgd„ d¬¦  «        }t          |j        d¦  «         |j         	                    ¦   «         sJ ‚|j
                             ¦   «         rJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )	Nc                 ó   — | dz  dz
  S r&   r   ©r  s    r"   r  z@TestNewton.test_array_newton_zero_der_failures.<locals>.<lambda>q  s   € ˜q !™t a™x€ r$   r   c                 ó   — d| z  S r&   r   r  s    r"   r  z@TestNewton.test_array_newton_zero_der_failures.<locals>.<lambda>q  s
   € ¸QÀ¹U€ r$   c                 ó   — | dz  dz
  S r&   r   r  s    r"   r  z@TestNewton.test_array_newton_zero_der_failures.<locals>.<lambda>t  s   € ¨Q°©T°A©X€ r$   c                 ó   — d| z  S r&   r   r  s    r"   r  z@TestNewton.test_array_newton_zero_der_failures.<locals>.<lambda>u  s
   € ¨Q¨q©S€ r$   TrÀ   r   )r   ÚRuntimeWarningrM   r   rÂ   Úwarnsr   rE   Úzero_derÚallrl   Úany)rP   r�   s     r"   Ú#test_array_newton_zero_der_failuresz.TestNewton.test_array_newton_zero_der_failuresm  s  € õ 	•^¥U¤\Ø'Ð'¨"¨b¨°?°?ñ	Dô 	Dð 	Dõ Œ\�.Ñ)Ô)ð 	/ð 	/Ý”lÐ#5Ð#5¸¸B°xØ#0 =¸dðDñ Dô DˆGå˜GœL¨!Ñ,Ô,Ð,ØÔ#×'Ò'Ñ)Ô)Ð)Ð)Ð)ØÔ(×,Ò,Ñ.Ô.Ð.Ð.Ð.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   Á A(B6Â6B:Â=B:c                 óœ  — d„ }d„ }d„ }d„ }t          |dd|¬¦  «        }t          |ddd¬¦  «        }t          |j        |j        d	¬
¦  «         t          d|j        z  |j        ¦  «         t          |dd||¬¦  «        }t          |ddd¬¦  «        }t          |j        |j        d	¬
¦  «         t          d|j        z  |j        ¦  «         d S )Nc                 ó   — | dz  d| z  z
  dz
  S r   r   r    s    r"   r#   z+TestNewton.test_newton_combined.<locals>.f1{  s   € Ø˜‘6˜A ™E‘> AÑ%Ð%r$   c                 ó   — d| z  dz
  S r&   r   r    s    r"   r'   z-TestNewton.test_newton_combined.<locals>.f1_1}  s   € Ø�q‘5˜1‘9Ðr$   c                 ó   — dd| z  z   S r)   r   r    s    r"   r+   z-TestNewton.test_newton_combined.<locals>.f1_2  s   € Ø˜˜Q™‘;Ðr$   c                 ó0   — | dz  d| z  z
  dz
  d| z  dz
  dfS )Nr   r   r*   r   r    s    r"   r.   z8TestNewton.test_newton_combined.<locals>.f1_and_p_and_pp‚  s'   € Ø�a‘4˜!˜A™#‘:˜a‘<  1¡ Q¡¨Ð+Ð+r$   r   r­   )rR   r<   r`   Tç:Œ0âŽyE>rØ   r   r_   )rR   r<   r`   ra   )rR   r<   ra   )r   r   rE   r   Úfunction_calls)rP   r#   r'   r+   r.   Úsol0Úsols          r"   Útest_newton_combinedzTestNewton.test_newton_combinedz  s  € ð	&ð 	&ð 	&ð	ð 	ð 	ð	ð 	ð 	ð	,ð 	,ð 	,õ ˜2 h°1¸TÐBÑBÔBˆÝ˜/°(¸qÈÐNÑNÔNˆÝ˜œ	 3¤8°$Ð7Ñ7Ô7Ð7Ý�Q�sÔ)Ñ)¨4Ô+>Ñ?Ô?Ð?å˜2 h°1¸TÈ4ÐPÑPÔPˆÝ˜/°(¸qÈ$ÐOÑOÔOˆÝ˜œ	 3¤8°$Ð7Ñ7Ô7Ð7Ý�Q�sÔ)Ñ)¨4Ô+>Ñ?Ô?Ð?Ð?Ð?r$   c                 ó\  — d}g d¢}t          d¦  «        D �]”}dddœ}dt          gdt          ggd |…         D ]
\  }}|||<   Œt          j        t
          |fdd	i|¤Ž\  }}	t          |	j        ¦  «         t          ||	j	        ¦  «         t          |	j
        |	j        f||         ¦  «         |d
k    r|	j        |	j
        dz   k    sJ ‚n t          |	j        |dz   |	j
        z  ¦  «         |	j
        dz
  }
t          j        t
          |f|
d	dœ|¤Ž\  }}	t          |	j         ¦  «         t          ||	j	        ¦  «         t          |	j
        |
¦  «         |dk    rVd|
z  }t          j        t          |¬¦  «        5  t          j        t
          |f|
ddœ|¤Ž\  }}	d d d ¦  «         n# 1 swxY w Y   �Œ–d S )Nr­   ))é   é   )rÙ   rô   )r­   é	   r×   T)rb   rC   r`   ra   rD   Fr   r   )ÚmaxiterrD   z3Failed to converge after %d iterations, value is .*rè   )rö   r'   r+   rM   r   r#   r   rl   r   rE   Ú
iterationsr+  rÂ   rê   ÚRuntimeError)rP   Úcapsysr<   Úexpected_countsÚderivsrU   rW   Úvr!   rZ   ÚitersÚmsgs               r"   Útest_newton_full_outputz"TestNewton.test_newton_full_output�  s@  € ð
 ˆØ3Ð3Ð3ˆå˜A‘h”hð 	Tñ 	TˆFØ!°$Ð9Ð9ˆFØ"¥DÐ)¨IµtÐ+<Ð=¸g¸v¸gÔFð ð ‘��1Ø��q‘	�	å”<¥ BÐ=Ð=¨UÐ=°fÐ=Ð=‰DˆAˆqÝ�A”KÑ Ô Ð Ý˜˜AœFÑ#Ô#Ð#Ý˜!œ,¨Ô(8Ð9¸?È6Ô;RÑSÔSÐSØ˜Š{ˆ{ØÔ'¨1¬<¸!Ñ+;Ò;Ð;Ð;Ð;Ð;å˜QÔ-°¸±
¸a¼lÑ/JÑKÔKÐKð ”L 1Ñ$ˆEÝ”<¥ BÐL°¸EÐLÐLÀVÐLÐL‰DˆAˆqÝ˜œ�OÑ$Ô$Ð$Ý˜˜AœFÑ#Ô#Ð#Ý˜œ uÑ-Ô-Ð-à˜Š{ˆ{ð LÈuÑU�Ý”]¥<°sÐ;Ñ;Ô;ð Tð TÝ œ<­¨BÐS¸ÀDÐSÐSÈFÐSÐS‘D�A�qðTð Tð Tñ Tô Tð Tð Tð Tð Tð Tð Tøøøð Tð Tð Tð Tùð3	Tð 	Ts   Å4FÆF#	Æ&F#	c                 óî   — d„ }d„ }t          t          t          j        |d|d¬¦  «         t	          j        t          d¬¦  «        5  t          j        |d|¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó   — | dz  dz
  S )Nr   r*   r   r    s    r"   rA   z0TestNewton.test_deriv_zero_warning.<locals>.funcµ  s   € Ø˜‘6˜C‘<Ðr$   c                 ó   — d| z  S r&   r   r    s    r"   Údfuncz1TestNewton.test_deriv_zero_warning.<locals>.dfunc·  s   € Ø�q‘5ˆLr$   r   F©rD   zDerivative was zerorè   )r   r  rM   r   rÂ   rê   r5  )rP   rA   r@  s      r"   Útest_deriv_zero_warningz"TestNewton.test_deriv_zero_warning³  sË   € ð	 ð 	 ð 	 ð	ð 	ð 	å•^¥U¤\°4¸¸eÈ%ÐPÑPÔPÐPÝŒ]�<Ð/DÐEÑEÔEð 	+ð 	+ÝŒL˜˜s EÑ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   ÁA*Á*A.Á1A.c                 óÄ   — t          j        ddg¦  «        }|                     ¦   «         }t          t           j        |t           j        ¦  «         t          ||¦  «         d S )Nçš™™™™™¹?r­   )r¤   r¶   Úcopyr   r   r   r   )rP   r<   Úx0_copys      r"   Útest_newton_does_not_modify_x0z)TestNewton.test_newton_does_not_modify_x0½  sN   € åŒX�s˜A�hÑÔˆØ—'’'‘)”)ˆÝ�rŒv�r�2œ6Ñ"Ô"Ð"Ý˜2˜wÑ'Ô'Ð'Ð'Ð'r$   c                 ó¾  — d„ }t          |ddd¬¦  «        }t          |dddd¬¦  «        }t          |dddd	¬
¦  «        d         }t           ||j        ¦  «        dd¬¦  «         |j        j        t          ¦   «         k    sJ ‚t           ||j        ¦  «        dd¬¦  «         |j        j        t          ¦   «         k    sJ ‚t           ||j        ¦  «        dd¬¦  «         |j        j        t          ¦   «         k    sJ ‚|j        |j        cxk    r|j        k    sn J ‚|j        |j        dz
  cxk    r&|j        cxk    r|j        cxk    r|j        dz  k    sn J ‚d S )Nc                 óL   — t          j        | ¦  «        sJ ‚t          | ¦  «        S r-   )r¤   Úisscalarr#   r    s    r"   r>   z+TestNewton.test_gh17570_defaults.<locals>.fÊ  s!   € Ý”;˜q‘>”>Ð!Ð!Ð!Ý�a‘5”5ˆLr$   r   r­   r×   rÞ   r^   r   rã   T)r<   r=   rb   rC   r   r   rØ   )r   r   r   rE   Úshaper}   r4  r+  )rP   r>   Úres_newton_defaultÚres_secant_defaultÚ
res_secants        r"   Útest_gh17570_defaultsz TestNewton.test_gh17570_defaultsÄ  sù  € ð	ð 	ð 	õ )¨°8ÀÈÐMÑMÔMÐÝ(¨°8ÀÀaØ.2ð4ñ 4ô 4Ðõ ˜A !¨¨tÀÐFÑFÔFÀqÔIˆ
õ 	˜˜Ð,Ô1Ñ2Ô2°A¸DÐAÑAÔAÐAØ!Ô&Ô,µ±´Ò7Ð7Ð7Ð7Ý˜˜Ð,Ô1Ñ2Ô2°A¸DÐAÑAÔAÐAØ!Ô&Ô,µ±´Ò7Ð7Ð7Ð7Ý˜˜˜*œ/Ñ*Ô*¨A°DÐ9Ñ9Ô9Ð9ØŒÔ$­©¬Ò/Ð/Ð/Ð/ð #Ô'Ø”?ð1ð 1ò 1ð 1à%Ô0ò1ð 1ð 1ð 1ð 1ð 1ð #Ô-Ø%Ô4°qÑ8ð7ð 7ò 7ð 7àÔ(ð7ð 7ò 7ð 7ð &Ô0ð7ð 7ò 7ð 7ð &Ô4°QÑ6ò	7ð 7ð 7ð 7ð 7ð 7ð 7ð 7r$   rU   rR   r   c                 ór   — d„ }t          j        |fdddœ|¤Ž}|j        sJ ‚t          |j        d¦  «         d S )Nc                 ó2   — |dk    sJ ‚|dk    sJ ‚| |z  |z
  S )Nr­   r   r   rñ   s      r"   r>   z'TestNewton.test_args_gh19090.<locals>.fè  s*   € Ø˜’6�6�6�6Ø˜’6�6�6�6Ø˜‘F˜Q‘JÐr$   r­   )r­   r   r  r   )r   r   rl   r   rE   )rP   rU   r>   Úress       r"   Útest_args_gh19090zTestNewton.test_args_gh19090æ  sX   € ð	 ð 	 ð 	 õ
 Ô" 1ÐB¨°ÐBÐB¸6ÐBÐBˆØŒ}ÐÐÐÝ˜œ !Ñ$Ô$Ð$Ð$Ð$r$   r^   c                 óì   — d„ }t          j        |d|¬¦  «        }|j        sJ ‚t          t	          |j        ¦  «        d¦  «         |j        j        t          j        t          j        ¦  «        k    sJ ‚d S )Nc                 ó   — | dz  dz
  S )Néþÿÿÿr   r   r    s    r"   r>   z)TestNewton.test_int_x0_gh19280.<locals>.fö  s   € à�b‘5˜1‘9Ðr$   r   )r<   rR   gÍ;fž æ?)	r   r   rl   r   ÚabsrE   Údtyper¤   Úfloat64)rP   rR   r>   rR  s       r"   Útest_int_x0_gh19280zTestNewton.test_int_x0_gh19280ñ  sw   € ð
	ð 	ð 	õ Ô" 1¨°6Ð:Ñ:Ô:ˆØŒ}ÐÐÐÝ�˜CœH™œ wÑ/Ô/Ð/ØŒxŒ~¥¤­"¬*Ñ!5Ô!5Ò5Ð5Ð5Ð5Ð5Ð5r$   N)r¡   r¢   r£   rÓ   rÕ   rÜ   rá   rä   ræ   rí   rú   r  r  r  rÂ   rÃ   Úthread_unsafer$  r.  r<  rB  rG  rO  rÄ   rJ   rS  rZ  r   r$   r"   rÊ   rÊ   å   s¾  € € € € € ðEð Eð EðEð Eð Eð	0ð 	0ð 	0ð5ð 5ð 5ð	5ð 	5ð 	5ð5ð 5ð 5ðLð Lð Lð%'ð %'ð %'ðN"ð "ð "ð&5ð 5ð 5ðCð Cð Cð „[Ôð
/ð 
/ñ Ôð
/ð@ð @ð @ð*"Tð "Tð "TðH „[Ôð+ð +ñ Ôð+ð(ð (ð (ð 8ð  8ð  8ðD „[×Ò˜X¨¨©¬°¸8Ð0DÐ'EÑFÔFð%ð %ñ GÔFð%ð „[×Ò˜X¨°(Ð';Ñ<Ô<ð6ð 6ñ =Ô<ð6ð 6ð 6r$   rÊ   c            	      óº   ‡— dŠˆfd„} t           j        t           j        g}t          x}}|D ].} || dd||¬¦  «        }t	          ‰|||d|j        › �¬¦  «         Œ/d S )NrD  c                 ó   •— | ‰z
  S r-   r   )r!   rE   s    €r"   r>   ztest_gh_5555.<locals>.f  s   ø€ Ø�4‰xˆr$   g    „×—Ág    ÐcArt   zmethod )rz   rd   Úerr_msg)rM   rÇ   r½   ÚTOLr   r¡   )r>   Úmethodsrc   rd   rR   rR  rE   s         @r"   Útest_gh_5555ra     sŸ   ø€ Ø€Dðð ð ð ð õ Œ|�Uœ\Ð*€GÝÐ€Dˆ4Øð =ð =ˆØˆf�Q˜˜c¨°4Ð8Ñ8Ô8ˆÝ˜˜c¨°4Ø ;¨&¬/Ð ;Ð ;ð	=ñ 	=ô 	=ð 	=ð 	=ð=ð =r$   c                  ó¤   — d„ } d}dt           z  }t          j        t          j        g}|D ]%} || dd||¬¦  «        }t	          d|||¬¦  «         Œ&d S )	Nc                 ó   — | dk     rdS | dz
  S )Nr¬   gš™™™™™¹¿ç333333ã?r   r    s    r"   r>   ztest_gh_5557.<locals>.f  s   € ØˆsŠ7ˆ7Ø�4à�s‘7ˆNr$   gR¸…ëQà?r   r   r   rt   rd  r°   )Ú
_FLOAT_EPSrM   ÚbrentqÚbrenthr   )r>   rz   rd   r`  rR   rR  s         r"   Útest_gh_5557rh    s|   € ðð ð ð €DØ�z‰>€DÝŒ|�Uœ\Ð*€GØð 8ð 8ˆØˆf�Q˜˜1 4¨dÐ3Ñ3Ô3ˆÝ˜˜S t°$Ð7Ñ7Ô7Ð7Ð7ð8ð 8r$   c                  óÄ   ‡— d} d}| |fD ]U\  }}}t          j        |¦  «        Št          j        t          j        fD ]"} |ˆfd„||¦  «        }t          ||¦  «         Œ#ŒVd S )N)g      |Àg     àuÀg      yÀ)g     àu@g      |@g      y@c                 ó2   •— t          j        | ¦  «        ‰z
  S r-   rð   )r!   r{   s    €r"   r  z9test_brent_underflow_in_root_bracketing.<locals>.<lambda>1  s   ø€ ¥2¤6¨!¡9¤9¨Q¡;€ r$   )r¤   r   rM   rg  rf  r   )Úunderflow_scenarioÚoverflow_scenarior?   r@   rE   rR   rR  r{   s          @r"   Ú'test_brent_underflow_in_root_bracketingrm  &  s�   ø€ ð
 2ÐØ-Ðà)Ð+<Ð=ð 'ð '‰
ˆˆ1ˆdÝŒF�4‰LŒLˆÝ”|¥U¤\Ð2ð 	'ð 	'ˆFØ�&Ð.Ð.Ð.Ð.°°1Ñ5Ô5ˆCÝ˜D #Ñ&Ô&Ð&Ð&ð	'ð'ð 'r$   c                   óD   — e Zd Z ej        ddddd¬¦  «        Zd„ Zd„ Zd	S )
ÚTestRootResultsr¯   é,   é.   r   r   )rE   r4  r+  ÚflagrR   c                 óN   — d}t          t          | j        ¦  «        |¦  «         d S )Nz…      converged: True
           flag: converged
 function_calls: 46
     iterations: 44
           root: 1.0
         method: newton)r   ÚreprrZ   )rP   Úexpected_reprs     r"   Ú	test_reprzTestRootResults.test_repr9  s*   € ðIˆõ 	•T˜$œ&‘\”\ =Ñ1Ô1Ð1Ð1Ð1r$   c                 ó>   — t          | j        t          ¦  «        sJ ‚d S r-   )Ú
isinstancerZ   r   )rP   s    r"   Ú	test_typezTestRootResults.test_type?  s    € Ý˜$œ&¥.Ñ1Ô1Ð1Ð1Ð1Ð1Ð1r$   N)r¡   r¢   r£   rM   rN   rZ   rv  ry  r   r$   r"   ro  ro  5  sV   € € € € € ØˆÔ˜s¨rÀ"È1Ø!)ð	+ñ 	+ô 	+€Að2ð 2ð 2ð2ð 2ð 2ð 2ð 2r$   ro  c                  ó  — d„ } d„ }d„ }t          dd¦  «        }d}t          j        | ||||d¬¦  «        }t           | |g|¢R Ž d	d¬
¦  «         |gdz  }d}t          j        | ||||d¬¦  «        }t           | |g|¢R Ž d	d¬
¦  «         dS )z&Test Halley's works with complex rootsc                 óH   — |d         | dz  z  |d         | z  z   |d         z   S )Nr   r   r   r   r  s     r"   r>   ztest_complex_halley.<locals>.fE  s*   € Ø�Œt�a˜‘d‰{˜Q˜qœT A™XÑ%¨¨!¬Ñ,Ð,r$   c                 ó0   — d|d         z  | z  |d         z   S )Nr   r   r   r   r  s     r"   rÚ   z test_complex_halley.<locals>.f_1H  s   € Ø�1�Q”4‰x˜!‰|˜a œdÑ"Ð"r$   c                 óh   — d|d         z  }	 t          | ¦  «        }|g|z  S # t          $ r |cY S w xY w)Nr   r   )r‰   Ú	TypeError)r!   r?   ÚretvalÚsizes       r"   rÛ   z test_complex_halley.<locals>.f_2K  sS   € Ø�Q�q”T‘ˆð	#Ý�q‘6”6ˆDð �8˜d‘?Ð"øõ ð 	ð 	ð 	ØˆMˆMˆMð	øøøs   �" ¢1°1r¯   r*   )r*   g      @r  r×   )rF   r`   ra   rb   r   rØ   rô   N)rÏ   rM   r   r   )r>   rÚ   rÛ   r  Úcoeffsr  s         r"   Útest_complex_halleyr‚  C  sÙ   € ð-ð -ð -ð#ð #ð #ð#ð #ð #õ 	��SÑÔ€AØ€FÝŒ�Q˜ ¨s¸CÀTÐJÑJÔJ€Aå�A�A�a�M˜&�M�M�M 1¨4Ð0Ñ0Ô0Ð0Ø	
ˆˆb‰€AØ€FÝŒ�Q˜ ¨s¸CÀTÐJÑJÔJ€AÝ�A�A�a�M˜&�M�M�M 1¨4Ð0Ñ0Ô0Ð0Ð0Ð0r$   c                 ó  — t          j        t          ¦  «        j        dz  }d|z
  d|z   z  }t	          ¦   «         5 }|                     t          d¦  «         t          j        d„ |gdz  ¬¦  «        }ddd¦  «         n# 1 swxY w Y   t          |d	gdz  ¦  «         d
}t	          ¦   «         5 }|                     t          d¦  «         t          j        d„ |d¬¦  «        }ddd¦  «         n# 1 swxY w Y   t          |d¦  «         t          j        t          d¬¦  «        5  t          j        d„ |d¬¦  «        }ddd¦  «         n# 1 swxY w Y   d}t	          ¦   «         5 }|                     t          d¦  «         t          j        d„ |d¬¦  «        }ddd¦  «         n# 1 swxY w Y   t          |d¦  «         t          j        t          d¬¦  «        5  t          j        d„ |d¬¦  «        }ddd¦  «         dS # 1 swxY w Y   dS )zBTest secant method with a non-zero dp, but an infinite newton stepg…ëQ¸Õ?g      i@r*   zRMS ofc                 ó   — | dz
  dz  S )Ng      Y@r   r   r  s    r"   r  z%test_zero_der_nz_dp.<locals>.<lambda>m  s   €  A¨¡I°¡>€ r$   rô   ©r<   Néd   g.Ð—K.ÿï?úTolerance ofc                 ó   — | dz
  dz  S ©Nr¯   r   r   r  s    r"   r  z%test_zero_der_nz_dp.<locals>.<lambda>s  ó   €  A¨¡G°¡>€ r$   F)r<   rD   r   rè   c                 ó   — | dz
  dz  S r‰  r   r  s    r"   r  z%test_zero_der_nz_dp.<locals>.<lambda>v  rŠ  r$   Tg.Ð—K.ÿï¿c                 ó   — | dz   dz  S r‰  r   r  s    r"   r  z%test_zero_der_nz_dp.<locals>.<lambda>z  rŠ  r$   rG   c                 ó   — | dz   dz  S r‰  r   r  s    r"   r  z%test_zero_der_nz_dp.<locals>.<lambda>}  rŠ  r$   )r¤   r
   r¥   r¦   r	   Úfilterr  rM   r   r   rÂ   rê   r5  )r6  ÚdxÚp0Úsupr!   s        r"   Útest_zero_der_nz_dpr’  _  s‡  € õ 
Œ•%‰ŒÔ	 Ñ	$€Bð �"‰*˜˜r™Ñ	"€BÝ	Ñ	Ô	ð A Ø�
Š
•> 8Ñ,Ô,Ð,ÝŒLÐ1Ð1°r°d¸R±iÐ@Ñ@Ô@ˆðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aõ �A˜�u˜r‘zÑ"Ô"Ð"à	$€BÝ	Ñ	Ô	ð F Ø�
Š
•> >Ñ2Ô2Ð2ÝŒLÐ1Ð1°b¸uÐEÑEÔEˆðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fõ �A�qÑÔÐÝ	Œ•|¨>Ð	:Ñ	:Ô	:ð Eð EÝŒLÐ1Ð1°b¸tÐDÑDÔDˆðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eà	%€BÝ	Ñ	Ô	ð F Ø�
Š
•> >Ñ2Ô2Ð2ÝŒLÐ1Ð1°b¸uÐEÑEÔEˆðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fõ �A�rÑÔÐÝ	Œ•|¨>Ð	:Ñ	:Ô	:ð Eð EÝŒLÐ1Ð1°b¸tÐDÑDÔDˆðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eð Eð EsY   »7A>Á>BÂBÂ-4C-Ã-C1Ã4C1Ä#EÅEÅEÅ#4F#Æ#F'Æ*F'ÇG?Ç?HÈHc                  ó²  ‡— d} dŠd}d}d}||z  | z  |z  }ˆfd„}t          j        t          ¦  «        5  t          j        |g d¢d|| gd	¬
¦  «        }|j                             ¦   «         rJ ‚	 ddd¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          j        |dgdz  d|| gd	¬
¦  «        }ddd¦  «         dS # 1 swxY w Y   dS )z(Test that array newton fails as expectedrD  ga2U0*©#?gÍÌÌÌÌàŽ@g\âmJôA?g�•C‹lç@c           	      ó¤   •— dt          j        | ¦  «        z  dt          j        ‰dz  |z  d|z  t          j        | ¦  «        z  z   ¦  «        z  z   S )Nr   r   gš™™™™™@g®Gáz@)r¤   r   Úlog10)Údarcy_frictionÚreÚdiaÚ	roughnesss      €r"   Úcolebrook_eqnz1test_array_newton_failures.<locals>.colebrook_eqnŽ  sa   ø€ Ø•B”G˜NÑ+Ô+Ñ+Ø•B”H˜Y¨™_¨sÑ2Ø! B™Y­¬°Ñ)@Ô)@Ñ@ñAñ Bô Bñ BñBð 	Cr$   )ç{®Gáz„?gš™™™™™É?gˆ×õvÃ–?g333333Ó?r   T)r<   r3  rF   rC   Nr›  )	rÂ   r   r  rM   r   rl   r"  rê   r5  )ÚdiameterÚrhoÚmuÚuÚreynolds_numberrš  rƒ   r™  s          @r"   Útest_array_newton_failuresr¡  €  s§  ø€ ð €Hà€IØ
€CØ	€BØ€AØ˜A‘g Ñ(¨2Ñ-€OðCð Cð Cð Cð Cõ 
Œ•nÑ	%Ô	%ð *ð *Ý”ØÐ7Ð7Ð7ÀØ! 8Ð,¸$ð
ñ 
ô 
ˆð Ô#×'Ò'Ñ)Ô)Ð)Ð)Ð)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *õ 
Œ•|Ñ	$Ô	$ð 
ð 
Ý”Ø˜t˜f q™j°!Ø! 8Ð,¸$ð
ñ 
ô 
ˆð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s#   µ9A;Á;A?ÂA?Â CÃCÃCc                  ó  — d„ } t          j        | d¬¦  «        }t          |dt           j        t           j        ¬¦  «         t          j        | dgdz  ¬¦  «        }t          |dt           j        t           j        ¬¦  «         d„ }d„ }t          j        | d|¬¦  «        }t          |dt           j        t           j        ¬¦  «         t          j        | d||¬	¦  «        }t          |dt           j        t           j        ¬¦  «         t          j        | dgdz  |¬¦  «        }t          |dt           j        t           j        ¬¦  «         t          j        | dgdz  ||¬	¦  «        }t          |dt           j        t           j        ¬¦  «         t          j        | d
|¬¦  «        }t          |dt           j        t           j        ¬¦  «         t          j        | d
gdz  |¬¦  «        }t          |dt           j        t           j        ¬¦  «         dS )z@Test that Newton or Halley don't warn if zero derivative at rootc                 ó   — | dz  | dz  z
  S ©Nr­   r   r   r    s    r"   Úf_zeroder_rootz9test_gh8904_zeroder_at_root_fails.<locals>.f_zeroder_root§  s   € Ø�!‰t�a˜‘d‰{Ðr$   r   r…  r°   rô   c                 ó   — d| dz  z  d| z  z
  S r¤  r   r    s    r"   Úfderz/test_gh8904_zeroder_at_root_fails.<locals>.fder²  s   € Ø�1�a‘4‰x˜!˜a™%ÑÐr$   c                 ó   — d| z  dz
  S )Nr0  r   r   r    s    r"   Úfder2z0test_gh8904_zeroder_at_root_fails.<locals>.fder2¶  ó   € Ø�‰s�Q‰wˆr$   )r<   r`   )r<   r`   ra   r¬   N)rM   r   r   Ú_xtolÚ_rtol)r¥  rZ   r§  r©  s       r"   Ú!test_gh8904_zeroder_at_root_failsr­  £  sé  € ðð ð õ 	Œ�^¨Ð*Ñ*Ô*€AÝ�A�q�uœ{µ´Ð=Ñ=Ô=Ð=åŒ�^¨¨¨B©Ð/Ñ/Ô/€AÝ�A�q�uœ{µ´Ð=Ñ=Ô=Ð=ð ð  ð  ðð ð õ 	Œ�^¨°$Ð7Ñ7Ô7€AÝ�A�q�uœ{µ´Ð=Ñ=Ô=Ð=ÝŒ�^¨°$Ø"ð	$ñ 	$ô 	$€Aå�A�q�uœ{µ´Ð=Ñ=Ô=Ð=åŒ�^¨¨¨B©°tÐ<Ñ<Ô<€AÝ�A�q�uœ{µ´Ð=Ñ=Ô=Ð=ÝŒ�^¨¨¨B©°tØ"ð	$ñ 	$ô 	$€Aå�A�q�uœ{µ´Ð=Ñ=Ô=Ð=õ 	Œ�^¨°DÐ9Ñ9Ô9€AÝ�A�q�uœ{µ´Ð=Ñ=Ô=Ð=åŒ�^¨¨¨b©¸Ð>Ñ>Ô>€AÝ�A�q�uœ{µ´Ð=Ñ=Ô=Ð=Ð=Ð=r$   c                  ó¬   ‡— dŠˆfd„} ˆfd„}ˆfd„}d}t          | ||d¬¦  «        \  }}|j        sJ ‚t          | |||d¬¦  «        \  }}|j        sJ ‚d	S )
zzTest that Halley's method realizes that the 2nd order adjustment
    is too big and drops off to the 1st order adjustment.r2  c                 óR   •— t          | d‰z  ¦  «        t          ‰d‰z  ¦  «        z
  S rÿ   ©r   ©r!   Úns    €r"   r>   ztest_gh_8881.<locals>.fØ  s&   ø€ Ý�Q˜˜A™‰Œ¥ q¨#¨a©%¡¤Ñ0Ð0r$   c                 ó6   •— t          | d‰z
  ‰z  ¦  «        ‰z  S rÿ   r°  r±  s    €r"   Úfpztest_gh_8881.<locals>.fpÛ  s    ø€ Ý�Q˜˜Q™ ™	Ñ"Ô" 1Ñ$Ð$r$   c                 óT   •— t          | dd‰z  z
  ‰z  ¦  «        d‰z  z  d‰z
  z  ‰z  S r‰  r°  r±  s    €r"   Úfppztest_gh_8881.<locals>.fppÞ  s6   ø€ Ý�Q˜˜Q˜q™S™ !™Ñ$Ô$¨¨A©Ñ.°#°a±%Ñ8¸Ñ:Ð:r$   rD  T)r`   rC   ©r`   ra   rC   N)r   rl   )r>   r´  r¶  r<   ÚrtrZ   r²  s         @r"   Útest_gh_8881r¹  Ó  s¸   ø€ ð 	
€Að1ð 1ð 1ð 1ð 1ð%ð %ð %ð %ð %ð;ð ;ð ;ð ;ð ;ð 
€Bõ �1�b °Ð6Ñ6Ô6�E€BˆØŒ;ÐÐÐõ �1�b ¨S¸dÐCÑCÔC�E€BˆØŒ;ÐÐÐÐÐr$   c                  óà  — d„ } d„ }d„ }t          j        dgt           j        ¬¦  «        }t          | |||d¬¦  «        \  }}|j        sJ ‚t          j        ddgt           j        ¬¦  «        }t          j        t          ¦  «        5  t          j        | |||d¬¦  «        }d	d	d	¦  «         n# 1 swxY w Y   d
„ }t          j        | |||d¬¦  «        }|j         	                    ¦   «         sJ ‚d	S )z_
    Test that shape is preserved for array inputs even if fprime or fprime2 is
    scalar
    c                 ó   — | dz  S r&   r   r    s    r"   r>   z,test_gh_9608_preserve_array_shape.<locals>.fò  s   € Ø�!‰tˆr$   c                 ó   — d| z  S r&   r   r    s    r"   r´  z-test_gh_9608_preserve_array_shape.<locals>.fpõ  ó   € Ø�1‰uˆr$   c                 ó   — dS r&   r   r    s    r"   r¶  z.test_gh_9608_preserve_array_shape.<locals>.fppø  s   € Øˆqr$   rV  ©rX  Tr·  éýÿÿÿNc                 óh   — t          j        t          j        | ¦  «        dt           j        ¬¦  «        S )Nr   r¿  )r¤   r  rK  Úfloat32r    s    r"   Ú	fpp_arrayz4test_gh_9608_preserve_array_shape.<locals>.fpp_array  s#   € ÝŒw•r”x ‘{”{ A­R¬ZÐ8Ñ8Ô8Ð8r$   )
r¤   r¶   rÂ  r   rl   rÂ   rê   Ú
IndexErrorrM   r"  )	r>   r´  r¶  r<   r¸  rZ   Úx0_arrayrƒ   rÃ  s	            r"   Ú!test_gh_9608_preserve_array_shaperÆ  í  sh  € ð
ð ð ðð ð ðð ð õ 
Œ�2�$�bœjÐ	)Ñ	)Ô	)€BÝ�1�b ¨S¸dÐCÑCÔC�E€BˆØŒ;ÐÐÐåŒx˜˜R˜­¬
Ð3Ñ3Ô3€Hå	Œ•zÑ	"Ô	"ð 
ð 
Ý”Øˆx ¨C¸Tð
ñ 
ô 
ˆð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð
9ð 9ð 9õ Œ\Ø	ˆ8˜B¨	¸tðñ ô €Fð Ô×ÒÑ!Ô!Ð!Ð!Ð!Ð!Ð!s   ÂB,Â,B0Â3B0z maximum_iterations,flag_expectedrô   r†  c                 óü   — t          j        d„ ddddd| dd¬¦	  «	        }|d	         j        |k    sJ ‚|t           j        k    r|d	         j        | k    sJ ‚d
S |t           j        k    r|d	         j        | k     sJ ‚d
S d
S )z]
    Test that if the maximum iterations is exceeded that the flag is not
    converged.
    c                 ó*   — d| z  dz
  | z  dz   | z  dz
  S )Ng333333ó?gffffff@g333333@g      @r   r    s    r"   r  z6test_gh9254_flag_if_maxiter_exceeded.<locals>.<lambda>  s!   € �C˜‘E˜C‘K ‘? SÑ(¨!Ñ+¨cÑ1€ r$   iâÿÿÿé   r   r×   TFrB   r   N)rM   rf  rr  ÚCONVERRr4  Ú	CONVERGED)Úmaximum_iterationsÚflag_expectedrƒ   s      r"   Ú$test_gh9254_flag_if_maxiter_exceededrÎ    s¬   € õ Œ\Ø1Ð1ØˆR��T˜4Ð!3Ø˜uð&ñ &ô &€Fð �!Œ9Œ>˜]Ò*Ð*Ð*Ð*Ø�œÒ%Ð%à�aŒyÔ#Ð'9Ò9Ð9Ð9Ð9Ð9Ð9Ø	�%œ/Ò	)Ð	)à�aŒyÔ#Ð&8Ò8Ð8Ð8Ð8ð 
*Ð	)à8Ð8r$   c                  óp  — d„ } d„ }t          t          t          j        | d|d¬¦  «         t	          j        t          d¬¦  «        5  t          j        | d|¦  «         ddd¦  «         n# 1 swxY w Y   t          j        | t          d	d	¦  «        |¦  «        }t          |t          d
d¦  «        ¦  «         dS )zBTest that if disp is true then zero derivative raises RuntimeErrorc                 ó   — | | z  dz   S ©Nr   r   r    s    r"   r>   z/test_gh9551_raise_error_if_disp_true.<locals>.f(  rª  r$   c                 ó   — d| z  S r&   r   r    s    r"   Úf_pz1test_gh9551_raise_error_if_disp_true.<locals>.f_p+  s   € Ø�‰sˆ
r$   r¯   FrA  zY^Derivative was zero\. Failed to converge after \d+ iterations, value is [+-]?\d*\.\d+\.$rè   Ng      $@r   )	r   r  rM   r   rÂ   rê   r5  rÏ   r   )r>   rÓ  rE   s      r"   Ú$test_gh9551_raise_error_if_disp_truerÔ  $  s  € ðð ð ðð ð õ •¥¤¨q°#°sÀÐGÑGÔGÐGÝ	ŒÝð/ð
0ñ 
0ô 
0ð "ð "õ 	Œ�Q˜˜SÑ!Ô!Ð!ð	"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "õ
 Œ<˜�7 4¨Ñ.Ô.°Ñ4Ô4€DÝ�D�' # sÑ+Ô+Ñ,Ô,Ð,Ð,Ð,s   ÁA)Á)A-Á0A-Úsolver_name)rf  rg  rÇ   r½   rÈ   c                 ó¸   — d„ }t          t          | ¦  «        }t          j        t          d¬¦  «        5   ||dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó   — t           j        S r-   )r¤   r   r    s    r"   r>   ztest_gh3089_8394.<locals>.f=  s	   € ÝŒvˆr$   zThe function value at x...rè   r   r   )ÚgetattrrM   rÂ   rê   rë   )rÕ  r>   Úsolvers      r"   Útest_gh3089_8394rÚ  8  s­   € ð
ð ð õ •U˜KÑ(Ô(€FÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Øˆˆq�!�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ´AÁAÁArR   c                 óð   ‡— ˆfd„Šd‰_         t          ‰d| ¬¦  «        }|j        du sJ ‚|j                             d¦  «        sJ ‚|j        ‰j         k    sJ ‚t          |j        ¦  «        |j        v sJ ‚d S )Nc                 ó<   •— ‰xj         dz  c_         t          j        S rÑ  )Ú_countr¤   r   ©r!   r>   s    €r"   r>   ztest_gh18171.<locals>.fK  s   ø€ Ø	ˆŒ�A‰ˆŒÝŒvˆr$   r   )r   r   )r®   rR   FzThe function value at x)rÝ  r   rl   rr  Ú
startswithr+  ÚstrrE   )rR   rR  r>   s     @r"   Útest_gh18171rá  E  s    ø€ ðð ð ð ð ð €A„Hå
�a °Ð
7Ñ
7Ô
7€CØŒ=˜EÐ!Ð!Ð!Ð!ØŒ8×ÒÐ8Ñ9Ô9Ð9Ð9Ð9ØÔ ¤Ò)Ð)Ð)Ð)ÝˆsŒx‰=Œ=˜CœHÐ$Ð$Ð$Ð$Ð$Ð$r$   Úrs_interfaceTFc                 óÎ   ‡— |rd„ nt          t          | ¦  «        }ˆfd„Šd‰_         |‰ddd¬¦  «        }|r|j        ‰j        k    sJ ‚d S |d         j        ‰j        k    sJ ‚d S )Nc                 ó(   — t          | ||f¬¦  «        S ©N)r®   ©r   ©r>   r?   r@   rU   s       r"   r  z%test_function_calls.<locals>.<lambda>]  ó   € ­°QÀÀAÀÐ)GÑ)GÔ)G€ r$   c                 ó4   •— ‰xj         dz  c_         | dz  dz
  S )Nr   r   )ÚcallsrÞ  s    €r"   r>   ztest_function_calls.<locals>.f`  s   ø€ Ø	ˆŒ�1‰ˆŒØ�!‰t�a‰xˆr$   r   rô   TrÀ   r   )rØ  rM   rê  r+  )rÕ  râ  rÙ  rR  r>   s       @r"   Útest_function_callsrë  W  s¦   ø€ ð ð?ÐGÐGÐGÝ#*­5°+Ñ#>Ô#>ð ðð ð ð ð ð €A„Gà
ˆ&��A�r tÐ
,Ñ
,Ô
,€Càð 0ØÔ! Q¤WÒ,Ð,Ð,Ð,Ð,Ð,à�1ŒvÔ$¨¬Ò/Ð/Ð/Ð/Ð/Ð/r$   c                  óŠ  — d„ } t          j        t          d¬¦  «        5  t          | ddd¬¦  «        }ddd¦  «         n# 1 swxY w Y   |j        rJ ‚|j        d	k    sJ ‚t          j        t          d¬¦  «        5  t          | ddd
d¬¦  «        d         }ddd¦  «         n# 1 swxY w Y   |j        rJ ‚|j        d	k    sJ ‚dS )zDTest that zero slope with secant method results in a converged=Falsec                 ó>   — | t          j        |  | z  ¦  «        z  dz
  S )NgìQ¸…ë±?rð   r    s    r"   Úlhsz*test_gh_14486_converged_false.<locals>.lhsp  s    € Ø•2”6˜1˜"˜Q™$‘<”<Ñ $Ñ&Ð&r$   r‡  rè   r^   g333333Ã¿r¯   )rR   r<   r=   Nzconvergence errorFT)r<   r=   rD   rC   r   )rÂ   r   r  r   rl   rr  r   )rî  rR  s     r"   Útest_gh_14486_converged_falserï  m  s†  € ð'ð 'ð 'õ 
Œ•n¨NÐ	;Ñ	;Ô	;ð Bð BÝ˜# h°5¸SÐAÑAÔAˆðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð BàŒ}ÐÐÐØŒ8Ð*Ò*Ð*Ð*Ð*å	Œ•n¨NÐ	;Ñ	;Ô	;ð Mð MÝ�S˜U s°ÀDÐIÑIÔIÈ!ÔLˆðMð Mð Mñ Mô Mð Mð Mð Mð Mð Mð Møøøð Mð Mð Mð MàŒ}ÐÐÐØŒ8Ð*Ò*Ð*Ð*Ð*Ð*Ð*s!   Ÿ?¿AÁAÁ;B"Â"B&Â)B&c                 óÊ  — |rd„ nt          t          | ¦  «        }d„ }t          j        t          d¬¦  «        5   ||ddd¬¦  «         d d d ¦  «         n# 1 swxY w Y    ||dd	d¬¦  «        }|r|n|d
         }|j        sJ ‚t          |j        dd¬¦  «          ||dt          d¦  «        d¬¦  «        }|r|n|d
         }|j        sJ ‚t          |j        dd¬¦  «         d S )Nc                 ó(   — t          | ||f¬¦  «        S rå  ræ  rç  s       r"   r  ztest_gh5584.<locals>.<lambda>„  rè  r$   c                 ó   — d| z  S )Ng¬÷N’~hr   r    s    r"   r>   ztest_gh5584.<locals>.f‡  s   € Ø�a‰xˆr$   z...must have different signsrè   g      à¿gš™™™™™Ù¿TrÀ   gš™™™™™Ù?r   r   r*  rØ   z-0.0)	rØ  rM   rÂ   rê   rë   rl   r   rE   r¥   )rÕ  râ  rÙ  r>   rR  s        r"   Útest_gh5584ró  ~  sj  € ð ð?ÐGÐGÐGÝ#*­5°+Ñ#>Ô#>ð ðð ð õ 
Œ•zÐ)GÐ	HÑ	HÔ	Hð 0ð 0Øˆˆq�$˜¨$Ð/Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð ˆ&��D˜#¨4Ð
0Ñ
0Ô
0€CØÐ
)ˆ#ˆ# 3 q¤6€CØŒ=ÐÐÐÝ�C”H˜a dÐ+Ñ+Ô+Ð+ð ˆ&��D�% ™-œ-°TÐ
:Ñ
:Ô
:€CØÐ
)ˆ#ˆ# 3 q¤6€CØŒ=ÐÐÐÝ�C”H˜a dÐ+Ñ+Ô+Ð+Ð+Ð+s   ¹AÁAÁAc            	      ó´  — d„ } d}t          j        t          ¦  «        j        }t	          j        | dd|d|z  ¬¦  «        } | |¦  «        }t	          j        | dd|d|z  ¬¦  «        } | |¦  «        }||k     sJ ‚d|d	z  d
›d|d
›d�}t          j        t          |¬¦  «        5  t	          j        | dd||d	z  ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó   — | dz  d| z  z
  dz
  S )Nr­   r   rÙ   r   r    s    r"   r>   ztest_gh13407.<locals>.f¡  s   € Ø�!‰t�a˜‘c‰z˜A‰~Ðr$   gYóøÂn¥g»½×Ùß|Û=g    _ Br   rt   r   zrtol too small \(r   Úgz < z\)rè   )	r¤   r
   r¥   r¦   rM   rÈ   rÂ   rê   rë   )r>   rc   r¦   r=   r#   Úx4Úf4rì   s           r"   Útest_gh13407rù  ›  sG  € ðð ð ð €DÝ
Œ(•5‰/Œ/Ô
€CÝ	Œ�q˜% ¨D°q¸±uÐ	=Ñ	=Ô	=€BØ	
ˆˆ2‰Œ€BÝ	Œ�q˜% ¨D°q¸±uÐ	=Ñ	=Ô	=€BØ	
ˆˆ2‰Œ€BØ�Š7ˆ7ˆ7ˆ7ð 9 3 q¡5Ð8Ð8Ð8¨sÐ8Ð8Ð8Ð8€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð =ð =ÝŒ�a˜ ¨4°c¸!±eÐ<Ñ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =s   Â#CÃCÃCc                  ó¤   — d„ } t          | d¦  «        }t          |dd¬¦  «         t          | ddd¬¦  «        }t          |j        dd¬¦  «         d S )	Nc                 ó   — | dz
  S rÑ  r   )r  s    r"   r>   z&test_newton_complex_gh10103.<locals>.f¶  r½  r$   y      ð?      ð?r   gê-�™—q=rØ   y       @      ø?r^   )r<   r=   rR   )r   r   r   rE   )r>   rR  s     r"   Útest_newton_complex_gh10103rü  ²  sf   € ðð ð å
��D‰/Œ/€CÝ�C˜ Ð'Ñ'Ô'Ð'å
�a˜D V°HÐ
=Ñ
=Ô
=€CÝ�C”H˜a eÐ,Ñ,Ô,Ð,Ð,Ð,r$   c                 óš   — d}t          j        t          |¬¦  «        5   | t          ddd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz2'float' object cannot be interpreted as an integerrè   r   r¯   gÍÌÌÌÌR@)r3  )rÂ   rê   r~  r#   )rR   rì   s     r"   Útest_maxiter_int_check_gh10236rþ  ¿  sœ   € ð C€GÝ	Œ•y¨Ð	0Ñ	0Ô	0ð ,ð ,Øˆ�r�3˜ UÐ+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s   žA Á AÁA)SrÂ   Ú	functoolsr   Únumpy.testingr   r   r   r   r   r	   Únumpyr¤   r
   r   r   r   r   r   r   r   Úscipyr   Úscipy.optimizer   rM   r   r   r   Úscipy._lib._utilr   r‡   Úscipy.optimize._tstutilsr   r   rÆ   r¥   r¦   r_  re  rÇ   r½   rf  rg  rÈ   rÅ   Úgradient_methodsÚall_methodsr#   r'   r+   r.   r1   r4   r6   r8   r:   r¨   rÊ   ra  rh  rm  ro  r‚  rÃ   r[  r’  r¡  r­  r¹  rÆ  rÄ   rÊ  rË  rÎ  rÔ  rÚ  rá  rë  rï  ró  rù  rü  rþ  r   r$   r"   ú<module>r     s§  ðØ €€€à Ð Ð Ð Ð Ð ð.ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð
 Ð Ð Ð Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aà Ð Ð Ð Ð Ð ð,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð GÐ FÐ FÐ FÐ FÐ Fð PÐ OÐ OÐ OÐ OÐ OÐ OÐ OàˆˆŒ�‰ŒÔÑ€àˆU�5‰\Œ\Ô€
à”< ¤¨u¬|¸U¼\Ø”=ð"€à”L�>Ð ØÐ 0Ñ0€ðð ð ðð ð ðð ð ð#ð #ð #ð
ð ð ðð ð ðð ð ð
 ðð ñ „ðð^Mð ^Mð ^Mð ^Mð ^Mñ ^Mô ^Mð ^MðB=!ð =!ð =!ð =!ð =!Ð.ñ =!ô =!ð =!ð@X6ð X6ð X6ð X6ð X6Ð&ñ X6ô X6ð X6ðv=ð =ð =ð8ð 8ð 8ð0'ð 'ð 'ð2ð 2ð 2ð 2ð 2ñ 2ô 2ð 2ð1ð 1ð 1ð8 „ÔðEð Eñ ÔðEð@ „Ôð
ð 
ñ Ôð
ðD,>ð ,>ð ,>ð`ð ð ð4"ð "ð "ðD „×ÒØ&Øˆ%Œ-Ð˜3 ¤Ð0Ð1ñ3ô 3ð9ð 9ñ3ô 3ð9ð$ „Ôð-ð -ñ Ôð-ð& „×Ò˜ØLÐLÐLñNô Nðð ñNô Nðð „×Ò˜ØLÐLÐLñNô Nð%ð %ñNô Nð%ð  „×Ò˜ØLÐLÐLñNô Nà„×Ò˜¨$°¨Ñ7Ô7ð0ð 0ñ 8Ô7ñNô Nð0ð& „Ôð+ð +ñ Ôð+ð  „×Ò˜ØLÐLÐLñNô Nà„×Ò˜¨$°¨Ñ7Ô7ð,ð ,ñ 8Ô7ñNô Nð,ð4=ð =ð =ð.
-ð 
-ð 
-ð „×Ò˜ ;Ñ/Ô/ð,ð ,ñ 0Ô/ð,ð ,ð ,r$   