§
    fŠtjC”  ã                   ó2  — d dl Z d dlmZ d dlZd dl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„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d„ Z4ed„ ¦   «         Z5 G d„ d¦  «        Z6 G d„ de6¦  «        Z7 G d„ de6¦  «        Z8d„ Z9d„ Z:d„ Z; G d„ d¦  «        Z<d„ Z=d„ Z>d„ Z?d „ Z@d!„ ZAd"„ ZBejC         D                    d#d$ejE        fd%ejF        fg¦  «        d&„ ¦   «         ZGd'„ ZHejC         D                    d(g d)¢¦  «        d*„ ¦   «         ZIejC         D                    d+g d)¢¦  «        d,„ ¦   «         ZJejC         D                    d(g d)¢¦  «        ejC         D                    d-d.d/g¦  «        d0„ ¦   «         ¦   «         ZKd1„ ZLejC         D                    d(g d)¢¦  «        ejC         D                    d-d.d/g¦  «        d2„ ¦   «         ¦   «         ZMd3„ ZNd4„ ZOejC         D                    d+e-¦  «        d5„ ¦   «         ZPejC         D                    d+ej&        ej'        ej(        ej)        g¦  «        d6„ ¦   «         ZQdS )7é    N)Ú	lru_cache)Úassert_Úassert_allcloseÚassert_equalÚassert_array_equal)Ú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    ú]/var/www/html/CA-Chatbot/venv/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    Úf2r/   3   ó   € Ýˆq‰6Œ6•C˜‘F”F‰?Ðr"   c                 ó@   — t          | ¦  «        t          | ¦  «        z   S r+   )r   r   r   s    r    Úf2_1r2   7   r0   r"   c                 ó@   — t          | ¦  «        t          | ¦  «        z   S r+   r.   r   s    r    Úf2_2r4   ;   r0   r"   c                 ó   — | S r+   r   r   s    r    Úf_lrucachedr6   @   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_kwargsrC   Ú	func_argsÚrÚrrs                r    Ú_run_one_testz#TestScalarRootFinders._run_one_testK   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 ))rQ   rR   )ÚlistrZ   )Ú.0rO   rS   rP   rN   rQ   rR   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©re   Úelts     r    rf   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>‚   s$   € ÐBÐBÐB˜3°°Q´Ô1AÐB�3ÐBÐBÐBr"   c                 ó4   •— g | ]}|d          d         ‰v¯|‘ŒS ©rE   ÚIDr   )re   rl   Ú
