Ë
    âQ(h˜�  ã                   ó¤  — 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#«      jH                  z  Z% ee#«      jH                  Z&ejN                  ejP                  ejR                  ejT                  ejV                  gZ,ej2                  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~                  j�                  d#d$ejŽ                  fd%ej�                  fg«      d&„ «       ZIe j~                  j€                  d'„ «       ZJe j~                  j�                  d(g d)¢«      d*„ «       ZKe j~                  j�                  d+g d)¢«      d,„ «       ZLe j~                  j�                  d(g d)¢«      e j~                  j�                  d-d.d/g«      d0„ «       «       ZMe j~                  j€                  d1„ «       ZNe j~                  j�                  d(g d)¢«      e j~                  j�                  d-d.d/g«      d2„ «       «       ZOd3„ ZPd4„ ZQe j~                  j�                  d+e.«      d5„ «       ZRy)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    ú]/var/www/skyplay_api_hub/venv/lib/python3.12/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                 óB   — t        | «      t        | «      t        | «      fS ©N)r#   r'   r+   r    s    r"   Úf1_and_p_and_ppr.   -   s   € Üˆa‹5”$�q“'œ4 ›7Ð"Ð"r$   c                 ó0   — t        | «      t        | «      z
  S r-   ©r   r   r    s    r"   Úf2r1   2   ó   € Üˆq‹6”C˜“F‰?Ðr$   c                 ó0   — t        | «      t        | «      z   S r-   )r   r   r    s    r"   Úf2_1r4   6   r2   r$   c                 ó0   — 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y)ÚTestScalarRootFindersr   Nc           	      óÂ  — g }|xs g D ]0  }||vrddddœj                  ||«      }|j                  ||   «       Œ2 t        d
i |¤Ž}|j                  dddœ«       |xs g D ]
  }||   ||<   Œ |j                  d«      }	|j                  d	d
«      }
	  ||d	|
i|¤Ž\  }}|	||fS # t        $ r1 |	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   s  € àˆØÒ$ "ò 	&ˆAØ˜‰{à T°3Ñ7×;Ñ;¸A¸qÓA�Ø×Ñ˜r !™uÕ%ð		&ô ™˜v™ˆØ×Ñ¨T¸5ÑAÔBØ Ò& Bò 	%ˆAØ! !™uˆM˜!Òð	%ð �v‰v�f‹~ˆØ—F‘F˜6 2Ó&ˆ	ð	VÙ˜KÐI¨iÐI¸=ÑI‰EˆAˆrØ˜˜R�<ÐøÜò 	VØœ×*Ñ*¬3°°B¼×8HÑ8HÈ&ÓQÐSUÐUÒUð	Vús   ÂB$ Â$7CÃCc                 ó<  — t        |«      }t        |j                   «       t        |j                  «      }t        |j
                  «      |z
  }|j
                  d| }	g }
|dv r:|dv r&|
j                  d«       |dv r|
j                  d«       | j                  |d<   n| j                  |d<   | j                  |d	<   |D �cg c]"  }t         | j                  ||f|	|
d
œ|¤Ž«      ‘Œ$ }}|xs g }|D �cg c]  }|d   j                  rŒ|‘Œ }}|D �cg c]  }|d   d   |vsŒ|‘Œ }}|D �cg c]
  }|d   d   ‘Œ }}t        t        |«      |gdg g«       | j                  | j                  dœ} |j                  di |¤Ž |d	   }|j                  d|d   «      }|D �cg c]  }|d   j                  sŒ|‘Œ }}|D �cg c]  }|d   j                  ‘Œ }}|D �cg c]  }|d   ‘Œ	 }}t!        |||«      D ���cg c]%  \  }}}t#        ||||¬«      s|d   d   |vr|g|z   ‘Œ' }}}}|D ����cg c]+  \  }}}} |d   |g|j                  dt%        «       «      ¢­Ž ‘Œ- }}}}}t!        ||«      D ��cg c]  \  }}|dk7  sŒ|g|z   ‘Œ }}}t        |t        |«      gg dg«       |D �cg c]  }|d   j&                  ‘Œ }}|D �cg c]  }|‘Œ } }t        || «       yc c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}}}w c c}}}}w c c}}w c c}w c c}w )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Úrtol)rS   rT   r   rG   ÚIDr   ©rc   rd   )rd   Úatolr>   rF   r   )Ú_getfullargspecr   Ú
kwonlyargsÚlenÚdefaultsrF   rI   rc   rd   Úlistr\   Ú	convergedr   rK   rH   rE   Úzipr   ÚtuplerR   )!rP   ÚtestsrR   ÚnameÚ
known_failrU   ÚsigÚ	nDefaultsÚ	nRequiredrS   rT   rQ   ÚresultsÚeltÚnotcvgdÚnotcvged_IDSÚtolsrd   rg   ÚcvgdÚapproxÚcorrectr?   ÚcÚnotcloseÚarootÚfulloutÚfvsÚfvÚresultÚmethod_from_resultÚ_Úexpected_methods!                                    r"   Ú	run_testszTestScalarRootFinders.run_testsa   s]  € ô ˜fÓ%ˆÜ�C—N‘NÐ"Ô#Ü˜Ÿ™Ó%ˆ	Ü˜Ÿ™“M IÑ-ˆ	ØŸ™  )Ð,ˆØˆØÐ1Ñ1ØÐ+Ñ+Ø×&Ñ& xÔ0Ø˜:Ñ%Ø#×*Ñ*¨9Ô5Ø ŸI™IˆF�5ŠMà!ŸY™YˆF�6‰NØ!ŸY™YˆF�6‰Nð CHöIà<>ô Ð*˜×*Ñ*Ø�ð7Ø&3Ø+ñ7à/5ñ7õ 8ð Iˆð Ið
  Ò% 2ˆ
