§
    fŠtj©  ã                   ó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 )zŠCompute 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     ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/special/_precompute/lambertw.pyú
<listcomp>z!lambertw_pade.<locals>.<listcomp>   s+   € ÐEÐEÐE°q�fŒk�&œ/¨1°Ð2Ñ2Ô2ÐEÐEÐEó    é   é   é   )Úranger   Úpade)ÚderivsÚpÚqs      r
   Úlambertw_pader      s;   € ØEÐE½EÀ!¹H¼HÐEÑEÔE€FÝŒ;�v˜q !Ñ$Ô$�D€A€qØˆaˆ4€Kr   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 )Né2   éÿÿÿÿ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–  € Ý	�'�N„N€NÝ	Œ˜Ñ	Ô	ð ð Ý‰Œ‰ˆˆ1Ø���2�Œw˜˜$˜$˜B˜$œˆ1ˆÝˆj�QˆjˆjÑÔÐÝˆj�QˆjˆjÑÔÐð	ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ Œ;�t˜S "Ñ%Ô%¥r¤{°4¸¸bÑ'AÔ'A€q€AÝŒ;�q˜!ÑÔ�D€A€qØ	ˆBˆq‰D‰€AØ€LØ�iŠi‰kŒkð :ð :ˆØ×Ò�G¥F¤O°BÑ$7Ô$7Ñ8Ô8Ñ9Ô9Ð9Ð9Ý”8˜LÑ)Ô)×1Ò1°!´'Ñ:Ô:€Lå” 1¨AÐ.Ñ.Ô.�I€Cˆå
ŒÐ(Ð( aÐ(Ñ(Ô(Ñ)Ô)€AÝ
ŒÐ(Ð( aÐ(Ñ(Ô(Ñ)Ô)€AÝ”*˜Q Ñ"Ô"¥2¤:¨a°Ñ#3Ô#3Ñ3€KÝ�; Ñ-Ñ.Ô.€HØˆ„G×Ò�q˜!˜XÑ&Ô&Ð&å”˜‘”�RœV¥B¤F¨1¡I¤IÑ.Ô.Ñ.€JÝ�*˜|Ñ+Ñ,Ô,€GØˆ„G×Ò�q˜!˜WÑ%Ô%Ð%õ 	Œ�•2”6˜!‘9”9˜Q‘; ‘?Ñ#Ñ$Ô$€AØ˜‘F˜Q ™T !™V‘O€MÝ�] \Ñ1Ñ2Ô2€JØ	ˆaŒ×	Ò	˜A˜q *Ñ	-Ô	-€Bà‡L‚L�˜Ÿ
š
™œ×+Ò+Ñ-Ô-€LÑ.Ô.Ð.Ý„H�J„J€JåŒl ¨!Ð,Ñ,Ô,�G€CˆØ˜WÒ$€KØ	�Š�q˜!˜[Ñ	)Ô	)€BÝ
Œ�D˜#ÑÔ€AØ‡G‚GˆD•�Q‘”‰K˜#Ñ˜q #Ñ&Ô&Ð&Ø‡L‚L�˜€LÑÔÐÝ„H�J„J€J€J€Js   ©ABÂBÂBÚ__main__)r(   Únumpyr*   r   Úmatplotlib.pyplotÚpyplotr3   ÚImportErrorr   rP   Ú__name__r   r   r
   ú<module>rW      s£   ððð ð
 Ð Ð Ð ð	Ø€M€M€MØ#Ð#Ð#Ð#Ð#Ð#Ð#øØð 	ð 	ð 	Ø€Dð	øøøðð ð ð+ð +ð +ð\ ˆzÒÐØ€D�F„F€F€F€Fð Ðs   ˆ
 “š