ó
    ˆ*£h´F  ã                   ó  • S SK Jr   " S S\5      rS rS rS r\S 5       r\S 5       r\S	 5       r	\S
 5       r
\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S6S j5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S7S j5       r\S8S j5       r\S 5       r\S 5       r\S  5       r\S! 5       r \S" 5       r!\S# 5       r"\S$ 5       r#\S9S& j5       r$\S' 5       r%\S( 5       r&\S) 5       r'\S* 5       r(S+ r)SS%K*r*SS%K+r+S, r,S- r-\S7S. j5       r.\S6S/ j5       r/S8S0 jr0\S1 5       r1\S2 5       r2\S3 5       r3\S8S4 j5       r4\S8S5 j5       r5g%):é   )Úxrangec                   ó~   • \ rS rSrSr0 rSrS r\S 5       r	S r
S rS rS	 rS
 rS rS rS rS rS rS rS rSrg)ÚSpecialFunctionsé   zï
This class implements special functions using high-level code.

Elementary and some other functions (e.g. gamma function, basecase
hypergeometric series) are assumed to be predefined by the context as
"builtins" or "low-level" functions.
gËPÊÿÿï?c           
      ó  • U R                   nUR                   H&  nUR                  U   u  p4UR                  X#U5        M(     U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l	        U R                  S5      U l
        U R                  S5      U l        U R                  S	5      U l        U R                  S
5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        U R                  S5      U l        0 U l        U R,                  R/                  SSSSSSSS.5        U R1                  U R2                  5      U l        g )N)é   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   r   ÚargÚconjÚrootÚpsiÚzetaÚfibÚfac)ÚphaseÚ	conjugateÚnthrootÚ	polygammaÚhurwitzÚ	fibonacciÚ	factorial)Ú	__class__Údefined_functionsÚ_wrap_specfunÚ_mpqÚmpq_1Úmpq_0Úmpq_1_2Úmpq_3_2Úmpq_1_4Úmpq_1_16Úmpq_3_16Úmpq_5_2Úmpq_3_4Úmpq_7_4Úmpq_5_4Úmpq_1_3Úmpq_2_3Úmpq_4_3Úmpq_1_6Úmpq_5_6Úmpq_5_3Ú_misc_const_cacheÚ_aliasesÚupdateÚmemoizeÚzetazeroÚzetazero_memoized)ÚselfÚclsÚnameÚfÚwraps        ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/mpmath/functions/functions.pyÚ__init__ÚSpecialFunctions.__init__   sœ  € Ø�n‰nˆØ×)Ô)ˆDØ×+Ñ+¨DÑ1‰GˆAØ×Ñ˜d tÖ,ñ *ð —Y‘Y˜uÓ%ˆŒ
Ø—Y‘Y˜uÓ%ˆŒ
Ø—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØŸ	™	 &Ó)ˆŒØŸ	™	 &Ó)ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒà!#ˆÔà�‰×ÑØØ ØØØð
  Øñ