Ø")ÖB˜3°°Q±×1AÓ1A’3ÐBˆÐBØ")ÖM˜3¨S°©W°T©]À*Ò-L’3ÐMˆÐMØ18Ö9¨#˜˜B™ ›Ð9ˆÐ9Ü”c˜,Ó'¨Ð6¸¸B¸Ô@ð Ÿ	™	¨4¯9©9Ñ5ˆØˆ�‰Ñ�fÒØ�F‰|ˆØ�x‰x˜˜t F™|Ó,ˆà&Ö;˜¨#¨a©&×*:Ó*:’Ð;ˆÐ;Ø)-Ö. #�#�a‘&—+“+Ð.ˆÐ.Ø%)Ö*˜c�3�q“6Ð*ˆÐ*ä/2°6¸7ÀDÓ/I÷ 9ð 9¡) ! Q¨Ü  1¨4°dÕ;Ø˜B™ ™¨ZÑ7ð �C˜#“Ið 9ˆò 9ð
 -5÷6ñ 6Ù(�5˜!˜W bð ˆr�#‰w�uÐ7˜rŸv™v f¬e«gÓ6Ô7ð 6ˆó 6ä.1°#°xÓ.@×L¡7 2 sÀBÈ!ÃG�R�D˜3“JÐLˆÑLÜ�h¤ H£Ð.°°Q°Ô8Ø=DÖE°6˜f Q™i×.Ó.ÐEÐÐEØ)0Ö1 Aš4Ð1ˆÐ1ÜÐ'¨Õ9ùò?Iùò CùÚMùÚ9ùò <ùÚ.ùÚ*ùô9ùõ6ùãLùâEùÚ1s`   Ã 'KÃ3K!ÄK!ÄK&Ä"K&Ä,K+ÆK0Æ4K0Æ>K5ÇK:Ç9*K?È.0L
É2LÊ LÊ(LË	Lc                 óL   — t        ||¬«      } | j                  |||fd|i|¤Ž y)zuRun a collection of tests using the specified method.

        The name is used to determine some optional arguments.©Ú
smoothnessrr   N)r   rˆ   )rP   Ú
collectionrR   rq   r‹   rr   rU   rp   s           r"   Úrun_collectionz$TestScalarRootFinders.run_collectionœ   s,   € ô
 ˜*°Ô<ˆØˆ�‰�u˜f dÑL°zÐLÀVÓLr$   )NNr-   )Ú__name__Ú
__module__Ú__qualname__Únpr
   ÚfloatÚepsrc   rd   r\   rˆ   r�   r   r$   r"   r:   r:   D   sZ   „ ð ˆxˆr�x‰x˜‹×"Ñ"Ñ"€DØˆxˆr�x‰x˜‹×"Ñ"Ñ"€Dà6:Ø&*óVó.9:ðv CGØ"&ôMr$   r:   c                   ó   — e Zd Zej                  j                  de«      ej                  j                  de«      d„ «       «       Zej                  j                  de«      ej                  j                  de«      d„ «       «       Z	ej                  j                  de«      ej                  j                  de«      d„ «       «       Z
ej                  j                  de«      d„ «       Zej                  j                  dej                  ej                  ej                  g«      d„ «       Zej                  j                  de«      d„ «       Zy	)
ÚTestBracketMethodsrR   Úfunctionc                 ó,  — dt        d«      }}t        ||j                  ||g|| j                  | j                  ¬«      }|j
                  sJ ‚t        |j                  d| j                  | j                  ¬«       |j                  |j                  k(  sJ ‚y ©Nç      à?é   )rR   Úbracketr<   rc   rd   ç      ð?©rg   rd   )	r   r   rŽ   rc   rd   rm   r   rE   rR   ©rP   rR   r–   r?   r@   rZ   s         r"   Útest_basic_root_scalarz)TestBracketMethods.test_basic_root_scalar¦   st   € ð ”4˜“7ˆ1ˆä˜¨¯©À1ÀaÀ&ÈQØ!ŸY™Y¨T¯Y©Yô8ˆà�{Š{Ðˆ{Ü˜Ÿ™ ¨$¯)©)¸$¿)¹)ÕDØ�x‰x˜6Ÿ?™?Ò*Ð*Ñ*r$   c                 óÊ   — dt        d«      }} ||||| j                  | j                  d¬«      \  }}|j                  sJ ‚t	        |d| j                  | j                  ¬«       y )Nr™   rš   T)rc   rd   rC   rœ   r�   )r   rc   rd   rm   r   )rP   rR   r–   r?   r@   rE   rZ   s          r"   Útest_basic_individualz(TestBracketMethods.test_basic_individual´   sX   € ð ”4˜“7ˆ1ˆÙ˜ 1 a¨d¯i©i¸d¿i¹iØ%)ô+‰ˆˆað �{Š{Ðˆ{Ü˜˜c¨¯	©	¸¿	¹	ÖBr$   c                 óR  — dt        d«      }}t        ||j                  t        j                  ||g«      || j
                  | j                  ¬«      }|j                  sJ ‚t        |j                  d| j
                  | j                  ¬«       |j                  |j                  k(  sJ ‚y r˜   )r   r   rŽ   r‘   Úarrayrc   rd   rm   r   rE   rR   rž   s         r"   Útest_bracket_is_arrayz(TestBracketMethods.test_bracket_is_arrayÁ   s€   € ð ”4˜“7ˆ1ˆÜ˜¨¯©Ü "§¡¨!¨Q¨Ó 0°Q¸T¿Y¹YØ!ŸY™Yô(ˆð �{Š{Ðˆ{Ü˜Ÿ™ ¨$¯)©)¸$¿)¹)ÕDØ�x‰x˜6Ÿ?™?Ò*Ð*Ñ*r$   c                 óB   — | j                  d||j                  d¬«       y )NÚapsr   rŠ   )r�   rŽ   )rP   rR   s     r"   Útest_aps_collectionz&TestBracketMethods.test_aps_collectionÐ   s   € à×Ñ˜E 6¨6¯?©?ÀqÐÕIr$   c                 ór   — |t         j                  k(  rdhni }| j                  d||j                  |¬«       y )Nzfun7.4Úchandrupatla)rr   )rM   Úridderr�   rŽ   )rP   rR   rr   s      r"   Útest_chandrupatla_collectionz/TestBracketMethods.test_chandrupatla_collectionÔ   s8   € ð $*¬U¯\©\Ò#9�h‘Z¸rˆ
