
    ^Mh                     p    d Z ddlZ	 ddlZddlmZ n# e$ r Y nw xY wd Zd Z	e
dk    r e	             dS dS )zCompute a Pade approximation for the principal branch of the
Lambert W function around 0 and compare it to various other
approximations.

    Nc                  n    d t          d          D             } t          j        | dd          \  }}||fS )Nc                 P    g | ]#}t          j        t           j        d |          $S )r   )n)mpmathdifflambertw).0r   s     b/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/special/_precompute/lambertw.py
<listcomp>z!lambertw_pade.<locals>.<listcomp>   s+    EEEqfk&/1222EEE             )ranger   pade)derivspqs      r
   lambertw_pader      s;    EEE!HHEEEF;vq!$$DAqa4Kr   c                     t          t                     t          j        d          5  t	                      \  } }| d d d         |d d d         }} t          d|             t          d|            d d d            n# 1 swxY w Y   t          j        ddd          t          j        ddd          }}t          j        ||          \  }}|d|z  z   }g }|                                D ]6}|	                    t          t          j        |                               7t          j        |                              |j                  }t          j        d	d
          \  }}t          j        d | D                       } t          j        d |D                       }t          j        | |          t          j        ||          z  }	t%          |	|z
            }
|d                             |||
           t          j        |          t          j        t          j        |                    z
  }t%          ||z
            }|d
                             |||           t          j        dt          j        d
          |z  d
z   z            } d| z   | dz  d	z  z
  }t%          ||z
            }|d                             |||          }|                    ||                                                                           t          j                     t          j        d
d
          \  }}|
|k     }|                    |||          }t          j        dd          }|                    dt%          |          z  dz
  |d           |                    ||           t          j                     d S )N2   zp = zq = g      g      ?K   y              ?r      )nrowsncolsc                 ,    g | ]}t          |          S  float)r	   p0s     r
   r   zmain.<locals>.<listcomp>'       (((%))(((r   c                 ,    g | ]}t          |          S r   r   )r	   q0s     r
   r   zmain.<locals>.<listcomp>(   r"   r   r   r   )axg333333ӿg333333?g      g?r)print__doc__r   workdpsr   nplinspacemeshgridflattenappendcomplexr   arrayreshapeshapepltsubplotspolyvalabs
pcolormeshlogsqrtexpcolorbarraveltolistshowplot)r   r   xyzlambertw_stdz0figaxespade_approxpade_err
asy_approxasy_errseries_approx
series_errimr%   pade_betterts                      r
   mainrP      s   	'NNN			  12w$$B$1jQjjjQjj	               ;tS"%%r{4b'A'AqA;q!DAq	BqDALiikk : :GFOB$7$78899998L))11!'::L1A...IC
((a((())A
((a((())A*Q""2:a#3#33K;-..HGq!X&&&RVBF1II...J*|+,,GGq!W%%% 	26!99Q;?#$$AFQT!VOM]\122J	a		Aq*	-	-BLL

++--L...HJJJl!,,,GCW$K	q![	)	)B
D#AGGDQK#q#&&&LLLHJJJJJs   ABBB__main__)r(   numpyr*   r   matplotlib.pyplotpyplotr3   ImportErrorr   rP   __name__r   r   r
   <module>rW      s    
    	MMM####### 	 	 	D	  + + +\ zDFFFFF s   
 