ô 	ð "&§¡¨d¯m©mÓ!<ˆÕó    c                 ó   • [        XU5        g ©N)Úsetattr)r:   r;   r<   r=   s       r>   r    ÚSpecialFunctions._wrap_specfun=   s   € ä�˜1ÕrA   c                 ó   • [         erC   ©ÚNotImplementedError©ÚctxÚnÚzs      r>   Ú_besseljÚSpecialFunctions._besseljD   s   € Ô#6Ð6rA   c                 ó   • [         erC   rG   ©rJ   rL   s     r>   Ú_erfÚSpecialFunctions._erfE   s   € Ô/Ð/rA   c                 ó   • [         erC   rG   rP   s     r>   Ú_erfcÚSpecialFunctions._erfcF   ó   € Ô0Ð0rA   c                 ó   • [         erC   rG   )rJ   rL   Úas      r>   Ú_gamma_upper_intÚ!SpecialFunctions._gamma_upper_intG   s   € Ô+>Ð%>rA   c                 ó   • [         erC   rG   rI   s      r>   Ú_expint_intÚSpecialFunctions._expint_intH   s   € Ô&9Ð 9rA   c                 ó   • [         erC   rG   ©rJ   Úss     r>   Ú_zetaÚSpecialFunctions._zetaI   rV   rA   c                 ó   • [         erC   rG   )rJ   r`   rX   rK   ÚderivativesÚreflects         r>   Ú_zetasum_fastÚSpecialFunctions._zetasum_fastJ   s   € ÔATÐ;TrA   c                 ó   • [         erC   rG   rP   s     r>   Ú_eiÚSpecialFunctions._eiK   ó   € Ô.Ð.rA   c                 ó   • [         erC   rG   rP   s     r>   Ú_e1ÚSpecialFunctions._e1L   rk   rA   c                 ó   • [         erC   rG   rP   s     r>   Ú_ciÚSpecialFunctions._ciM   rk   rA   c                 ó   • [         erC   rG   rP   s     r>   Ú_siÚSpecialFunctions._siN   rk   rA   c                 ó   • [         erC   rG   r_   s     r>   Ú_altzetaÚSpecialFunctions._altzetaO   s   € Ô 3Ð3rA   )r3   r#   r"   r'   r$   r-   r&   r0   r.   r(   r%   r*   r/   r)   r2   r,   r1   r+   r8   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   ÚTHETA_Q_LIMr?   Úclassmethodr    rM   rQ   rT   rY   r\   ra   rf   ri   rm   rp   rs   rv   Ú__static_attributes__© rA   r>   r   r      sV   † ñð Ðð
 €Kò(=ðV ñó ðò 7Ú/Ú0Ú>Ú9Ú0ÚTÚ.Ú.Ú.Ú.Ý3rA   r   c                 óD   • U S4[         R                  U R                  '   U $ )NT©r   r   rx   ©r<   s    r>   Údefun_wrappedr„   Q   s    € Ø56¸°WÔ×&Ñ& q§z¡zÑ2Ø€HrA   c                 óD   • U S4[         R                  U R                  '   U $ )NFr‚   rƒ   s    r>   Údefunr†   U   s    € Ø56¸°XÔ×&Ñ& q§z¡zÑ2Ø€HrA   c                 ó<   • [        [        U R                  U 5        U $ rC   )rD   r   rx   rƒ   s    r>   Údefun_staticrˆ   Y   s   € ÜÔ˜aŸj™j¨!Ô,Ø€HrA   c                 ó>   • U R                   U R                  U5      -  $ rC   )ÚoneÚtanrP   s     r>   ÚcotrŒ   ]   ó   € ØŸ™ #§'¡'¨!£*Ñ,Ð,rA   c                 ó>   • U R                   U R                  U5      -  $ rC   )rŠ   ÚcosrP   s     r>   Úsecr�   `   r�   rA   c                 ó>   • U R                   U R                  U5      -  $ rC   )rŠ   ÚsinrP   s     r>   Úcscr“   c   r�   rA   c                 ó>   • U R                   U R                  U5      -  $ rC   )rŠ   ÚtanhrP   s     r>   Úcothr–   f   ó   € ØŸ™ 3§8¡8¨A£;Ñ.Ð.rA   c                 ó>   • U R                   U R                  U5      -  $ rC   )rŠ   ÚcoshrP   s     r>   Úsechrš   i   r—   rA   c                 ó>   • U R                   U R                  U5      -  $ rC   )rŠ   ÚsinhrP   s     r>   Úcschr�   l   r—   rA   c                 ój   • U(       d  U R                   S-  $ U R                  U R                  U-  5      $ )Nç      à?)ÚpiÚatanrŠ   rP   s     r>   Úacotr¢   o   s*   € æØ�v‰v˜‰|Ðà�x‰x˜Ÿ™ !™Ó$Ð$rA   c                 ó>   • U R                  U R                  U-  5      $ rC   )ÚacosrŠ   rP   s     r>   Úasecr¥   v   ó   € ØŸ™ #§'¡'¨A¡+Ó.Ð.rA   c                 ó>   • U R                  U R                  U-  5      $ rC   )ÚasinrŠ   rP   s     r>   Úacscr©   y   r¦   rA   c                 ój   • U(       d  U R                   S-  $ U R                  U R                  U-  5      $ )Ny              à?)r    ÚatanhrŠ   rP   s     r>   Úacothr¬   |   s*   € æØ�v‰v˜‰}Ðà�y‰y˜Ÿ™ 1™Ó%Ð%rA   c                 ó>   • U R                  U R                  U-  5      $ rC   )ÚacoshrŠ   rP   s     r>   Úasechr¯   „   ó   € ØŸ)™) C§G¡G¨a¡KÓ0Ð0rA   c                 ó>   • U R                  U R                  U-  5      $ rC   )ÚasinhrŠ   rP   s     r>   Úacschr³   ‡   r°   rA   c                 óè   • U R                  U5      nU(       a  U R                  U5      (       a  U$ U R                  U5      (       a  US:”  a  U R                  $ U R                  * $ U[	        U5      -  $ )Nr
   )ÚconvertÚisnanÚ_is_real_typerŠ   Úabs©rJ   Úxs     r>   Úsignr»   Š   s]   € à�‰�A‹€AÞ�—	‘	˜!—‘ØˆØ