Ø×Ñ˜N¨F°F·O±OØ'1ð 	õ 	3r$   c                 óh   — d\  }} |t         ||d¬«      \  }}|j                  sJ ‚t        |d«       y )N)rG   r   T©rC   r   )r8   rm   r   )rP   rR   r?   r@   rE   rZ   s         r"   Útest_lru_cached_individualz-TestBracketMethods.test_lru_cached_individualÛ   s7   € ð ‰ˆˆ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•   ¥   sH  „ Ø‡[�[×Ñ˜X Ó7Ø‡[�[×Ñ˜ZÐ);Ó<ñ
+ó =ó 8ð
+ð ‡[�[×Ñ˜X Ó7Ø‡[�[×Ñ˜ZÐ);Ó<ñ	Có =ó 8ð	Cð ‡[�[×Ñ˜X Ó7Ø‡[�[×Ñ˜ZÐ);Ó<ñ+ó =ó 8ð+ð ‡[�[×Ñ˜X Ó7ñJó 8ðJð ‡[�[×Ñ˜X¨¯©°e·l±lØ(-¯©ð(7ó 8ñ3ó8ð3ð
 ‡[�[×Ñ˜X Ó7ñ!ó 8ñ!r$   r•   c                   ót  — 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                  j/                  d e«       ddig«      d„ «       Zej                  j/                  dddg«      d„ «       Zy)Ú
TestNewtonc                 ón   — dg}|ddgz  }dD ]&  }| j                  |t        j                  dd|¬«       Œ( y )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æ   sL   € Ø!�]ˆ
Ø�{ KÐ0Ñ0ˆ
Ø,ò 	EˆJØ×Ñ 
¬E¯L©L¸(Ø+,¸ð  õ Eñ	Er$   c                 ób   — g d¢}dD ]&  }| j                  |t        j                  dd|¬«       Œ( y )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í   s?   € ò0ˆ
ð -ò 	EˆJØ×Ñ 
¬E¯L©L¸(Ø+,¸ð  õ 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¬«       Œ¼ y )
Nrš   ç�íµ ÷Æ°>)rb   r   ©rg   é   )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‰KˆAˆs�CÜ—‘˜Q  tÔ,ˆAÜ™A˜a›D !¨$Õ/Ü—‘˜Q  a¨TÔ2ˆAÜ™A˜a›D !¨$Õ/Ü—‘˜Q ¨#°4Ô8ˆAÜ™A˜a›D !¨$Õ/Ü—‘˜Q ¨#°sÀÔEˆAÜ™A˜a›D !¨$Ö/ñ	0r$   c                 óf  — t         t        t        ft        t        t
        ffD ]4  \  }}}t        |dd|d¬«      }t         ||j                  «      dd¬«       Œ6 t         t        t        ft        t        t
        ffD ]3  \  }}}t        |ddd¬«      }t         ||j                  «      dd¬«       Œ5 y)	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‰KˆAˆs�CÜ˜A h°1¸SÀtÔLˆAÜ™A˜aŸf™f›I q¨tÖ4ð	5ô  ¤¤tÐ,¬r´4¼Ð.>Ð?ò 	5‰KˆAˆs�CÜ˜A h°1¸4Ô@ˆAÜ™A˜aŸf™f›I q¨tÖ4ñ	5r$   c                 óÂ  — t         t        t        ft        t        t
        ffD ]b  \  }}}t        |dddd¬«      }t         ||j                  «      dd¬«       t        |dddd¬«      }t         ||j                  «      dd¬«       Œd t         t        t        ft        t        t
        ffD ]3  \  }}}t        |ddd¬	«      }t         ||j                  «      dd¬«       Œ5 y
)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‰KˆAˆs�CÜ˜A h°1¸ÀÔFˆAÜ™A˜aŸf™f›I q¨tÕ4Ü˜A h°1¸ÀÔFˆAÜ™A˜aŸf™f›I q¨tÖ4ð		5ô
  ¤¤tÐ,¬r´4¼Ð.>Ð?ò 	5‰KˆAˆs�CÜ˜A h°1¸4Ô@ˆAÜ™A˜aŸf™f›I q¨tÖ4ñ	5r$   c           	      ó¸   — t         t        t        ft        t        t
        ffD ]5  \  }}}t        |dd||d¬«      }t         ||j                  «      dd¬«       Œ7 y)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  sV   € ä¤¤tÐ,¬r´4¼Ð.>Ð?ò 	5‰KˆAˆs�CÜ˜A h°1Ø#&°¸$ô@ˆAä™A˜aŸf™f›I q¨tÖ4ñ	5r$   c                 ó,  — d}t        j                  t        |¬«      5  t        t        dt
        dd¬«       d d d «       d}t        j                  t        |¬«      5  t        t        dt        dd¬«       d d d «       y # 1 sw Y   ŒHxY w# 1 sw Y   y xY w)	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  s€   € Ø8ˆÜ�]‰]œ:¨WÔ5ñ 	KÜœ 8´D¸QÀTÕJ÷	Kà7ˆÜ�]‰]œ:¨WÔ5ñ 	LÜœ 8´T¸aÀdÕK÷	Lð 	L÷	Kð 	Kú÷	Lð 	Lús   žA>Á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        ||	«       y)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'  sW   € Ø�!‘�q˜1˜Q™4‘x‘ˆAØ�Q‘4˜!˜A™$¤"§&¡&¨¨Q¨q©T©Ó"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™6 ! A¡$¨¨1©¡+°°A±Ñ"5Ó6Ñ6¸Ñ:¸Q¸q¹TÀAÀaÁD¹[ÑHÈ1ÑLÐLr$   c                 óz   — |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/  sK   € Ø�!‘�q˜‘t‘ˆAØ�a‘D�5œ2Ÿ6™6 ! A¡$¨¨1©¡+°°A±Ñ"5Ó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ò	Mò	>ô �X‰Xò 