known_fails     €r    rf   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>ƒ   s+   ø€ ÐMÐMÐM˜3¨S°¬W°T¬]À*Ð-LÐ-L�3Ð-LÐ-LÐ-Lr"   c                 ó*   — g | ]}|d          d         ‘ŒS rn   r   rk   s     r    rf   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>„   s    € Ð9Ð9Ð9¨#˜˜Bœ œÐ9Ð9Ð9r"   r   ©ra   rb   c                 ó,   — g | ]}|d          j         ¯|‘ŒS rh   ri   rk   s     r    rf   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>�   s$   € Ð;Ð;Ð;˜¨#¨a¬&Ô*:Ð;�Ð;Ð;Ð;r"   c                 ó(   — g | ]}|d          j         ‘ŒS rh   )rC   rk   s     r    rf   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>Ž   s   € Ð.Ð.Ð. #�#�a”&”+Ð.Ð.Ð.r"   c                 ó   — g | ]
}|d          ‘ŒS ©r   r   rk   s     r    rf   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>�   s   € Ð*Ð*Ð*˜c�3�q”6Ð*Ð*Ð*r"   c                 ój   •— g | ]/\  }}}t          ||‰‰¬ ¦  «        s|d         d         ‰v¯)|g|z   ‘Œ0S ))rb   ÚatolrE   ro   )r   )re   r=   Úcrl   rx   rp   rb   s       €€€r    rf   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<   rD   )rF   Útuple)re   Úarootry   ÚfulloutrO   s        r    rf   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 rv   r   )re   Úfvrl   s      r    rf   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 rh   )rP   )re   Úresults     r    rf   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>™   s   € ÐEÐEÐE°6˜f QœiÔ.ÐEÐEÐEr"   c                 ó   •— g | ]}‰‘ŒS r   r   )re   Ú_Únames     €r    rf   z3TestScalarRootFinders.run_tests.<locals>.<listcomp>š   s   ø€ Ð1Ð1Ð1 A˜4Ð1Ð1Ð1r"   r   )Ú_getfullargspecr   Ú
kwonlyargsÚlenÚdefaultsrD   rG   ra   rb   r   rI   rF   Úzip)rN   ÚtestsrP   r„   rp   rS   ÚsigÚ	nDefaultsÚ	nRequiredÚresultsÚnotcvgdÚnotcvged_IDSÚtolsÚcvgdÚapproxÚcorrectÚnotcloseÚfvsÚmethod_from_resultÚexpected_methodrx   rb   rQ   rR   s   ` ````              @@@@r    Ú	run_testszTestScalarRootFinders.run_testsb   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.©Ú
smoothnessrp   N)r   r™   )rN   Ú
collectionrP   r„   rœ   rp   rS   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Úepsra   rb   rZ   r™   rž   r   r"   r    r8   r8   E   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"   r8   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	„ Zd
S )ÚTestBracketMethodsrP   Ú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ç      à?é   )rP   Úbracketr:   ra   rb   ç      ð?©rx   rb   )	r   r   rŸ   ra   rb   rj   r   rC   rP   ©rN   rP   r§   r=   r>   rX   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)ra   rb   rA   r­   r®   )r   ra   rb   rj   r   )rN   rP   r§   r=   r>   rC   rX   s          r    Útest_basic_individualz(TestBracketMethods.test_basic_individualµ   sn   € ð •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¢   Úarrayra   rb   rj   r   rC   rP   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Ÿ   )rN   rP   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)rp   )rK   Úridderrž   rŸ   )rN   rP   rp   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)rE   r   T©rA   r   )r6   rj   r   )rN   rP   r=   r>   rC   rX   s         r    Útest_lru_cached_individualz-TestBracketMethods.test_lru_cached_individualÜ   sL   € ð ‰ˆˆ1Ø�&� a¨¸Ð=Ñ=Ô=‰ˆˆaØŒ{ÐÐˆ{Ý˜˜aÑ Ô Ð Ð Ð r"   c                 ó    — t          j        t          d¬¦  «        5  t          j        d„ ddd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzmaxiter must be >= 0©Úmatchc                 ó   — | dz  dz
  S r   r   r   s    r    ú<lambda>z2TestBracketMethods.test_gh_22934.<locals>.<lambda>ç   ó   €  1 a¡4¨!¡8€ r"   éþÿÿÿr   rE   ©Úmaxiter)ÚpytestÚraisesÚ
ValueErrorrK   Úbrentq©rN   s    r    Útest_gh_22934z TestBracketMethods.test_gh_22934å   s­   € ÝŒ]�:Ð-CÐDÑDÔDð 	@ð 	@ÝŒLÐ+Ð+¨R°¸BÐ?Ñ?Ô?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð 	@ð 	@s   œAÁAÁ
AN)rŸ   r    r¡   rÉ   ÚmarkÚparametrizeÚbracket_methodsÚtstutils_functionsr°   r²   rµ   r¸   rK   Úbisectr»   Útoms748r¼   r¿   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                   ó&  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                             d e¦   «         ddig¦  «        d„ ¦   «         Zej                             dddg¦  «        d„ ¦   «         Z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œ   rp   ©rž   rK   r   ©rN   rp   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«   ç�íµ ÷Æ°>©r`   r   ©rx   é   )r;   r`   )r^   r`   )r^   r_   r`   )	r!   r%   r)   r/   r2   r4   rK   r   r   )rN   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ã   )rP   r:   r^   ra   r   rå   ©rP   r:   ra   N©	r!   r%   r)   r/   r2   r4   r   r   rC   ©rN   r<   rç   rè   rX   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ã   ©rP   r:   r;   ra   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ã   )rP   r:   r^   r_   ra   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 halleyrÁ   r]   r«   rã   )rP   r^   r:   ra   z#fprime must be specified for halley)rP   r_   r:   ra   )rÉ   rÊ   rË   r   r!   r%   r)   )rN   Ú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_10  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_24  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      @ç•Ö&è.>çü©ñÒMbp?çn‹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Ó!@)r_   ©rD   N)r¢   r´   r   ÚrangerK   r   r   )
rN   r!   r%   r)   Úa0Úa1rD   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>.fQ  s   € Ø�q‘5˜‘8ˆOr"   c                 ó   — dS ©Nr­   r   r   s    r    r^   z4TestNewton.test_array_newton_complex.<locals>.fprimeT  s   € Ø�3r"   r   r	  )r^   ç        )r¢   ÚfullrK   r   r   Úones)rN   r<   r^   Útr   s        r    Útest_array_newton_complexz$TestNewton.test_array_newton_complexP  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    rÄ   z>TestNewton.test_array_secant_active_zero_der.<locals>.<lambda>e  s   €  q¨¡s¨Q¨q¬T¡z€ r"   gË¡E¶ó}@ræ   é   é   ©r:   rD   )çí¯f~@g      @N)rK   r   r¢   r´   r   ©rN   r   s     r    Ú!test_array_secant_active_zero_derz,TestNewton.test_array_secant_active_zero_derc  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>k  ó   €  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>o  r  r"   r   é   r  )rK   r   r   r  s     r    Útest_array_newton_integersz%TestNewton.test_array_newton_integersi  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          j        t          ¦  «        5  t          j        d„ ddgd„ ¦  «         d d d ¦  «         n# 1 swxY w Y   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>u  rÅ   r"   r  c                 ó   — d| z  S r$   r   r&  s    r    rÄ   z@TestNewton.test_array_newton_zero_der_failures.<locals>.<lambda>u  s
   € ÀÀQÁ€ r"   c                 ó   — | dz  dz
  S r$   r   r&  s    r    rÄ   z@TestNewton.test_array_newton_zero_der_failures.<locals>.<lambda>x  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>y  s
   € ¨Q¨q©S€ r"   Tr¾   r   )rÉ   ÚwarnsÚRuntimeWarningrK   r   r   rC   Úzero_derÚallrj   Úany)rN   rŽ   s     r    Ú#test_array_newton_zero_der_failuresz.TestNewton.test_array_newton_zero_der_failuresr  sƒ  € åŒ\�.Ñ)Ô)ð 	Hð 	HÝŒLÐ+Ð+¨b°"¨X°°ÑGÔGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hõ Œ\�.Ñ)Ô)ð 	/ð 	/Ý”lÐ#5Ð#5¸¸B°xØ#0 =¸dðDñ Dô DˆGå˜GœL¨!Ñ,Ô,Ð,ØÔ#×'Ò'Ñ)Ô)Ð)Ð)Ð)ØÔ(×,Ò,Ñ.Ô.Ð.Ð.Ð.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s$   šAÁAÁAÁ%A(CÃCÃ"C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«   )rP   r:   r^   Tç:Œ0âŽyE>rå   r   r]   )rP   r:   r^   r_   )rP   r:   r_   )r   r   rC   r   Úfunction_calls)rN   r!   r%   r)   r,   Úsol0Úsols          r    Útest_newton_combinedzTestNewton.test_newton_combined~  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    rWd|
› d�}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)r`   rA   r^   r_   rB   Fr   r   )rÈ   rB   zFailed to converge after z iterations, value is .*rÁ   )r  r%   r)   rK   r   r!   r   rj   r   rC   Ú
iterationsr6  rÉ   rÊ   ÚRuntimeError)rN   Úcapsysr:   Úexpected_countsÚderivsrS   rU   Úvr   rX   ÚitersÚmsgs               r    Útest_newton_full_outputz"TestNewton.test_newton_full_output“  sF  € ð
 ˆØ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Ñ-Ô-Ð-à˜Š{ˆ{ð R°%ÐQÐQÐQ�Ý”]¥<°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   Å5F Æ F$	Æ'F$	c                 ó8  — d„ }d„ }t          j        t          ¦  «        5  t          j        |d|d¬¦  «         d d d ¦  «         n# 1 swxY w Y   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    r?   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©rB   zDerivative was zerorÁ   )rÉ   r*  r+  rK   r   rÊ   r?  )rN   r?   rJ  s      r    Útest_deriv_zero_warningz"TestNewton.test_deriv_zero_warning·  s,  € ð	 ð 	 ð 	 ð	ð 	ð 	åŒ\�.Ñ)Ô)ð 	7ð 	7ÝŒL˜˜s E°Ð6Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7åŒ]�<Ð/DÐEÑEÔEð 	+ð 	+ÝŒL˜˜s EÑ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s#    AÁA	ÁA	Á+BÂBÂBc                 óÄ   — t          j        ddg¦  «        }|                     ¦   «         }t          t           j        |t           j        ¦  «         t          ||¦  «         d S )Nçš™™™™™¹?r«   )r¢   r´   Úcopyr   r   r   r   )rN   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;   r`   rA   r   r   rå   )r   r   r   rC   Úshaper{   r>  r6  )rN   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"   rS   rP   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   rj   r   rC   )rN   rS   r<   Úress       r    Útest_args_gh19090zTestNewton.test_args_gh19090ê  sW   € ð	 ð 	 ð 	 õ
 Ô" 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 )NrÆ   r   r   r   s    r    r<   z)TestNewton.test_int_x0_gh19280.<locals>.fú  s   € à�b‘5˜1‘9Ðr"   r   )r:   rP   gÍ;fž æ?)	r   r   rj   r   ÚabsrC   Údtyper¢   Úfloat64)rN   rP   r<   r\  s       r    Útest_int_x0_gh19280zTestNewton.test_int_x0_gh19280õ  sv   € ð
	ð 	ð 	õ Ô" 1¨°6Ð:Ñ:Ô:ˆØŒ}ÐÐˆ}Ý�˜CœH™œ wÑ/Ô/Ð/ØŒxŒ~¥¤­"¬*Ñ!5Ô!5Ò5Ð5Ð5Ð5Ð5Ð5r"   c                 óä  — t          j        t          d¬¦  «        5  t          j        t
          dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        t
          ddd¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d