×Ñ˜×ÑØˆq‹5Ø—7‘7ˆNà—G‘G�8ˆOØŒs�1‹v‰:ÐrA   c                 ó–   • US:X  a  U R                  U5      $ U R                  U5      nU R                  U5      nU R                  X5      $ ©Nr   )Úagm1rµ   Ú_agm)rJ   rX   Úbs      r>   ÚagmrÁ   –   s?   € àˆAƒvØ�x‰x˜‹{ÐØ�‰�A‹€AØ�‰�A‹€AØ�8‰8�A‹>ÐrA   c                 óx   • U R                  U5      (       a  SU-  $ U(       d  US-   $ U R                  U5      U-  $ r½   )Úisinfr’   r¹   s     r>   ÚsincrÄ   ž   s6   € à
‡y�y�‡|�|Ø�‰sˆ
ÞØ�‰sˆ
Ø�7‰7�1‹:�a‰<ÐrA   c                 ó’   • U R                  U5      (       a  SU-  $ U(       d  US-   $ U R                  U5      U R                  U-  -  $ r½   )rÃ   Úsinpir    r¹   s     r>   ÚsincpirÇ   ¦   s?   € à
‡y�y�‡|�|Ø�‰sˆ
ÞØ�‰sˆ
Ø�9‰9�Q‹<˜Ÿ™ ™Ñ"Ð"rA   c                 ó°   ^ ^• T(       d  T R                   $ T R                  T5      T R                  * :  a  TSTS-  -  -   $ T R                  U U4S jS5      $ )NrŸ   r   c                  ó<   >• [        T R                  T5      S/5      $ ©Néÿÿÿÿ)ÚiterÚexpr¹   s   €€r>   Ú<lambda>Úexpm1.<locals>.<lambda>·   s   ø€ ¤d¨C¯G©G°A«J°r¨?Ô&;rA   r   )ÚzeroÚmagÚprecÚsum_accuratelyr¹   s   ``r>   Úexpm1rÔ   ¯   sK   ù€ æØ�x‰xˆà
‡w�wˆqƒz�S—X‘X�IÓØ�3�q˜!‘t‘8‰|Ðà×ÑÕ;¸AÓ>Ð>rA   c                 óØ   • U(       d  U R                   $ U R                  U5      U R                  * :  a  USUS-  -  -
  $ U R                  U R	                  SUSU R                  -  S95      $ )NrŸ   r   r   ©rÒ   )rÐ   rÑ   rÒ   ÚlogÚfaddr¹   s     r>   Úlog1prÙ   ¹   s\   € æØ�x‰xˆØ
‡w�wˆqƒz�S—X‘X�IÓØ�3�q˜!‘t‘8‰|ÐØ�7‰7�3—8‘8˜A˜q q¨¯©¡z�8Ð2Ó3Ð3rA   c                 ó|  ^^• U R                   nU R                  nTT-  U-
  nU" U5      nUS:”  a  U$ U(       d%  T(       a  TS;   a  U R                  T5      (       a  U$ TU-
  nU" T5      nU R                  T5      n	Xƒ" U	5      -   U R                  * :  a  U	T-  U	T-  S-  S-  -   $ U R                  UU4S jS5      $ )Niøÿÿÿ)r   rË   y              ð?y       €      ð¿r   c                  ó$   >• [        T T-  S/5      $ rÊ   )rÌ   )rº   Úys   €€r>   rÎ   Úpowm1.<locals>.<lambda>Õ   s   ø€ ¤d¨A¨q©D°"¨:Ô&6rA   r   )rÑ   rŠ   ÚisintÚlnrÒ   rÓ   )
rJ   rº   rÜ   rÑ   rŠ   ÚwÚMÚx1ÚmagyÚlnxs
    ``       r>   Úpowm1rå   Á   sº   ù€ à
�'‰'€CØ
�'‰'€CØ	ˆ1‰ˆs‰
€AÙˆA‹€Aàˆ2ƒvØˆæÞ�qÐ,Ó,°·±¸1·±ØˆHØ	
ˆS‰€BÙˆq‹6€DØ
�&‰&�‹)€Càˆc�#‹h�˜#Ÿ(™(˜Ó"Ø�1‰u˜˜A™ ‘z !‘|Ñ#Ð#à×ÑÕ6¸Ó:Ð:rA   c                 ó0  • [        U5      n[        U5      nX-  nU(       d  U R                  $ SU-  U:X  a  U R                  * $ SU-  U:X  a  U R                  $ SU-  SU-  :X  a  U R                  * $ U R                  SU R	                  U5      -  U-  5      $ )Nr   r   r   )ÚintrŠ   ÚjÚexpjpiÚmpf)rJ   ÚkrK   s      r>   Ú_rootof1rì   ×   sŠ   € äˆA‹€AÜˆA‹€AØ�F€AÞØ�w‰wˆØ	
ˆ1‰�‹Ø—‘ˆxˆØ	
ˆ1‰�‹Ø�u‰uˆØ	
ˆ1‰��!‘‹Ø—‘ˆvˆØ�:‰:�a˜Ÿ™ ›
‘l 1‘nÓ%Ð%rA   r
   c                 óÈ  • [        U5      nU R                  U5      nU(       a¤  US-  (       aK  SU-  US-
  :X  a?  U R                  U5      (       d)  U R                  U5      S:  a  U R	                  U* U5      * $ U R
                  n U =R
                  S-  sl        U R	                  XS5      U R                  X25      -  nX@l        U7$ U R                  X5      $ ! X@l        f = f)Nr   r   r
   é
   )rç   rµ   ÚimÚrer   rÒ   rì   Ú_nthroot)rJ   rº   rK   rë   rÒ   Úvs         r>   r   r   æ   s¼   € äˆA‹€AØ�‰�A‹€AÞà��E�a˜‘c˜Q˜q™S“j¨3¯6©6°!¯9©9¸3¿6¹6À!»9Àq»=Ø—H‘H˜a˜R “OÐ#Ð#à�x‰xˆð	Ø�HŠH˜‰N�HØ—‘˜˜qÓ! C§L¡L°Ó$6Ñ6ˆAàŒHØˆrˆ	Ø�<‰<˜ÓÐøð �Hús   Â9C ÃC!c                 ó”  • U R                   nU R                  n U =R                  S-  sl        U(       a8  [        U5       Vs/ s H!  oS" XQ5      S:X  d  M  U R                  XQ5      PM#     nnO)[        U5       Vs/ s H  oPR                  XQ5      PM     nnX@l        U Vs/ s H  ow7PM     sn$ s  snf s  snf ! X@l        f = fs  snf )Nrî   r   )Ú_gcdrÒ   Úrangerì   )rJ   rK   Ú	primitiveÚgcdrÒ   rë   rò   rº   s           r>   Ú	unitrootsrø   ø   s¦   € à