ó ˆô �f‰f”U˜2“YÓ #Ñ%¨Ñ,ˆØ�B˜˜u b¨'Ð2ˆØˆU�R‰ZˆÜ�L‰L˜˜R  tÓ,ˆð
ˆ
ô 	˜˜:Ô&ä�L‰L˜˜R  t°TÔ:ˆÜ˜˜:Ô&ä�L‰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«       y )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                  ó   — y©Nrœ   r   r    s    r"   r`   z4TestNewton.test_array_newton_complex.<locals>.fprimeO  s   € Ør$   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‰G�A�r‹NˆÜ�L‰L˜˜A fÔ-ˆÜ™˜!›˜bÔ!ô �G‰G�A‹JˆÜ�L‰L˜˜A fÔ-ˆÜ™˜!›˜bÔ!ä�L‰L˜˜AÓˆÜ™˜!›˜bÕ!r$   c                 ó~   — t        j                  d„ ddgt        j                  ddg«      g¬«      }t	        |d«       y)	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^  s7   € ä�L‰LÑ1°u¸a°jÜ!Ÿx™x¨¨R¨Ó1Ð2ô4ˆä˜Ð3Õ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«       y )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  sY   € ä�L‰LÑ0°3°%¸!±)Ø $ d˜|˜oô/ˆä˜ÐAÔBä�L‰LÑ0°1°#¸±'À"ÀbÀÀÔLˆÜ˜ÐAÕ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                  j                  «       sJ ‚|j                  j                  «       rJ ‚	 d d d «       y # 1 sw Y   y xY w)	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Úallrm   Úany)rP   rv   s     r"   Ú#test_array_newton_zero_der_failuresz.TestNewton.test_array_newton_zero_der_failuresm  s¡   € ô 	”^¤U§\¡\Ù'¨"¨b¨±?ô	Dô �\‰\œ.Ó)ñ 	/Ü—l‘lÑ#5¸¸B°xÙ#0¸dôDˆGä˜GŸL™L¨!Ô,Ø×#Ñ#×'Ñ'Ô)Ð)Ð)Ø×(Ñ(×,Ñ,Ô.Ð.Ð.Ð.÷	/÷ 	/ñ 	/ús   ¿A,B5Â5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                  «       y )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ˆÜ˜/°(¸qÈÔNˆÜ˜Ÿ	™	 3§8¡8°$Õ7Ü�Q�s×)Ñ)Ñ)¨4×+>Ñ+>Ô?ä˜2 h°1¸TÈ4ÔPˆÜ˜/°(¸qÈ$ÔOˆÜ˜Ÿ	™	 3§8¡8°$Õ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 ‚t        |	j                  |dz   |	j                  z  «       |	j                  dz
  }
t        j                  t
        |f|
d	dœ|¤Ž\  }}	t        |	j                   «       t        ||	j                  «       t        |	j                  |
«       |dk(  s�Œ[d|
z  }t        j                  t        |¬«      5  t        j                  t
        |f|
ddœ|¤Ž\  }}	d d d «       �Œ§ y # 1 sw Y   �Œ³xY w)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   rm   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ˆä˜A“hó 	TˆFØ!°$Ñ9ˆFØ"¤DÐ)¨I´tÐ+<Ð=¸g¸vÐFò ‘��1Ø��q’	ðô —<‘<¤ BÑ=¨UÐ=°fÑ=‰DˆAˆqÜ�A—K‘KÔ Ü˜˜AŸF™FÔ#Ü˜!Ÿ,™,¨×(8Ñ(8Ð9¸?È6Ñ;RÔSØ˜Š{Ø×'Ñ'¨1¯<©<¸!Ñ+;Ò;Ð;Ð;ä˜Q×-Ñ-°¸±
¸a¿l¹lÑ/JÔKð —L‘L 1Ñ$ˆEÜ—<‘<¤ BÐL°¸EÑLÀVÑL‰DˆAˆqÜ˜Ÿ™�OÔ$Ü˜˜AŸF™FÔ#Ü˜Ÿ™ uÔ-à˜Œ{ð LÈuÑU�Ü—]‘]¤<°sÔ;ñ TÜ Ÿ<™<¬¨BÐS¸ÀDÑSÈFÑS‘D�A�q÷Tñ Tñ3	T÷2Tñ Tús   Æ"F;Æ;G	c                 óä   — d„ }d„ }t        t        t        j                  |d|d¬«       t	        j
                  t        d¬«      5  t        j                  |d|«       d d d «       y # 1 sw Y   y xY w)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×   r"  )rP   rA   r-  s      r"   Útest_deriv_zero_warningz"TestNewton.test_deriv_zero_warning³  sV   € ò	 ò	ä”^¤U§\¡\°4¸¸eÈ%ÕPÜ�]‰]œ<Ð/DÔEñ 	+Ü�L‰L˜˜s EÔ*÷	+÷ 	+ñ 	+ús   ÁA&Á&A/c                 ó¼   — t        j                  ddg«      }|j                  «       }t        t         j                  |t         j
                  «       t        ||«       y )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½  s=   € ä�X‰X�s˜A�hÓˆØ—'‘'“)ˆÜŒr�v‰v�rœ2Ÿ6™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                  k7  sJ ‚ J ‚|j                  |j                  dz
  cxk(  r3|j                  cxk(  r#|j                  cxk7  r|j                  dz  k(  sJ ‚ J ‚y )Nc                 óF   — t        j                  | «      sJ ‚t        | «      S r-   )r‘   Úisscalarr#   r    s    r"   r>   z+TestNewton.test_gh17570_defaults.<locals>.fÊ  s   € Ü—;‘;˜q”>Ð!�>Ü�a“5ˆLr$   r   rš   rÄ   rË   r^   r   rÐ   T)r<   r=   rb   rC   r   r   rÅ   )r   r   r   rE   Úshapero   r!  r  )rP   r>   Úres_newton_defaultÚres_secant_defaultÚ
res_secants        r"   Útest_gh17570_defaultsz TestNewton.test_gh17570_defaultsÄ  s€  € ò	ô )¨°8ÀÈÔMÐÜ(¨°8ÀÀaØ.2ô4Ðô ˜A !¨¨tÀÔFÀqÑIˆ
ô 	™Ð,×1Ñ1Ó2°A¸DÕAØ!×&Ñ&×,Ñ,´³Ò7Ð7Ð7Ü™Ð,×1Ñ1Ó2°A¸DÕAØ!×&Ñ&×,Ñ,´³Ò7Ð7Ð7Ü™˜*Ÿ/™/Ó*¨A°DÕ9Ø�‰×$Ñ$¬«Ò/Ð/Ð/ð #×'Ñ'Ø—?‘?ô1à%×0Ñ0ò1ð 	2ñ 1ð 	2ð 1ð #×-Ñ-Ø%×4Ñ4°qÑ8ô7à×(Ñ(ô7ð &×0Ñ0ô7ð &×4Ñ4°QÑ6ò	7ð 	8ñ 7ð 	8ñ 7r$   rU   rR   r   c                 ó„   — d„ }t        j                  |fdddœ|¤Ž}|j                  sJ ‚t        |j                  d«       y )Nc                 ó.   — |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ˆM�6Ø˜’6ˆM�6Ø˜‘F˜Q‘JÐr$   rš   )rš   r   rø   r   )r   r   rm   r   rE   )rP   rU   r>   Úress       r"   Útest_args_gh19090zTestNewton.test_args_gh19090æ  s?   € ò	 ô
 ×"Ñ" 1ÐB¨°ÑB¸6ÑBˆØ�}Š}Ðˆ}Ü˜Ÿ™ !Õ$r$   r^   c                 ó  — d„ }t        j                  |d|¬«      }|j                  sJ ‚t        t	        |j
                  «      d«       |j
                  j                  t        j                  t        j                  «      k(  sJ ‚y )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   rm   r   ÚabsrE   Údtyper‘   Úfloat64)rP   rR   r>   r?  s       r"   Útest_int_x0_gh19280zTestNewton.test_int_x0_gh19280ñ  s^   € ò
	ô ×"Ñ" 1¨°6Ô:ˆØ�}Š}Ðˆ}Üœ˜CŸH™H› wÔ/Ø�x‰x�~‰~¤§¡¬"¯*©*Ó!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)  r/  r4  r<  r±   rJ   r@  rG  r   r$   r"   r·   r·   å   sî   „ òEòEò	0ò5ò	5ò5òLò%'òN"ò&5òCð ‡[�[×Ññ