¬¦  «        5  t          j        t
          dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nztol too smallrÁ   r«   ç�íµ ÷Æ°¾rä   zmaxiter must be greater than 0rã   iÎÿÿÿ)r`   rÈ   zx1 and x0 must be different)r;   )rÉ   rÊ   rË   rK   r   r!   rÍ   s    r    Útest_newton_special_parametersz)TestNewton.test_newton_special_parameters  sž  € õ Œ]�:¨_Ð=Ñ=Ô=ð 	+ð 	+ÝŒL�˜Q EÐ*Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+õ Œ]�:Ð-MÐNÑNÔNð 	7ð 	7ÝŒL�˜Q D°#Ð6Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7õ Œ]�:Ð-JÐLÑLÔLð 	&ð 	&ÝŒL�˜Q 1Ð%Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s5   œAÁA	ÁA	Á+BÂBÂBÂ;C%Ã%C)Ã,C)N)rŸ   r    r¡   rß   rá   ré   rî   rñ   ró   rö   r  r  r  r#  r/  r9  rF  rL  rQ  rY  rÉ   rÏ   rÐ   rH   r]  rc  rf  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ð
&ð 
&ð 
&ð 
&ð 
&r"   rÖ   c            	      óº   ‡— dŠˆfd„} t           j        t           j        g}t          x}}|D ].} || dd||¬¦  «        }t	          ‰|||d|j        › �¬¦  «         Œ/d S )NrN  c                 ó   •— | ‰z
  S r+   r   ©r   rC   s    €r    r<   ztest_gh_5555.<locals>.f  ó   ø€ Ø�4‰xˆr"   ç    „×—Áç    ÐcArr   zmethod )rx   rb   Úerr_msg)rK   rÓ   r»   ÚTOLr   rŸ   )r<   Úmethodsra   rb   rP   r\  rC   s         @r    Útest_gh_5555rp    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   rr   rs  r®   )Ú
_FLOAT_EPSrK   rÌ   Úbrenthr   )r<   rx   rb   ro  rP   r\  s         r    Útest_gh_5557rv    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   ry   s    €r    rÄ   z9test_brent_underflow_in_root_bracketing.<locals>.<lambda>A  s   ø€ ¥2¤6¨!¡9¤9¨Q¡;€ r"   )r¢   r   rK   ru  rÌ   r   )Úunderflow_scenarioÚoverflow_scenarior=   r>   rC   rP   r\  ry   s          @r    Ú'test_brent_underflow_in_root_bracketingr{  6  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   )rC   r>  r6  ÚflagrP   c                 óN   — d}t          t          | j        ¦  «        |¦  «         d S )Nz…      converged: True
           flag: converged
 function_calls: 46
     iterations: 44
           root: 1.0
         method: newton)r   ÚreprrX   )rN   Úexpected_reprs     r    Ú	test_reprzTestRootResults.test_reprI  s*   € ðIˆõ 	•T˜$œ&‘\”\ =Ñ1Ô1Ð1Ð1Ð1r"   c                 ó>   — t          | j        t          ¦  «        sJ ‚d S r+   )Ú
isinstancerX   r   rÍ   s    r    Ú	test_typezTestRootResults.test_typeO  s    € Ý˜$œ&¥.Ñ1Ô1Ð1Ð1Ð1Ð1Ð1r"   N)rŸ   r    r¡   rK   rL   rX   r„  r‡  r   r"   r    r}  r}  E  sV   € € € € € ØˆÔ˜s¨rÀ"È1Ø!)ð	+ñ 	+ô 	+€Að2ð 2ð 2ð2ð 2ð 2ð 2ð 2r"   r}  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>.fU  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_1X  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_2[  sS   € Ø�Q�q”T‘ˆð	#Ý�q‘6”6ˆDð �8˜d‘?Ð"øõ ð 	ð 	ð 	ØˆMˆMˆMð	øøøs   �" ¢1°1r­   r(   )r(   g      @r   rã   )rD   r^   r_   r`   r   rå   rý   N)rÛ   rK   r   r   )r<   rç   rè   r  Úcoeffsr  s         r    Útest_complex_halleyr�  S  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                 ó6  — t          j        t          ¦  «        j        dz  }d|z
  d|z   z  }t	          j        ¦   «         5  t	          j        ddt          ¦  «         t          j	        d„ |gdz  ¬¦  «        }d	d	d	¦  «         n# 1 swxY w Y   t          |d
