Ë
    7^(hm  ã                   óV   — d dl mZ d dlmZ d dlmZ d dlmZ e ed«      dfd„«       Zy)	é    )ÚS)ÚSymbol)Úlcm)ÚpublicÚxFc              #   ó°  ‡‡K  — ddl m} ddlm} t        j
                  gt        j                  g}}t        j                  gt        j
                  g}}t        | «      �rtd}	| |	   dk(  r|	dz  }	|	t        | «      k(  ry| |	   dk(  rŒt        j
                  | |	   z  g}
t        |	dz   t        | «      «      D ]C  }d}t        |	|«      D ]  }|| |dz      |
|	|z
  dz
     z  z  }Œ |
j                  || |	   z  «       ŒE |
} | d   dc}| d<   dgt        t        |«      |	t        |«      z   «      z  }dgt        t        |«      |	t        |«      z   «      z  }t        t        |«      «      D ]  }|||   z  ||<   Œ t        |	|	t        |«      z   «      D ]  }||xx   |||	z
     z  cc<   Œ t        t        |«      «      D ]  }|||   z  ||<   Œ t        |	|	t        |«      z   «      D ]  }||xx   |||	z
     z  cc<   Œ |d   dk(  r|j                  «        |d   dk(  rŒ|d   dk(  r|j                  «        |d   dk(  rŒ||}}||}}dŠ|D ]  }t        ‰ ||«      «      ŠŒ |D ]  }t        ‰ ||«      «      ŠŒ t        ˆˆfd„t        |«      D «       «      t        ˆˆfd„t        |«      D «       «      z  }|r ||«      –— n|–— t        | «      r�Œty­w)	a  
    Return a generator for consecutive Pade approximants for a series.
    It can also be used for computing the rational generating function of a
    series when possible, since the last approximant returned by the generator
    will be the generating function (if any).

    Explanation
    ===========

    The input list can contain more complex expressions than integer or rational
    numbers; symbols may also be involved in the computation. An example below
    show how to compute the generating function of the whole Pascal triangle.

    The generator can be asked to apply the sympy.simplify function on each
    generated term, which will make the computation slower; however it may be
    useful when symbols are involved in the expressions.

    Examples
    ========

    >>> from sympy.series import approximants
    >>> from sympy import lucas, fibonacci, symbols, binomial
    >>> g = [lucas(k) for k in range(16)]
    >>> [e for e in approximants(g)]
    [2, -4/(x - 2), (5*x - 2)/(3*x - 1), (x - 2)/(x**2 + x - 1)]

    >>> h = [fibonacci(k) for k in range(16)]
    >>> [e for e in approximants(h)]
    [x, -x/(x - 1), (x**2 - x)/(2*x - 1), -x/(x**2 + x - 1)]

    >>> x, t = symbols("x,t")
    >>> p=[sum(binomial(k,i)*x**i for i in range(k+1)) for k in range(16)]
    >>> y = approximants(p, t)
    >>> for k in range(3): print(next(y))
    1
    (x + 1)/((-x - 1)*(t*(x + 1) + (x + 1)/(-x - 1)))
    nan

    >>> y = approximants(p, t, simplify=True)
    >>> for k in range(3): print(next(y))
    1
    -1/(t*(x + 1) - 1)
    nan

    See Also
    ========

    sympy.concrete.guess.guess_generating_function_rational
    mpmath.pade
    r   )Úsimplify)Údenomé   Néÿÿÿÿc              3   ó:   •K  — | ]  \  }}‰|z  ‰|z  z  –— Œ y ­w©N© ©Ú.0ÚkÚeÚXÚcs      €€úW/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/series/approximants.pyú	<genexpr>zapproximants.<locals>.<genexpr>a   ó!   øè ø€ Ò6¡  A�A�a‘C˜˜1™•HÑ6ùó   ƒc              3   ó:   •K  — | ]  \  }}‰|z  ‰|z  z  –— Œ y ­wr   r   r   s      €€r   r   zapproximants.<locals>.<genexpr>b   r   r   )Úsympy.simplifyr	   Úsympy.simplify.radsimpr
   r   ÚOneÚZeroÚlenÚrangeÚappendÚmaxÚpopr   ÚsumÚ	enumerate)Úlr   r	   Úsimpr
   Úp1Úq1Úp2Úq2ÚbÚmr   ÚsÚjÚaÚpÚqr   Úoutr   s    `                 @r   Úapproximantsr4      så  ùè ø€ õh 0Ý,Ü�e‰eˆW”q—v‘v�hˆ€BÜ�f‰fˆXœŸ™�wˆ€BÜ
ˆa�&ØˆØ�‰d�AŠgØ�‰FˆAØ”C˜“FŠ{Øð �‰d�A‹gô �U‰U�1�Q‘4‰ZˆLˆÜ�q˜‘sœC ›FÓ#ò 	ˆAØˆAÜ˜1˜a“[ò '�Ø�Q�q˜‘s‘V˜a  !¡ A¡™hÑ&Ñ&‘ð'à�H‰H�Q�q˜‘t‘VÕð		ð
 ˆØ�A‘$˜ˆˆˆ1ˆQ‰4ØˆC”#”c˜"“g˜q¤ R£™yÓ)Ñ)ˆØˆC”#”c˜"“g˜q¤ R£™yÓ)Ñ)ˆÜ”s˜2“w“ò 	ˆAØ�R˜‘U‘7ˆAˆaŠDð	ä�q˜!œC ›G™)Ó$ò 	ˆAØˆa‹D�B�q˜‘s‘G‰OŒDð	ä”s˜2“w“ò 	ˆAØ�R˜‘U‘7ˆAˆaŠDð	ä�q˜!œC ›G™)Ó$ò 	ˆAØˆa‹D�B�q˜‘s‘G‰OŒDð	à�‰e�QŠh˜Ÿ™œˆa�‰e�Q‹hØ�‰e�QŠh˜Ÿ™œˆa�‰e�Q‹hØ�QˆBˆØ�QˆBˆð ˆØò 	!ˆAÜ�A‘u˜Q“xÓ ‰Að	!àò 	!ˆAÜ�A‘u˜Q“xÓ ‰Að	!äÔ6¬°1«Ô6Ó6ÜÔ6¬°1«Ô6Ó6ñ7ˆáÙ�s“)ÓàŠIôQ ˆaŽ&ðR ùs    „BKÂFKÈ KÈ>BKËKN)	Úsympy.core.singletonr   Úsympy.core.symbolr   Úsympy.polys.polytoolsr   Úsympy.utilitiesr   r4   r   ó    r   ú<module>r:      s.   ðÝ "Ý $Ý %Ý "àÙ˜S“k¨Eò `ó ñ`r9   