/ó ð
/ò@ò*"TðH ‡[�[×Ññ+ó ð+ò(ò 8ðD ‡[�[×Ñ˜X©«°¸8Ð0DÐ'EÓFñ%ó Gð%ð ‡[�[×Ñ˜X¨°(Ð';Ó<ñ6ó =ñ6r$   r·   c            	      óÆ   ‡— dŠˆfd„} t         j                  t         j                  g}t        x}}|D ],  } || dd||¬«      }t	        ‰|||d|j
                  › �¬«       Œ. y )Nr1  c                 ó   •— | ‰z
  S r-   r   )r!   rE   s    €r"   r>   ztest_gh_5555.<locals>.f  s   ø€ Ø�4‰xˆr$   g    „×—Ág    ÐcArf   zmethod )rg   rd   Úerr_msg)rM   r´   rª   ÚTOLr   rŽ   )r>   Úmethodsrc   rd   rR   r?  rE   s         @r"   Útest_gh_5555rN     sk   ø€ Ø€Dôô �|‰|œUŸ\™\Ð*€GÜÐ€Dˆ4Øò =ˆÙ�Q˜˜c¨°4Ô8ˆÜ˜˜c¨°4Ø")¨&¯/©/Ð):Ð ;ö	=ñ=r$   c                  ó¦   — d„ } d}dt         z  }t        j                  t        j                  g}|D ]  } || dd||¬«      }t	        d|||¬«       Œ  y )	Nc                 ó   — | dk  ry| dz
  S )Nr™   gš™™™™™¹¿ç333333ã?r   r    s    r"   r>   ztest_gh_5557.<locals>.f  s   € ØˆsŠ7Øà�s‘7ˆNr$   gR¸…ëQà?r   r   r   rf   rQ  r�   )Ú
_FLOAT_EPSrM   ÚbrentqÚbrenthr   )r>   rg   rd   rM  rR   r?  s         r"   Útest_gh_5557rU    sX   € òð €DØŒz‰>€DÜ�|‰|œUŸ\™\Ð*€GØò 8ˆÙ�Q˜˜1 4¨dÔ3ˆÜ˜˜S t°$Ö7ñ8r$   c                  óÎ   ‡— d} d}| |fD ]Y  \  }}}t        j                  |«      Št        j                  t        j                  fD ]  } |ˆfd„||«      }t        ||«       Œ Œ[ y )N)g      |Àg     àuÀg      yÀ)g     àu@g      |@g      y@c                 ó4   •— t        j                  | «      ‰z
  S r-   rÝ   )r!   r~   s    €r"   rõ   z9test_brent_underflow_in_root_bracketing.<locals>.<lambda>1  s   ø€ ¤2§6¡6¨!£9¨Q¡;€ r$   )r‘   r   rM   rT  rS  r   )Úunderflow_scenarioÚoverflow_scenarior?   r@   rE   rR   r?  r~   s          @r"   Ú'test_brent_underflow_in_root_bracketingrZ  &  sn   ø€ ð
 2ÐØ-Ðà)Ð+<Ð=ò '‰