gdz  ¦  «         d}t	          j        ¦   «         5  t	          j        ddt          ¦  «         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	          j        ¦   «         5  t	          j        ddt          ¦  «         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(   ÚignorezRMS ofc                 ó   — | dz
  dz  S )Ng      Y@r   r   r&  s    r    rÄ   z%test_zero_der_nz_dp.<locals>.<lambda>|  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>‚  ó   €  A¨¡G°¡>€ r"   F)r:   rB   r   rÁ   c                 ó   — | dz
  dz  S r˜  r   r&  s    r    rÄ   z%test_zero_der_nz_dp.<locals>.<lambda>…  r™  r"   Tg.Ð—K.ÿï¿c                 ó   — | dz   dz  S r˜  r   r&  s    r    rÄ   z%test_zero_der_nz_dp.<locals>.<lambda>‰  r™  r"   rE   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¤   ÚwarningsÚcatch_warningsÚfilterwarningsr+  rK   r   r   rÉ   rÊ   r?  )r@  ÚdxÚp0r   s       r    Útest_zero_der_nz_dpr¢  o  sŸ  € õ 
Œ•%‰ŒÔ	 Ñ	$€Bð �"‰*˜˜r™Ñ	"€BÝ	Ô	 Ñ	"Ô	"ð Að AÝÔ ¨(µNÑCÔCÐCÝŒ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ð FÝÔ ¨.½.ÑIÔIÐIÝŒ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ð FÝÔ ¨.½.ÑIÔIÐIÝŒ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sZ   Á 7BÂBÂ
BÂ74C7Ã7C;Ã>C;Ä-EÅEÅEÅ24F2Æ2F6Æ9F6Ç(HÈ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 expectedrN  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:   rÈ   rD   rA   Nr«  )	rÉ   r*  r+  rK   r   rj   r-  rÊ   r?  )Ú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 )Nr;  r   r   r   s    r    Úfder2z0test_gh8904_zeroder_at_root_fails.<locals>.fder2Ä  ó   € Ø�‰s�Q‰wˆr"   )r:   r^   )r:   r^   r_   rª   N)rK   r   r   Ú_xtolÚ_rtol)rµ  rX   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.r=  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"   rN  T)r^   rA   ©r^   r_   rA   N)r   rj   )r<   rÄ  rÆ  r:   ÚrtrX   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"   rÆ   ©ra  TrÇ  éýÿÿÿNc                 óh   — t          j        t          j        | ¦  «        dt           j        ¬¦  «        S )Nr   rÏ  )r¢   r  rU  Ú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   rj   rÉ   rÊ   Ú
IndexErrorrK   r-  )	r<   rÄ  rÆ  r:   rÈ  rX   Úx0_arrayr�   rÓ  s	            r    Ú!test_gh_9608_preserve_array_shaperÖ  û  sg  € ð
ð ð ðð ð ðð ð õ 
Œ�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ã   TFr@   r   N)rK   rÌ   r€  ÚCONVERRr>  Ú	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                  óº  — d„ } d„ }t          j        t          ¦  «        5  t          j        | d|d¬¦  «         ddd¦  «         n# 1 swxY w Y   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>.f5  rº  r"   c                 ó   — d| z  S r$   r   r   s    r    Úf_pz1test_gh9551_raise_error_if_disp_true.<locals>.f_p8  s   € Ø�‰sˆ
r"   r­   FrK  NzY^Derivative was zero\. Failed to converge after \d+ iterations, value is [+-]?\d*\.\d+\.$rÁ   g      $@r  )	rÉ   r*  r+  rK   r   rÊ   r?  rÛ   r   )r<   rã  rC   s      r    Ú$test_gh9551_raise_error_if_disp_truerä  2  si  € ðð ð ðð ð õ 
Œ•nÑ	%Ô	%ð .ð .ÝŒ�Q˜˜S uÐ-Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .å	ŒÝð/ð
0ñ 
0ô 
0ð "ð "õ 	Œ�Q˜˜SÑ!Ô!Ð!ð	"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "õ
 Œ<˜�7 4¨Ñ.Ô.°Ñ4Ô4€DÝ�D�' # sÑ+Ô+Ñ,Ô,Ð,Ð,Ð,s#    AÁA	ÁA	Á+BÂBÂBÚsolver_name)rÌ   ru  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>.fK  s	   € ÝŒvˆr"   zThe function value at x...rÁ   r   r   )ÚgetattrrK   rÉ   rÊ   rË   )rå  r<   Úsolvers      r    Útest_gh3089_8394rê  F  s­   € ð