�(‰(€CØ�8‰8€DðØ�Š�B‰�ÞÜ,1°!¬HÓFªH q¸¸A»ÀA¹Ó"�—‘˜aÖ"©HˆAÐFˆAô -2°!¬HÓ5ªH q—‘˜aÖ"©HˆAÐ5àŒÙ‹?š�1‹B™‰?Ðùò Gùò 6øà�üÚs5   š)B: ÁB0ÁB0Á+B: Á;B5ÂB: Â!CÂ0
B: Â:Cc                 óŠ   • U R                  U5      nU R                  U5      nU R                  U5      nU R                  X25      $ rC   )rµ   Ú_reÚ_imÚatan2)rJ   rº   rð   rï   s       r>   r   r     s8   € à�‰�A‹€AØ	�‰�‹€BØ	�‰�‹€BØ�9‰9�RÓÐrA   c                 ó6   • [        U R                  U5      5      $ rC   )r¸   rµ   r¹   s     r>   Úfabsrþ     s   € äˆs�{‰{˜1‹~ÓÐrA   c                 ób   • U R                  U5      n[        US5      (       a  UR                  $ U$ )NÚreal)rµ   Úhasattrr   r¹   s     r>   rð   rð     s*   € à�‰�A‹€AÜˆq�&×ÑØ�v‰vˆØ€HrA   c                 óv   • U R                  U5      n[        US5      (       a  UR                  $ U R                  $ )NÚimag)rµ   r  r  rÐ   r¹   s     r>   rï   rï     s.   € à�‰�A‹€AÜˆq�&×ÑØ�v‰vˆØ�8‰8€OrA   c                 ój   • U R                  U5      n UR                  5       $ ! [         a    Us $ f = frC   )rµ   r   ÚAttributeErrorr¹   s     r>   r   r      s4   € à�‰�A‹€AðØ�{‰{‹}ÐøÜó ØŠðús   “# £2±2c                 óF   • U R                  U5      U R                  U5      4$ rC   )rþ   r   rP   s     r>   Úpolarr  (  s   € à�H‰H�Q‹K˜Ÿ™ ›Ð$Ð$rA   c                 óB   • XR                   " U R                  U5      6 -  $ rC   )ÚmpcÚcos_sin)rJ   ÚrÚphis      r>   Úrectr  ,  s   € à�wŠw˜Ÿ™ CÓ(Ð)Ñ)Ð)rA   Nc                 ó†   • Uc  U R                  U5      $ U R                  S-   nU R                  XS9U R                  X#S9-  $ )Né   rÖ   )rß   rÒ   )rJ   rº   rÀ   Úwps       r>   r×   r×   0  sC   € à�yØ�v‰v�a‹yÐØ	�‰�B‰€BØ�6‰6�!ˆ6Ð §¡ q Ð 2Ñ2Ð2rA   c                 ó&   • U R                  US5      $ )Nrî   )r×   r¹   s     r>   Úlog10r  7  s   € à�7‰7�1�b‹>ÐrA   c                 óH   • U R                  U5      U R                  U5      -  $ rC   )rµ   )rJ   rº   rÜ   s      r>   Úfmodr  ;  s   € à�;‰;�q‹>˜CŸK™K¨›NÑ*Ð*rA   c                 ó   • XR                   -  $ rC   ©Údegreer¹   s     r>   Údegreesr  ?  ó   € à�z‰z‰>ÐrA   c                 ó   • XR                   -  $ rC   r  r¹   s     r>   Úradiansr  C  r  rA   c                 ó>  • U(       d  U(       d  U$ U R                   U-   $ XR                  :X  a*  US:X  a  U$ USU-  U R                  -  U R                  -  -   $ XR                   :X  a&  U* SU-  S-   U R                  -  U R                  -  -   $ U R	                  U5      $ )Nr
   r   r   )ÚninfÚinfr    rè   rß   )rJ   rL   rë   s      r>   Ú_lambertw_specialr  G  s�   € æÞØˆHØ�x‰x˜!‰|ÐØ�G‰Gƒ|Ø�‹6ØˆHà�q˜‘s˜3Ÿ6™6‘z #§%¡%Ñ'Ñ'Ð'Ø�H‰Hƒ}Ø��q˜‘s˜1‘u˜cŸf™f‘n S§U¡UÑ*Ñ*Ð*à�6‰6�!‹9ÐrA   c                 ót  • Sn[        U S5      (       a<  [        U R                  5      nU R                  nU(       a  SUS:  -  n[        U5      nO[        U 5      nSnSnU(       d  Sn[	        X45      n US:X  Ga0  SUs=:  a  S:  a»  O  O¸SUs=:  a  S:  a«  O  O¨U(       aD  US	:”  a  S
SU S-
  -  -   $ US:”  a  SSU S-
  -  -   $ US:  a  SSU S-
  -  -   $ US:  a  SSU S-
  -  -   $ US:  a  US:¼  a  SSU S-   -  -   $ SSU S-   -  -   $ SnU(       d  X5:”  a  Un US:  a  SS X-
  S!-  -  -   S"X-
  -  -
  $ US!:  a  U $ S#S$U -  -   $ U(       d4  US:”  a.  [
        R                  " U5      n[
        R                  " U5      nGO"[        R                  " U 5      n[        R                  " U5      nOõUS:X  aï  SnU(       d  XSs=:  a  S:  a  O  OUn US:¼  a+  US%:  a%  S&Us=:  a  S:  a  O  OSS X-
  S!-  -  -
  S"X-
  -  -
  $ U(       dA  SUs=::  a  S:  a4  O  O1[
        R                  " U* 5      nU[
        R                  " U* 5      -
  $ US:X  a'  U(       d   US:  a  [        R                  " U 5      S'-
  nO[        R                  " U 5      S(-
  n[        R                  " U5      nWW-
  Xv-  -   XwS)-
  -  S)US)-  -  -  -   $ )*Nr
   r  rË   g        g      Àg      @g      ð¿g      @ç      ð?yÕxé&1ì?¤p=
×£ä?yh‘í|?5¾?ƒÀÊ¡EÆ¿y      è?      @g      Ð?y)\�Âõ(à?é&1¬Ê?y      Ø?L7‰A`åÀ¿y      è?      à?yÕxé&1ì?¤p=
×£ä¿yh‘í|?5¾?ƒÀÊ¡EÆ?y      è?      Àg      Ð¿y)\�Âõ(à?é&1¬Ê¿y      Ø?L7‰A`åÀ?y      è?      à¿g      à¿y'1¬ZÔ¿q=
×£põ?yçû©ñÒMæ¿`åÐ"Ûùâ¿r   y'1¬ZÔ¿q=
×£põ¿yçû©ñÒMæ¿`åÐ"Ûùâ?g2ï,6V‹×¿gš™™™™™É¿gµÿ¶õ4§@rŸ   g}tp¹¸þü?gš™™™™™É?g333333Ó?gš™™™™™¹?g333333ã¿y        -DTû!	@y        -DTû!@r   )r  Úfloatr   r  ÚcomplexÚmathr×   Úcmath)rL   rë   Ú	imag_signrº   rÜ   r  ÚL1ÚL2s           r>   Ú_lambertw_approx_hybridr)  Z  s¦  € Ø€IÜˆq�&×ÑÜ�!—&‘&‹MˆØ�F‰FˆÞØ  Q¡™ˆIÜ�!‹H‰ä�!‹HˆØˆØˆ	æØˆÜ�‹€AØˆA„vØ�!�>�cŽ>˜d Q�n¨žnÞà�t“8 \°lÀQÈ	Á]Ñ5SÑ$SÐSØ�t“8 \°lÀQÈ	Á]Ñ5SÑ$SÐSØ�u“9 l°|ÀaÈÁmÑ6TÑ%TÐTØ�u“9 l°|ÀaÈÁmÑ6TÑ%TÐTà�4‹xØ “>Ø(¨]¸Q¸q¹SÑ,AÑAÐAà(¨]¸Q¸q¹SÑ,AÑAÐAà"ˆAÞ 1£5Ø�à�4‹xØÐ,¨a©c°C©ZÑ7Ñ7Ð:JÈAÉCÑ:PÑPÐPà�3‹w˜q˜à˜˜Q™‘;ÐÞ˜q 3›wÜ—’˜!“ˆB¤4§8¢8¨B£<šbä—’˜1“ˆB¤E§I¢I¨b£M™rØ	
ˆb‹àˆÞ˜q�{ sž{ØˆAØ˜‹N  C£¨D°1­O°t®OØÐ(¨!©#°©Ñ3Ñ3Ð6FÈÉÑ6LÑLÐLÞ˜t q�¨3žÜ—’˜1˜"“ˆBØœŸš " ›Ñ%Ð%à˜B‹®¨q°3«wÜ—Y’Y˜q“\Ð$7Ñ7‘ä—Y’Y˜q“\Ð$7Ñ7�Ü—’˜2“ˆBØ�‰7�R‘U‰?˜R A¡™Y¨¨"¨a©%©Ñ0Ñ0Ð0rA   c                 ó€  ^ ^^^• T R                  T5      nSUs=:  a  S:  Ga.  O  GO*SUs=:  a  S:  Ga  O  GOUS:  Ga÷  [        TS-   5      S:  Gaä  US:X  d8  US	:X  a  T R                  T5      S:¼  d  US:X  Ga¼  T R                  T5      S:  Ga¦  T R                  U U4S
 j5      nT R                  U5      * nT =R                  U-  sl        T R                  ST R                  T-  S-   -  5      nT =R                  U-  sl        T R                  S	5      T R                  S5      S.mT R                  S5      T R                  S	5      S.nUS:w  a  U* nT R                  n	[        [        SU5      5       H   mTT;  ag  T R                  UU4S j[        ST5       5       5      UT'   TS-
  TTS-
     S-  UTS-
     S-  -   -  TS-   -  UT   S-  -
  TTS-
     TS-   -  -
  TT'   TT   UT-  -  n
Xš-  n	T R                  U
5      U* :  a  U	S4s  $ TS-  mM¢     T =R                  US-  -  sl        U	S4$ US:X  d  US	:X  a  [        TU5      S4$ US:X  a3  US	:  a
  TST-
  -  S4$ T R                  T5      nT R                  U5      nO™US	:X  a^  T R                  T5      (       dH  ST R                  T5      s=:  a  S:  a,  O  O)T R                  T* 5      nUT R                  U* 5      -
  S4$ T R                  T5      ST R                  -  U-  -   nT R                  U5      nX¼-
  XË-  -   XÌS-
  -  SUS-  -  -  -   S4$ )z“
Return rough approximation for W_k(z) from an asymptotic series,
sufficiently accurate for the Halley iteration to converge to
the correct value.
iöÿÿÿi„  iüÿÿiè  r   gï,6V‹×?gš™™™™™©?r
   rË   c                  ó*   >• TT R                  S5      /$ rÊ   )rÍ   rP   s   €€r>   rÎ   Ú"_lambertw_series.<locals>.<lambda>¥  s   ø€ °A°s·w±w¸r³{Ñ3CrA   r   r	   c              3   óF   >#   • U  H  nTU   TTS -   U-
     -  v •  M     g7f)r   Nr€   )Ú.0rè   ÚlÚus     €€r>   Ú	<genexpr>Ú#_lambertw_series.<locals>.<genexpr>µ  s%   øé € Ð'Kº{¸!¨¨!©¨Q¨q°©s°1©u©X®º{ùs   ƒ!r   TFgï,6V‹×¿y               @)rÑ   r¸   rû   rÓ   rÒ   ÚsqrtÚerê   rÐ   r   ÚmaxÚfsumr)  rß   rú   r    )rJ   rL   rë   ÚtolÚmagzÚdeltaÚcancellationÚprX   r`   Útermr'  r(  r/  r0  s   ``           @@r>   Ú_lambertw_seriesr=  ™  s  û€ ð �7‰7�1‹:€DØˆdÕ�S×Ð˜u qÕ/¨4×/Ð/à�!Œ8œ˜AÐ.Ñ.Ó/°$Ô6Ø�A‹v˜!˜r›' c§g¡g¨a£j°A£oØ˜qœ& c§g¡g¨a£j°1¤nØ×*Ñ*Õ+CÓD�Ø #§¡¨£˜�Ø—’˜LÑ(•à—H‘H˜Q §¡ a¡¨¡	™]Ó+�Ø—’˜LÑ(•Ø—w‘w˜r“{ c§g¡g¨a£jÑ1�Ø—w‘w˜q“z S§W¡W¨R£[Ñ1�Ø˜“6Ø˜�AØ—H‘H�ô  ¤ A lÓ 3Ö4�AØ “zØ"Ÿx™xÕ'K¼vÀaÈ¼{Ó'KÓK˜˜!™Ø ! !¡ a¨¨!©¡f¨Q¡h¨q°°1±©v°a©xÑ&7Ñ8¸!¸A¹#Ñ>¸qÀ¹tÀA¹vÑEÀaÈÈ!ÉÁfÈaÐPQÉcÁlÑR˜˜!™Ø˜Q™4 ! Q¡$™;�DØ‘I�AØ—w‘w˜t“}¨ tÓ+Ø  $˜wšØ˜‘F’Añ 5ð —’˜L¨!™OÑ+•Ø˜%�x�Ø�‹6�Q˜"“WÜ*¨1¨aÓ0°%Ð7Ð7ØˆAƒvØ�"‹9Ø�a˜‘c‘7˜E�>Ð!Ø�V‰V�A‹YˆØ�V‰V�B‹Z‰Ø	
ˆb‹˜#Ÿ'™' !Ÿ*™*Ð+<¸s¿w¹wÀq»zÕ+MÈAÖ+MØ�V‰V�Q�B‹ZˆØ�C—F‘F˜B˜3“KÑ Ð&Ð&ð �V‰V�A‹Y˜˜CŸF™F™ 1™Ñ$ˆØ�V‰V�B‹ZˆØ‰7�R‘U‰?˜R A¡™Y¨¨"¨a©%©Ñ0Ñ0°%Ð7Ð7rA   c                 ó�  • U R                  U5      n[        U5      nU R                  U5      (       d  [        XU5      $ U R                  nU =R                  SU R                  U=(       d    S5      -   -  sl        U R                  nUS-
  n[        XX%5      u  pgU(       dž  U R                  S5      n[        S5       Hd  n	U R                  U5      n
Xj-  nX±-
  nXlXº-   Xh-   U-  X†-  U-   -  -
  -  -
  nU R                  XÖ-
  5      U R                  U5      U-
  ::  a  Un  OUnMf     W	S:X  a  U R                  SU-  5        X0l        U7$ )Nr  r   r   r   éd   z1Lambert W iteration failed to converge for z = %s)rµ   rç   Úisnormalr  rÒ   rÑ   r=  rê   r   rÍ   Úwarn)rJ   rL   rë   rÒ   r  r7  rà   ÚdoneÚtwoÚiÚewÚwewÚwewzÚwns                 r>   ÚlambertwrI  Ï  s+  € à�‰�A‹€AÜˆA‹€AØ�<‰<˜�?‰?Ü  ¨Ó+Ð+Ø�8‰8€DØ‡H‚H��S—W‘W˜QŸV !“_Ñ$Ñ$…HØ	�‰€BØ
ˆq‰&€CÜ˜s qÓ.�G€AÞà�g‰g�a‹jˆÜ˜–ˆAØ—‘˜“ˆBØ‘$ˆCØ‘5ˆDØ˜3™6 1¡5¨$¡,°±°c±	Ñ":Ñ:Ñ;Ñ;ˆBØ�w‰w�r‘t‹} §¡¨£¨cÑ 1Ó1Ø�Ùà’ñ ð �‹8Ø�H‰HÐHÈ1ÑLÔMØ„HØˆ2€IrA   c                 óÒ  • U R                  U5      nU(       d)  U R                  U5      (       a  U$ [        U5      " S5      $ U R                  U5      (       dB  U R                  U5      (       d,  U R                  U5      (       d  U R                  U5      (       a  X!-  $ US:X  a  U$ US:X  a  X"S-   -  $ US:X  a  U R	                  U5      $ [        XUS5      U R                  U5      -  $ )Nr   r   r
   T)rµ   r¶   ÚtyperÃ   rÇ   Ú_polyexprÍ   )rJ   rK   rº   s      r>   ÚbellrM  ì  s¶   € à�‰�A‹€AÞØ�9‰9�Q�<‰<ØˆHÜ�AŒw�q‹zÐØ
‡y�y�‡|�|�s—y‘y —|‘| s§y¡y°§|¡|°s·y±yÀ·|±|Ø‰tˆØˆAƒv�aˆxØˆAƒv�a˜1™‘gˆ~ØˆAƒv�c—j‘j “mÐ#Ü�C˜A˜tÓ$ s§w¡w¨q£zÑ1Ð1rA   c                 ó<   ^ ^^^• U UUU4S jnT R                  USS9$ )Nc               3   ó|   >#   • T(       a  TR                  T5      v •  Tn Sn UT-  U -  v •  US-  nU T-  U-  n M  7fr½   )rÇ   )Útrë   rJ   ÚextrarK   rº   s     €€€€r>   Ú_termsÚ_polyexp.<locals>._termsû  sL   øé € ÞØ—*‘*˜Q“-ÒØˆØˆØØ�Q‘$˜‘(ŠNØ�‰FˆAØ�!‘�A‘ˆAñ ùs   ƒ9<r   )Ú
check_step)rÓ   )rJ   rK   rº   rQ  rR  s   ```` r>   rL  rL  ú  s%   û€ ÷ð ð ×Ñ˜f°ÐÐ3Ð3rA   c                 óˆ  • U R                  U5      (       dB  U R                  U5      (       d,  U R                  U5      (       d  U R                  U5      (       a  X!-  $ US:X  a  X!-  $ US:X  a  U R                  U5      $ US:X  a  U R                  U5      U-  $ US:X  a  U R                  U5      U-  US-   -  $ [	        XU5      $ )Nr
   r   r   )rÃ   r¶   rÔ   rÍ   rL  )rJ   r`   rL   s      r>   ÚpolyexprV    s¡   € à
‡y�y�‡|�|�s—y‘y —|‘| s§y¡y°§|¡|°s·y±yÀ·|±|Ø‰tˆØˆAƒv�a‘cˆzØˆAƒv�c—i‘i “lÐ"ØˆAƒv�c—g‘g˜a“j ‘lÐ"ØˆAƒv�c—g‘g˜a“j ‘l A a¡CÑ(Ð(Ü�C˜AÓÐrA   c                 óÄ  • [        U5      nUS:  a  [        S5      eU R                  nUS:X  a  U$ US:X  a  X#-
  $ US:X  a  X#-   $ SnSnSnSn[        SUS-   5       He  nX-  (       a  M  U R	                  X-  5      n	U R                  X(5      * n
U
(       a	  X:U	-  -  nMC  U	S:X  a  XH-  nUS-  nMT  U	S:X  d  M\  XX-  nUS-  nMg     U(       a  Xg:”  a  US-  nU$ X4-  nX5-  nU$ )Nr
   zn cannot be negativer   r   rË   )rç   Ú
ValueErrorrŠ   rõ   Úmoebiusrå   )rJ   rK   rL   r;  Úa_prodÚb_prodÚ	num_zerosÚ	num_polesÚdrà   rÀ   s              r>   Ú
cyclotomicr_    s  € äˆA‹€AØˆ1ƒuÜÐ/Ó0Ð0Ø�‰€AØˆAƒvØˆØˆAƒvØ‰uˆØˆAƒvØ‰uˆð €FØ€FØ€IØ€IÜ�1�Q�q‘SŽ\ˆØ�u‰uØ—‘˜A™DÓ!ˆAð —‘˜1“Ð ˆAÞØ˜‘T‘	’à˜“6Ø‘K�FØ ‘N’IØ˜"•WØ‘K�FØ ‘N’Iñ ö  ØÓ Ø�‰FˆAð €Hð ‰KˆAØ‰KˆAØ€HrA   c                 ón  • [        U5      nUS:  a  U R                  $ US-  S:X  a$  XS-
  -  S:X  a  U R                  7$ U R                  $ S HT  nX-  (       a  M  X-  SpCUS:”  a*  [        X25      u  p4U(       a  U R                  s  $ US:”  a  M*  U R	                  U5      s  $    U R                  U5      (       a  U R	                  U5      $ US:”  a  [        eSn [        USU-  -  S-   5      nUS:  a  U R                  $ X%-  U:X  a'  U R                  U5      (       a  U R	                  U5      $ US-  nM\  )aO  
Evaluates the von Mangoldt function `\Lambda(n) = \log p`
if `n = p^k` a power of a prime, and `\Lambda(n) = 0` otherwise.

**Examples**

    >>> from mpmath import *
    >>> mp.dps = 25; mp.pretty = True
    >>> [mangoldt(n) for n in range(-2,3)]
    [0.0, 0.0, 0.0, 0.0, 0.6931471805599453094172321]
    >>> mangoldt(6)
    0.0
    >>> mangoldt(7)
    1.945910149055313305105353
    >>> mangoldt(8)
    0.6931471805599453094172321
    >>> fsum(mangoldt(n) for n in range(101))
    94.04531122935739224600493
    >>> fsum(mangoldt(n) for n in range(10001))
    10013.39669326311478372032

r   r
   r   )
r   r   r   é   é   é   é   é   é   é   l       ©7§3M“e'r!  rŸ   )rç   rÐ   Úln2Údivmodrß   ÚisprimerH   )rJ   rK   r;  Úqr  rë   s         r>   Úmangoldtrl  ;  s&  € ô0 	ˆA‹€AØˆ1ƒuØ�x‰xˆØˆ1�u�ƒzà�!‘‰9˜‹>Ø—G‘G�8ˆOà—8‘8ˆOó
 *ˆØ�u‰uØ‘6˜1ˆqØ�a“%Ü˜a“|‘�ÞØŸ8™8’Oð �a•%ð —6‘6˜!“9Òñ *ð ‡{�{�1‡~�~Ø�v‰v�a‹yÐàˆ6ƒzÜ!Ð!Ø	€AØ
Ü��B�q‘D‘	˜C‘Ó ˆØˆq‹5Ø—8‘8ˆOØ‰6�Q‹;Ø�{‰{˜1�~‰~Ø—v‘v˜a“yÐ Ø	ˆQ‰ˆñ rA   c                 ó�   • U R                  [        U5      [        U5      5      nU(       a  [        U5      $ U R                  U5      $ rC   )Ú
_stirling1rç   rê   ©rJ   rK   rë   Úexactrò   s        r>   Ú	stirling1rq  w  ó4   € à�‰”s˜1“vœs 1›vÓ&€AÞÜ�1‹vˆà�w‰w�q‹zÐrA   c                 ó�   • U R                  [        U5      [        U5      5      nU(       a  [        U5      $ U R                  U5      $ rC   )Ú
_stirling2rç   rê   ro  s        r>   Ú	stirling2ru    rr  rA   )r   )r
   )FrC   )6Úlibmp.backendr   Úobjectr   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   rþ   rð   rï   r   r  r  r×   r  r  r  r  r  r$  r%  r)  r=  rI  rM  rL  rV  r_  rl  rq  ru  r€   rA   r>   Ú<module>rx     s>  ðÝ "ôL4�vô L4ò\òòð Ù ,ó Ø ,àÙ ,ó Ø ,àÙ ,ó Ø ,àÙ .ó Ø .àÙ .ó Ø .àÙ .ó Ø .àñ%ó ð%ð Ù .ó Ø .àÙ .ó Ø .àñ&ó ð&ð Ù 0ó Ø 0àÙ 0ó Ø 0àñ	ó ð	ð óó ðð ñó ðð ñ#ó ð#ð ñ?ó ð?ð ñ4ó ð4ð ñ;ó ð;ð* ñ&ó ð&ð óó ðð" óó ðð ñó ðð ñó ðð ñó ðð ñó ðð ñó ðð ñ%ó ð%ð ñ*ó ð*ð ó3ó ð3ð ñó ðð ñ+ó ð+ð ñó ðð ñó ðòó  Û ò=1ò~48ðl óó ðð8 ó2ó ð2ô
4ð ñó ðð ñ(ó ð(ðT ñ9ó ð9ðv óó ðð óó ñrA   