ˆˆ1ˆdÜ�F‰F�4‹LˆÜ—|‘|¤U§\¡\Ð2ò 	'ˆFÙÓ.°°1Ó5ˆCÜ˜D #Õ&ñ	'ñ'r$   c                   óF   — e Zd Z ej                  ddddd¬«      Zd„ Zd„ Zy	)
ÚTestRootResultsrœ   é,   é.   r   r   )rE   r!  r  ÚflagrR   c                 óF   — d}t        t        | j                  «      |«       y )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˜$Ÿ&™&“\ =Õ1r$   c                 ó<   — t        | j                  t        «      sJ ‚y r-   )Ú
isinstancerZ   r   )rP   s    r"   Ú	test_typezTestRootResults.test_type?  s   € Ü˜$Ÿ&™&¤.Ô1Ð1Ñ1r$   N)rŽ   r�   r�   rM   rN   rZ   rc  rf  r   r$   r"   r\  r\  5  s)   „ Øˆ×Ñ˜s¨rÀ"È1Ø!)ô	+€Aò2ó2r$   r\  c                  ó  — d„ } d„ }d„ }t        dd«      }d}t        j                  | ||||d¬«      }t         | |g|¢­Ž d	d¬
«       |gdz  }d}t        j                  | ||||d¬«      }t         | |g|¢­Ž d	d¬
«       y)z&Test Halley's works with complex rootsc                 ó6   — |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                 ó$   — 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                 óX   — d|d   z  }	 t        | «      }|g|z  S # t        $ r |cY S w xY w)Nr   r   )rj   Ú	TypeError)r!   r?   ÚretvalÚsizes       r"   rÈ   z test_complex_halley.<locals>.f_2K  sA   € Ø�Q�q‘T‘ˆð	#Ü�q“6ˆDð �8˜d‘?Ð"øô ò 	ØŠMð	ús   Š ›)¨)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_halleyro  C  sŒ   € ò-ò#ò#ô 	��SÓ€AØ€FÜ�‰�Q˜ ¨s¸CÀTÔJ€Aä‘A�a�M˜&’M 1¨4Õ0Ø	
ˆˆb‰€AØ€FÜ�‰�Q˜ ¨s¸CÀTÔJ€AÜ‘A�a�M˜&’M 1¨4Ö0r$   c                 ó¾  — t        j                  t        «      j                  dz  }d|z
  d|z   z  }t	        «       5 }|j                  t        d«       t        j                  d„ |gdz  ¬«      }ddd«       t        d	gdz  «       d
}t	        «       5 }|j                  t        d«       t        j                  d„ |d¬«      }ddd«       t        |d«       t        j                  t        d¬«      5  t        j                  d„ |d¬«      }ddd«       d}t	        «       5 }|j                  t        d«       t        j                  d„ |d¬«      }ddd«       t        |d«       t        j                  t        d¬«      5  t        j                  d„ |d¬«      }ddd«       y# 1 sw Y   �Œ5xY w# 1 sw Y   ŒíxY w# 1 sw Y   Œ°xY w# 1 sw Y   ŒxxY w# 1 sw Y   yxY w)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 rv  r   r  s    r"   rõ   z%test_zero_der_nz_dp.<locals>.<lambda>v  rw  r$   Tg.Ð—K.ÿï¿c                 ó   — | dz   dz  S rv  r   r  s    r"   rõ   z%test_zero_der_nz_dp.<locals>.<lambda>z  rw  r$   rG   c                 ó   — | dz   dz  S rv  r   r  s    r"   rõ   z%test_zero_der_nz_dp.<locals>.<lambda>}  rw  r$   )r‘   r
   r’   r“   r	   Úfilterr  rM   r   r   r¯   r×   r"  )r#  ÚdxÚp0Úsupr!   s        r"   Útest_zero_der_nz_dpr  _  s¨  € ô 
�‰”%‹×	Ñ	 Ñ	$€Bð �"‰*˜˜r™Ñ	"€BÜ	Ó	ð A Ø�
‰
”> 8Ô,Ü�L‰LÑ1°r°d¸R±iÔ@ˆ÷Aô �A˜�u˜r‘zÔ"à	$€BÜ	Ó	ð F Ø�
‰
”> >Ô2Ü�L‰LÑ1°b¸uÔEˆ÷Fô �A�qÔÜ	�‰”|¨>Ô	:ñ EÜ�L‰LÑ1°b¸tÔDˆ÷Eà	%€BÜ	Ó	ð F Ø�
‰
”> >Ô2Ü�L‰LÑ1°b¸uÔEˆ÷Fô �A�rÔÜ	�‰”|¨>Ô	:ñ EÜ�L‰LÑ1°b¸tÔDˆ÷Eð E÷#Añ Aú÷Fð Fú÷Eð Eú÷Fð Fú÷Eð Eús;   ¼3F"Â0F/Ã2F;Ä 0GÅ?GÆ"F,Æ/F8Æ;GÇGÇGc                  ó¨  ‡— d} dŠd}d}d}||z  | z  |z  }ˆfd„}t        j                  t        «      5  t        j                  |g d¢d|| gd	¬
«      }|j
                  j                  «       rJ ‚	 ddd«       t        j                  t        «      5  t        j                  |dgdz  d|| gd	¬