ð ð õ •U˜KÑ(Ô(€FÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Øˆˆq�!�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ´AÁAÁArP   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>.fY  s   ø€ Ø	ˆŒ�A‰ˆŒÝŒvˆr"   r   )r   r   )r¬   rP   FzThe function value at x)rí  r   rj   r€  Ú
startswithr6  ÚstrrC   )rP   r\  r<   s     @r    Útest_gh18171rñ  S  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>   rS   s       r    rÄ   z%test_function_calls.<locals>.<lambda>k  ó   € ­°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>.fn  s   ø€ Ø	ˆŒ�1‰ˆŒØ�!‰t�a‰xˆr"   r   rý   Tr¾   r   )rè  rK   rú  r6  )rå  rò  ré  r\  r<   s       @r    Útest_function_callsrû  e  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>.lhs}  s    € Ø•2”6˜1˜"˜Q™$‘<”<Ñ $Ñ&Ð&r"   r–  rÁ   r\   g333333Ã¿r­   )rP   r:   r;   Nzconvergence errorFT)r:   r;   rB   rA   r   )rÉ   r*  r+  r   rj   r€  r   )rþ  r\  s     r    Útest_gh_14486_converged_falserÿ  {  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   r5  rå   z-0.0)	rè  rK   rÉ   rÊ   rË   rj   r   rC   r£   )rå  rò  ré  r<   r\  s        r    Útest_gh5584r  ‹  sh  € ð ð?Ð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   rr   r   zrtol too small \(r   Úgz < z\)rÁ   )	r¢   r   r£   r¤   rK   rÔ   rÉ   rÊ   rË   )r<   ra   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;   rP   )r   r   r   rC   )r<   r\  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@rÇ   )rÉ   rÊ   rŒ  r!   )rP   rõ   s     r    Útest_maxiter_int_check_gh10236r  Ì  sœ   € ð C€GÝ	Œ•y¨Ð	0Ñ	0Ô	0ð ,ð ,Øˆ�r�3˜ UÐ+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s   žA Á AÁAc           	      ó~  ‡— dŠd}dt          j        t          ¦  «        j        z  dz  }ˆfd„}t	          j        t          d¬¦  «        5   | |dd	|d
t          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          d¬¦  «        5   | |dd	|d|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrN  )rþ   rÿ   rý   r   r   r   c                 ó   •— | ‰z
  S r+   r   ri  s    €r    r<   z(test_bisect_special_parameter.<locals>.fÝ  rj  r"   zxtol too smallrÁ   rk  rl  re  )rD   ra   rb   zrtol too smallrã   )r¢   r   r£   r¤   rÉ   rÊ   rË   rn  )rP   rD   Úrtolbadr<   rC   s       @r    Útest_bisect_special_parameterr  Ô  sw  ø€ ð
 €DØ&€DØ•"”(�5‘/”/Ô%Ñ%¨Ñ)€Gðð ð ð ð õ 
Œ•zÐ)9Ð	:Ñ	:Ô	:ð =ð =Ø€vˆa��s ¨E½Ð<Ñ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =å	Œ•zÐ)9Ð	:Ñ	:Ô	:ð @ð @Ø€vˆa��s ¨D°wÐ?Ñ?Ô?Ð?ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð @ð @s$   Á
A-Á-A1Á4A1ÂB2Â2B6Â9B6)Rr�  Ú	functoolsr   rÉ   Únumpy.testingr   r   r   r   Únumpyr¢   r   r	   r
   r   r   r   r   r   Úscipyr   Úscipy.optimizer   rK   r   r   r   Úscipy._lib._utilr   r…   Úscipy.optimize._tstutilsr   r   rÒ   r£   r¤   rn  rt  rÓ   r»   rÌ   ru  rÔ   rÑ   Úgradient_methodsÚall_methodsr!   r%   r)   r,   r/   r2   r4   r6   r8   r¦   rÖ   rp  rv  r{  r}  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A@ð A@ð A@ð A@ð A@Ð.ñ A@ô A@ð A@ðHc&ð c&ð c&ð c&ð c&Ð&ñ c&ô c&ð c&ðL	=ð =ð =ð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Ô/ð,ð „×Ò˜ E¤L°%´,Ø$)¤L°%´,ð$@ñ Aô Að@ð @ñAô Að@ð @ð @r"   