
    h                     f    S r SSKr SSKrSSKJr  S rS r	\
S:X  a  \	" 5         gg! \ a     Nf = f)zCompute a Pade approximation for the principal branch of the
Lambert W function around 0 and compare it to various other
approximations.

    Nc            	          [        S5       V s/ sH'  n [        R                  " [        R                  SU S9PM)     nn [        R                  " USS5      u  p#X#4$ s  sn f )N   r   )n      )rangempmathdifflambertwpade)r   derivspqs       Z/var/www/html/shao/venv/lib/python3.13/site-packages/scipy/special/_precompute/lambertw.pylambertw_pader      sL    <A!HEHqfkk&//12HFE;;vq!$DA4K Fs   -Ac                  >   [        [        5        [        R                  " S5         [	        5       u  pU S S S2   US S S2   p[        SU  35        [        SU 35        S S S 5        [
        R                  " SSS5      [
        R                  " SSS5      p2[
        R                  " X#5      u  p#USU-  -   n/ nUR                  5        H1  nUR                  [        [        R                  " U5      5      5        M3     [
        R                  " U5      R                  UR                  5      n[        R                   " S	S
S9u  px[
        R                  " W  V	s/ sH  n	[#        U	5      PM     sn	5      n [
        R                  " W V
s/ sH  n
[#        U
5      PM     sn
5      n[
        R$                  " X5      [
        R$                  " X5      -  n['        X-
  5      nUS   R)                  X#U5        [
        R*                  " U5      [
        R*                  " [
        R*                  " U5      5      -
  n['        X-
  5      nUS
   R)                  X#U5        [
        R,                  " S[
        R.                  " S
5      U-  S
-   -  5      n SU -   U S-  S	-  -
  n['        X-
  5      nUS   R)                  X#U5      nUR1                  UUR3                  5       R5                  5       S9  [        R6                  " 5         [        R                   " S
S
S9u  nnX:  nUR)                  X#U5      n[
        R                  " SS5      nUR9                  S['        U5      -  S-
  US5        UR1                  UUS9  [        R6                  " 5         g ! , (       d  f       GN,= fs  sn	f s  sn
f )N2   zp = zq = g      g      ?K   y              ?r      )nrowsncolsr   r   )axg333333ӿg333333?g      g?r)print__doc__r	   workdpsr   nplinspacemeshgridflattenappendcomplexr   arrayreshapeshapepltsubplotsfloatpolyvalabs
pcolormeshlogsqrtexpcolorbarraveltolistshowplot)r   r   xyzlambertw_stdz0figaxesp0q0pade_approxpade_err
asy_approxasy_errseries_approx
series_errimr   pade_betterts                        r   mainrG      s   	'N		2w$B$1QCjQCj	 
 ;;tS"%r{{4b'Aq;;qDA	BqDALiikGFOOB$789 88L)11!'':L1A.IC
a(a%)a()A
a(a%)a()A**Q"2::a#33K;-.HGqX&RVVBFF1I..J*+,GGqW% 	266!9Q;?#$AFQT!VOM]12J	a		A*	-BLL

++-L.HHJll!,GC$K	q[	)B
D#AGGDQK#q#&LLLHHJS 
	  )(s   8NNN
N__main__)r   numpyr   r	   matplotlib.pyplotpyplotr'   ImportErrorr   rG   __name__     r   <module>rP      sN   
 	#
+\ zF q  		s   
' 00