«      }ddd«       y# 1 sw Y   ŒLxY w# 1 sw Y   yxY w)z(Test that array newton fails as expectedr1  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Ž  s[   ø€ Ø”B—G‘G˜NÓ+Ñ+Ø”B—H‘H˜Y¨™_¨sÑ2Ø! B™Y¬¯©°Ó)@Ñ@ñAó Bñ BñBð 	Cr$   )ç{®Gáz„?gš™™™™™É?gˆ×õvÃ–?g333333Ó?r   T)r<   r   rF   rC   Nrˆ  )	r¯   r  r  rM   r   rm   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ô 
�‰”nÓ	%ñ *Ü—‘ØÒ7ÀØ! 8Ð,¸$ô
ˆð ×#Ñ#×'Ñ'Ô)Ð)Ð)Ð)÷*ô 
�‰”|Ó	$ñ 
Ü—‘Ø˜t˜f q™j°!Ø! 8Ð,¸$ô
ˆ÷
ð 
÷*ð *ú÷
ð 
ús   µ;B<Â!CÂ<CÃCc                  óf  — 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                  ¬«       y)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   rr  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`   ra   r™   N)rM   r   r   Ú_xtolÚ_rtol)r’  rZ   r”  r–  s       r"   Ú!test_gh8904_zeroder_at_root_failsrš  £  su  € òô 	�‰�^¨Ô*€AÜ�A�qœuŸ{™{´·±Õ=ä�‰�^¨¨¨B©Ô/€AÜ�A�qœuŸ{™{´·±Õ=ò òô 	�‰�^¨°$Ô7€AÜ�A�qœuŸ{™{´·±Õ=Ü�‰�^¨°$Ø"ô	$€Aä�A�qœuŸ{™{´·±Õ=ä�‰�^¨¨¨B©°tÔ<€AÜ�A�qœuŸ{™{´·±Õ=Ü�‰�^¨¨¨B©°tØ"ô	$€Aä�A�qœuŸ{™{´·±Õ=ô 	�‰�^¨°DÔ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 ‚y	)
zzTest that Halley's method realizes that the 2nd order adjustment
    is too big and drops off to the 1st order adjustment.r  c                 óB   •— 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                 ó.   •— t        | d‰z
  ‰z  «      ‰z  S rì   r�  rž  s    €r"   Úfpztest_gh_8881.<locals>.fpÛ  s   ø€ Ü�Q˜˜Q™ ™	Ó" 1Ñ$Ð$r$   c                 óL   •— t        | dd‰z  z
  ‰z  «      d‰z  z  d‰z
  z  ‰z  S rv  r�  rž  s    €r"   Úfppztest_gh_8881.<locals>.fppÞ  s3   ø€ Ü�Q˜˜Q˜q™S™ !™Ó$¨¨A©Ñ.°#°a±%Ñ8¸Ñ:Ð:r$   r1  T)r`   rC   ©r`   ra   rC   N)r   rm   )r>   r¡  r£  r<   ÚrtrZ   rŸ  s         @r"   Útest_gh_8881r¦  Ó  sf   ø€ ð 	
€Aô1ô%ô;ð 
€Bô �1�b °Ô6�E€BˆØ�;Š;Ðˆ;ô �1�b ¨S¸dÔ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	«       d
„ }t        j                  | |||d¬«      }|j                  j                  «       sJ ‚y	# 1 sw Y   ŒCxY w)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                  ó   — yr&   r   r    s    r"   r£  z.test_gh_9608_preserve_array_shape.<locals>.fppø  s   € Ør$   rC  ©rE  Tr¤  éýÿÿÿNc                 ót   — t        j                  t        j                  | «      dt         j                  ¬«      S )Nr   r¬  )r‘   rî   r8  Úfloat32r    s    r"   Ú	fpp_arrayz4test_gh_9608_preserve_array_shape.<locals>.fpp_array  s!   € Ü�w‰w”r—x‘x “{ A¬R¯Z©ZÔ8Ð8r$   )
r‘   r£   r¯  r   rm   r¯   r×   Ú
IndexErrorrM   r  )	r>   r¡  r£  r<   r¥  rZ   Úx0_arrayr„   r°  s	            r"   Ú!test_gh_9608_preserve_array_shaper³  í  s×   € ò
òòô 
�‰�2�$œbŸj™jÔ	)€BÜ�1�b ¨S¸dÔC�E€BˆØ�;Š;Ðˆ;ä�x‰x˜˜R˜¬¯
©
Ô3€Hä	�‰”zÓ	"ñ 
Ü—‘Øˆx ¨C¸Tô
ˆ÷
ò
9ô �\‰\Ø	ˆ8˜B¨	¸tô€Fð ×Ñ×ÑÔ!Ð!Ñ!÷
ð 
ús   ÂC.Ã.C7z maximum_iterations,flag_expectedrá   rs  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 ‚y
|t         j
                  k(  r|d	   j                  | k  sJ ‚y
y
)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   rS  r_  ÚCONVERRr!  Ú	CONVERGED)Úmaximum_iterationsÚflag_expectedr„   s      r"   Ú$test_gh9254_flag_if_maxiter_exceededr»    s�   € ô �\‰\Ù1ØˆR��T˜4Ð!3Ø˜uô&€Fð �!‰9�>‰>˜]Ò*Ð*Ð*ØœŸ™Ò%à�a‰y×#Ñ#Ð'9Ò9Ð9Ñ9Ø	œ%Ÿ/™/Ò	)à�a‰y×#Ñ#Ð&8Ò8Ð8Ñ8ð 
*r$   c                  óR  — d„ } d„ }t        t        t        j                  | d|d¬«       t	        j
                  t        d¬«      5  t        j                  | d|«       ddd«       t        j                  | t        d	d	«      |«      }t        |t        d
d«      «       y# 1 sw Y   ŒAxY w)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œ   Fr.  zY^Derivative was zero\. Failed to converge after \d+ iterations, value is [+-]?\d*\.\d+\.$rÕ   Ng      $@rí   )	r   r  rM   r   r¯   r×   r"  r¼   r   )r>   rÀ  rE   s      r"   Ú$test_gh9551_raise_error_if_disp_truerÁ  $  s‹   € òòô ”¤§¡¨q°#°sÀÕGÜ	�‰Üð/ô
0ñ "ô 	�‰�Q˜˜SÔ!÷	"ô
 �<‰<˜œ7 4¨Ó.°Ó4€DÜ�Dœ' # sÓ+Õ,÷"ð "ús   ÁBÂB&Úsolver_name)rS  rT  r´   rª   rµ   c                 óž   — d„ }t        t        | «      }t        j                  t        d¬«      5   ||dd«       d d d «       y # 1 sw Y   y xY w)Nc                 ó"   — t         j                  S r-   )r‘   r   r    s    r"   r>   ztest_gh3089_8394.<locals>.f=  s   € Ü�v‰vˆr$   zThe function value at x...rÕ   r   r   )ÚgetattrrM   r¯   r×   rØ   )rÂ  r>   Úsolvers      r"   Útest_gh3089_8394rÇ  8  sD   € ò
ô ”U˜KÓ(€FÜ	�‰”zÐ)EÔ	Fñ Ùˆq�!�QŒ÷÷ ñ ús   ¯AÁArR   c                 ó  ‡— ˆfd„Šd‰_         t        ‰d| ¬«      }|j                  du sJ ‚|j                  j	                  d«      sJ ‚|j
                  ‰j                   k(  sJ ‚t        |j                  «      |j                  v sJ ‚y )Nc                 óN   •— ‰xj                   dz  c_         t        j                  S r¾  )Ú_countr‘   r   ©r!   r>   s    €r"   r>   ztest_gh18171.<locals>.fK  s   ø€ Ø	�Š�A‰�Ü�v‰vˆr$   r   )r   r   )r›   rR   FzThe function value at x)rÊ  r   rm   r_  Ú
startswithr  ÚstrrE   )rR   r?  r>   s     @r"   Útest_gh18171rÎ  E  s|   ø€ ôð €A„Hä
�a °Ô
7€CØ�=‰=˜EÑ!Ð!Ð!Ø�8‰8×ÑÐ8Ô9Ð9Ð9Ø×Ñ §¡Ò)Ð)Ð)Üˆs�x‰x‹=˜CŸH™HÑ$Ð$Ñ$r$   Úrs_interfaceTFc                 óØ   ‡— |rd„ nt        t        | «      }ˆfd„Šd‰_         |‰ddd¬«      }|r|j                  ‰j                  k(  sJ ‚y |d   j                  ‰j                  k(  sJ ‚y )Nc                 ó    — t        | ||f¬«      S ©N)r›   ©r   ©r>   r?   r@   rU   s       r"   rõ   z%test_function_calls.<locals>.<lambda>]  ó   € ¬°QÀÀAÀÔ)G€ r$   c                 ó>   •— ‰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Æ  r?  r>   s       @r"   Útest_function_callsrØ  W  sr   ø€ ñ ò HÜ#*¬5°+Ó#>ð ôð €A„Gá
��A�r tÔ
,€CáØ×!Ñ! Q§W¡WÒ,Ð,Ñ,à�1‰v×$Ñ$¨¯©Ò/Ð/Ñ/r$   c                  óŠ  — d„ } t        j                  t        d¬«      5  t        | ddd¬«      }ddd«       j                  rJ ‚|j
                  d	k(  sJ ‚t        j                  t        d¬«      5  t        | ddd
d¬«      d   }ddd«       |j                  rJ ‚|j
                  d	k(  sJ ‚y# 1 sw Y   ŒxY w# 1 sw Y   Œ5xY w)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‘6˜1˜"˜Q™$“<Ñ $Ñ&Ð&r$   rt  rÕ   r^   g333333Ã¿rœ   )rR   r<   r=   Nzconvergence errorFT)r<   r=   rD   rC   r   )r¯   r  r  r   rm   r_  r   )rÛ  r?  s     r"   Útest_gh_14486_converged_falserÜ  m  s¾   € ò'ô 
�‰”n¨NÔ	;ñ BÜ˜# h°5¸SÔAˆ÷Bà�}Š}ÐÐØ�8‰8Ð*Ò*Ð*Ð*ä	�‰”n¨NÔ	;ñ MÜ�S˜U s°ÀDÔIÈ!ÑLˆ÷Mà�}Š}ÐÐØ�8‰8Ð*Ò*Ð*Ñ*÷Bð Bú÷
Mð Mús   ŸB-Á1B9Â-B6Â9Cc                 óª  — |rd„ nt        t        | «      }d„ }t        j                  t        d¬«      5   ||ddd¬«       d d d «        ||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¬«       y # 1 sw Y   Œ‰xY w)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Ø   rm   r   rE   r’   )rÂ  rÏ  rÆ  r>   r?  s        r"   Útest_gh5584rà  ~  sÏ   € ñ ò HÜ#*¬5°+Ó#>ð òô 
�‰”zÐ)GÔ	Hñ 0Ùˆq�$˜¨$Õ/÷0ñ ��D˜#¨4Ô
0€CÙ‰# 3 q¡6€CØ�=Š=Ðˆ=Ü�C—H‘H˜a dÕ+ñ ��Dœ% ›-°TÔ
:€CÙ‰# 3 q¡6€CØ�=Š=Ðˆ=Ü�C—H‘H˜a dÖ+÷0ð 0ús   ´C	Ã	C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 «       y # 1 sw Y   y xY w)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   rf   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æ  ›  sË   € òð €DÜ
�(‰(”5‹/×
Ñ
€CÜ	�‰�q˜% ¨D°q¸±uÔ	=€BÙ	
ˆ2‹€BÜ	�‰�q˜% ¨D°q¸±uÔ	=€BÙ	
ˆ2‹€BØ�Š7€Nˆ7ð # 3 q¡5¨ )¨3¨s°1¨g°RÐ8€GÜ	�‰”z¨Ô	1ñ =Ü�‰�a˜ ¨4°c¸!±eÕ<÷=÷ =ñ =ús   Â#C
Ã
Cc                  óŒ   — d„ } t        | d«      }t        |dd¬«       t        | ddd¬«      }t        |j                  dd¬«       y )	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>   r?  s     r"   Útest_newton_complex_gh10103ré  ²  s>   € òä
��D‹/€CÜ�C˜ Õ'ä
�a˜D V°HÔ
=€CÜ�C—H‘H˜a eÖ,r$   c                 óˆ   — d}t        j                  t        |¬«      5   | t        ddd¬«       d d d «       y # 1 sw Y   y xY w)Nz2'float' object cannot be interpreted as an integerrÕ   rí   rœ   gÍÌÌÌÌR@)r   )r¯   r×   rk  r#   )rR   rÙ   s     r"   Útest_maxiter_int_check_gh10236rë  ¿  s;   € ð C€GÜ	�‰”y¨Ô	0ñ ,ÙŒr�3˜ UÕ+÷,÷ ,ñ ,ús	   ž8¸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   rh   Úscipy.optimize._tstutilsr   r   r³   r’   r“   rL  rR  r´   rª   rS  rT  rµ   r²   Úgradient_methodsÚall_methodsr#   r'   r+   r.   r1   r4   r6   r8   r:   r•   r·   rN  rU  rZ  r\  ro  r°   rH  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å ÷,ó ,õ G÷ Pàˆˆ�‰�‹×ÑÑ€á�5‹\×Ñ€
à—<‘< §¡¨u¯|©|¸U¿\¹\Ø—=‘=ð"€à—L‘L�>Ð ØÐ 0Ñ0€òòòò#ò
òòð
 ñó ð÷^Mñ ^MôB=!Ð.ô =!ô@X6Ð&ô X6òv=ò8ò0'÷2ñ 2ò1ð8 ‡�×ÑñEó ðEð@ ‡�×Ññ
ó ð
òD,>ò`ò4"ðD ‡�×ÑØ&Øˆ%�-‰-Ð˜3 §¡Ð0Ð1ó3ñ9ó3ð9ð$ ‡�×Ññ-ó ð-ð& ‡�×Ñ˜ÚLóNñóNðð ‡�×Ñ˜ÚLóNñ%óNð%ð  ‡�×Ñ˜ÚLóNà‡�×Ñ˜¨$°¨Ó7ñ0ó 8óNð0ð& ‡�×Ññ+ó ð+ð  ‡�×Ñ˜ÚLóNà‡�×Ñ˜¨$°¨Ó7ñ,ó 8óNð,ò4=ò.
-ð ‡�×Ñ˜ ;Ó/ñ,ó 0ñ,r$   