Ë
    7^(h¡¶  ã                   ó  — d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 ddl
mZmZmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZmZ ddlmZ ddlmZ ddlmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%  e	d«      Z& G d„ de«      Z' G d„ de'«      Z(d„ Z) G d„ de'«      Z* G d„ de'«      Z+ G d„ de'«      Z, G d„ de«      Z- G d„ de«      Z. G d„ d e'«      Z/ G d!„ d"e«      Z0 G d#„ d$e'«      Z1 G d%„ d&e'«      Z2 G d'„ d(e'«      Z3 G d)„ d*e'«      Z4y+),z™
This module mainly implements special orthogonal polynomials.

See also functions.combinatorial.numbers which contains some
combinatorial polynomials.

é    )ÚRational)ÚDefinedFunctionÚArgumentIndexError)ÚS)ÚDummy)ÚbinomialÚ	factorialÚRisingFactorial)Úre)Úexp)Úfloor)Úsqrt)ÚcosÚsec)Úgamma)Úhyper)Úchebyshevt_polyÚchebyshevu_polyÚgegenbauer_polyÚhermite_polyÚhermite_prob_polyÚjacobi_polyÚlaguerre_polyÚlegendre_polyÚxc                   ó&   — e Zd ZdZed„ «       Zd„ Zy)ÚOrthogonalPolynomialz+Base class for orthogonal polynomials.
    c                 óŽ   — |j                   r9|dk\  r3| j                  t        |«      t        «      j	                  t        |«      S y y )Nr   )Ú
is_integerÚ_ortho_polyÚintÚ_xÚsubs©ÚclsÚnr   s      úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/functions/special/polynomials.pyÚ_eval_at_orderz#OrthogonalPolynomial._eval_at_order    s8   € à�<Š<˜A šFØ—?‘?¤3 q£6¬2Ó.×3Ñ3´B¸Ó:Ð:ð #ˆ<ó    c                 óv   — | j                  | j                  d   | j                  d   j                  «       «      S )Nr   é   )ÚfuncÚargsÚ	conjugate)Úselfs    r'   Ú_eval_conjugatez$OrthogonalPolynomial._eval_conjugate%   s,   € Ø�y‰y˜Ÿ™ 1™ t§y¡y°¡|×'=Ñ'=Ó'?Ó@Ð@r)   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úclassmethodr(   r0   © r)   r'   r   r      s!   „ ñð ñ;ó ð;óAr)   r   c                   ó:   — e Zd ZdZed„ «       Zdd„Zd„ Zd„ Zd„ Z	y)	Újacobiaç  
    Jacobi polynomial $P_n^{\left(\alpha, \beta\right)}(x)$.

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

    ``jacobi(n, alpha, beta, x)`` gives the $n$th Jacobi polynomial
    in $x$, $P_n^{\left(\alpha, \beta\right)}(x)$.

    The Jacobi polynomials are orthogonal on $[-1, 1]$ with respect
    to the weight $\left(1-x\right)^\alpha \left(1+x\right)^\beta$.

    Examples
    ========

    >>> from sympy import jacobi, S, conjugate, diff
    >>> from sympy.abc import a, b, n, x

    >>> jacobi(0, a, b, x)
    1
    >>> jacobi(1, a, b, x)
    a/2 - b/2 + x*(a/2 + b/2 + 1)
    >>> jacobi(2, a, b, x)
    a**2/8 - a*b/4 - a/8 + b**2/8 - b/8 + x**2*(a**2/8 + a*b/4 + 7*a/8 + b**2/8 + 7*b/8 + 3/2) + x*(a**2/4 + 3*a/4 - b**2/4 - 3*b/4) - 1/2

    >>> jacobi(n, a, b, x)
    jacobi(n, a, b, x)

    >>> jacobi(n, a, a, x)
    RisingFactorial(a + 1, n)*gegenbauer(n,
        a + 1/2, x)/RisingFactorial(2*a + 1, n)

    >>> jacobi(n, 0, 0, x)
    legendre(n, x)

    >>> jacobi(n, S(1)/2, S(1)/2, x)
    RisingFactorial(3/2, n)*chebyshevu(n, x)/factorial(n + 1)

    >>> jacobi(n, -S(1)/2, -S(1)/2, x)
    RisingFactorial(1/2, n)*chebyshevt(n, x)/factorial(n)

    >>> jacobi(n, a, b, -x)
    (-1)**n*jacobi(n, b, a, x)

    >>> jacobi(n, a, b, 0)
    gamma(a + n + 1)*hyper((-n, -b - n), (a + 1,), -1)/(2**n*factorial(n)*gamma(a + 1))
    >>> jacobi(n, a, b, 1)
    RisingFactorial(a + 1, n)/factorial(n)

    >>> conjugate(jacobi(n, a, b, x))
    jacobi(n, conjugate(a), conjugate(b), conjugate(x))

    >>> diff(jacobi(n,a,b,x), x)
    (a/2 + b/2 + n/2 + 1/2)*jacobi(n - 1, a + 1, b + 1, x)

    See Also
    ========

    gegenbauer,
    chebyshevt_root, chebyshevu, chebyshevu_root,
    legendre, assoc_legendre,
    hermite, hermite_prob,
    laguerre, assoc_laguerre,
    sympy.polys.orthopolys.jacobi_poly,
    sympy.polys.orthopolys.gegenbauer_poly
    sympy.polys.orthopolys.chebyshevt_poly
    sympy.polys.orthopolys.chebyshevu_poly
    sympy.polys.orthopolys.hermite_poly
    sympy.polys.orthopolys.legendre_poly
    sympy.polys.orthopolys.laguerre_poly

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Jacobi_polynomials
    .. [2] https://mathworld.wolfram.com/JacobiPolynomial.html
    .. [3] https://functions.wolfram.com/Polynomials/JacobiP/

    c                 óè  — ||k(  rç|t        dd«      k(  r3t        t        j                  |«      t	        |«      z  t        ||«      z  S |j                  rt        ||«      S |t        j                  k(  r9t        dt        j                  z  |«      t	        |dz   «      z  t        ||«      z  S t        |dz   |«      t        d|z  dz   |«      z  t        ||t        j                  z   |«      z  S || k(  rGt        ||z   dz   «      t        |dz   «      z  d|z   |dz  z  z  d|z
  |dz  z  z  t        || |«      z  S |j                  �s|j                  «       r#t        j                  |z  t        |||| «      z  S |j                  rLd| z  t        ||z   dz   «      z  t        |dz   «      t	        |«      z  z  t!        | |z
  | g|dz   gd«      z  S |t        j"                  k(  rt        |dz   |«      t	        |«      z  S |t        j$                  u rS|j&                  rF||z   d|z  z   j(                  rt+        d«      ‚t        ||z   |z   dz   |«      t        j$                  z  S y y t-        ||||«      S )Néÿÿÿÿé   é   r+   z,Error. a + b + 2*n should not be an integer.)r   r
   r   ÚHalfr	   Ú
chebyshevtÚis_zeroÚlegendreÚ
chebyshevuÚ
gegenbauerr   Úassoc_legendreÚ	is_NumberÚcould_extract_minus_signÚNegativeOner8   r   ÚOneÚInfinityÚis_positiver   Ú
ValueErrorr   )r%   r&   ÚaÚbr   s        r'   Úevalzjacobi.eval~   sb  € ð �Š6Ø”H˜R “OÒ#Ü&¤q§v¡v¨qÓ1´I¸a³LÑ@Ä:ÈaÐQRÓCSÑSÐSØ—’Ü  1“~Ð%Ø”a—f‘f’Ü& q¬¯©¡x°Ó3´iÀÀAÁÓ6FÑFÌÐTUÐWXÓIYÑYÐYä& q¨1¡u¨aÓ0´?À1ÀQÁ3ÈÁ7ÈAÓ3NÑNÔQ[Ð\]Ð_`Ôcd×ciÑciÑ_iÐklÓQmÑmÐmØ�1�"ŠWä˜˜Q™ ™Ó#¤e¨A°©E£lÑ2°a¸!±e¸qÀ¹s±^ÑCÀqÈ1ÁuÐPQÐRSÑPSÁnÑTÔWeÐfgÐjkÐikÐmnÓWoÑoÐoà�{‹{ð ×)Ñ)Ô+Ü—}‘} aÑ'¬&°°A°q¸1¸"Ó*=Ñ=Ð=à�yŠyØ˜Q˜B™¤%¨¨A©°©	Ó"2Ñ2´e¸AÀ¹E³lÄYÈqÃ\Ñ6QÑRÜ ˜r A™v¨ r˜l¨Q°©U¨G°RÓ8ñ9ð :à”A—E‘EŠzÜ& q¨1¡u¨aÓ0´9¸Q³<Ñ?Ð?Ø”a—j‘j‘Ø—=’=à˜A™  !¡™×/Ò/Ü(Ð)WÓXÐXÜ*¨1¨q©5°1©9°q©=¸!Ó<¼q¿z¹zÑIÐIð	 !ð !ô ˜q ! Q¨Ó*Ð*r)   c                 ó‚  — ddl m} |dk(  rt        | |«      ‚|dk(  r | j                  \  }}}}t	        d«      }d||z   |z   |z   dz   z  }||z   d|z  z   dz   t        ||z   dz   ||z
  «      z  ||z
  t        ||z   |z   dz   ||z
  «      z  z  }	 ||t        ||||«      |	t        ||||«      z  z   z  |d|dz
  f«      S |dk(  r©| j                  \  }}}}t	        d«      }d||z   |z   |z   dz   z  }d||z
  z  ||z   d|z  z   dz   t        ||z   dz   ||z
  «      z  ||z
  t        ||z   |z   dz   ||z
  «      z  z  z  }	 ||t        ||||«      |	t        ||||«      z  z   z  |d|dz
  f«      S |dk(  rE| j                  \  }}}}t        j                  ||z   |z   dz   z  t        |dz
  |dz   |dz   |«      z  S t        | |«      ‚)	Nr   ©ÚSumr+   r;   Úkr<   r:   é   )	Úsympy.concrete.summationsrP   r   r-   r   r
   r8   r   r=   )
r/   ÚargindexrP   r&   rK   rL   r   rQ   Úf1Úf2s
             r'   Úfdiffzjacobi.fdiff¤   s*  € Ý1Ø�qŠ=ä$ T¨8Ó4Ð4Ø˜Š]àŸ™‰JˆAˆq�!�QÜ�c“
ˆAØ�a˜!‘e˜a‘i !‘m aÑ'Ñ(ˆBØ�q‘5˜1˜Q™3‘; ‘?¤o°a¸!±e¸a±iÀÀQÁÓ&GÑGØ˜‘Eœ_¨Q°©U°Q©Y¸©]¸AÀ¹EÓBÑBñDˆBá�rœV A q¨!¨QÓ/°"´V¸A¸qÀ!ÀQÓ5GÑ2GÑGÑHÈ1ÈaÐQRÐUVÑQVÈ-ÓXÐXØ˜Š]àŸ™‰JˆAˆq�!�QÜ�c“
ˆAØ�a˜!‘e˜a‘i !‘m aÑ'Ñ(ˆBØ˜˜A™‘ 1 q¡5¨1¨Q©3¡;°¡?´oÀaÈ!ÁeÈaÁiÐQRÐUVÑQVÓ6WÑ"WØ˜‘Eœ_¨Q°©U°Q©Y¸©]¸AÀ¹EÓBÑBñ#Dñ EˆBá�rœV A q¨!¨QÓ/°"´V¸A¸qÀ!ÀQÓ5GÑ2GÑGÑHÈ1ÈaÐQRÐUVÑQVÈ-ÓXÐXØ˜Š]àŸ™‰JˆAˆq�!�QÜ—6‘6˜Q ™U Q™Y¨™]Ñ+¬f°Q¸±U¸AÀ¹EÀ1ÀqÁ5È!Ó.LÑLÐLä$ T¨8Ó4Ð4r)   c                 óF  — ddl m} |j                  s|j                  du rt	        d«      ‚t        d«      }t        | |«      t        ||z   |z   dz   |«      z  t        ||z   dz   ||z
  «      z  t        |«      z  d|z
  dz  |z  z  }dt        |«      z   |||d|f«      z  S )Nr   rO   Fú*Error: n should be a non-negative integer.rQ   r+   r;   )rS   rP   Úis_negativer   rJ   r   r
   r	   )	r/   r&   rK   rL   r   ÚkwargsrP   rQ   Úkerns	            r'   Ú_eval_rewrite_as_Sumzjacobi._eval_rewrite_as_SumÀ   s³   € Ý1à�=Š=˜AŸL™L¨EÑ1ÜÐIÓJÐJÜ�#‹JˆÜ   AÓ&¬¸¸Q¹À¹ÀQ¹ÈÓ)JÑJÌ_Ð]^ÐabÑ]bÐefÑ]fÐhiÐlmÑhmÓMnÑnÜ˜!“ñØ!" Q¡¨¡	¨A™~ñ.ˆà”9˜Q“<Ñ¡# d¨Q°°1¨IÓ"6Ñ6Ð6r)   c                 ó.   —  | j                   ||||fi |¤ŽS ©N©r]   )r/   r&   rK   rL   r   r[   s         r'   Ú_eval_rewrite_as_polynomialz"jacobi._eval_rewrite_as_polynomialÊ   s"   € ð )ˆt×(Ñ(¨¨A¨q°!Ñ>°vÑ>Ð>r)   c                 ó    — | j                   \  }}}}| j                  ||j                  «       |j                  «       |j                  «       «      S r_   ©r-   r,   r.   )r/   r&   rK   rL   r   s        r'   r0   zjacobi._eval_conjugateÏ   s:   € Ø—Y‘Y‰
ˆˆ1ˆa�Ø�y‰y˜˜AŸK™K›M¨1¯;©;«=¸!¿+¹+»-ÓHÐHr)   N)rR   ©
r1   r2   r3   r4   r5   rM   rW   r]   ra   r0   r6   r)   r'   r8   r8   -   s3   „ ñNð` ñ#+ó ð#+óJ5ò87ò?ó
Ir)   r8   c                 ó  — t        d«      ||z   dz   z  t        | |z   dz   «      t        | |z   dz   «      z  z  d| z  |z   |z   dz   z  t        | «      t        | |z   |z   dz   «      z  z  }t        | |||«      t	        |«      z  S )a»  
    Jacobi polynomial $P_n^{\left(\alpha, \beta\right)}(x)$.

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

    ``jacobi_normalized(n, alpha, beta, x)`` gives the $n$th
    Jacobi polynomial in $x$, $P_n^{\left(\alpha, \beta\right)}(x)$.

    The Jacobi polynomials are orthogonal on $[-1, 1]$ with respect
    to the weight $\left(1-x\right)^\alpha \left(1+x\right)^\beta$.

    This functions returns the polynomials normilzed:

    .. math::

        \int_{-1}^{1}
          P_m^{\left(\alpha, \beta\right)}(x)
          P_n^{\left(\alpha, \beta\right)}(x)
          (1-x)^{\alpha} (1+x)^{\beta} \mathrm{d}x
        = \delta_{m,n}

    Examples
    ========

    >>> from sympy import jacobi_normalized
    >>> from sympy.abc import n,a,b,x

    >>> jacobi_normalized(n, a, b, x)
    jacobi(n, a, b, x)/sqrt(2**(a + b + 1)*gamma(a + n + 1)*gamma(b + n + 1)/((a + b + 2*n + 1)*factorial(n)*gamma(a + b + n + 1)))

    Parameters
    ==========

    n : integer degree of polynomial

    a : alpha value

    b : beta value

    x : symbol

    See Also
    ========

    gegenbauer,
    chebyshevt_root, chebyshevu, chebyshevu_root,
    legendre, assoc_legendre,
    hermite, hermite_prob,
    laguerre, assoc_laguerre,
    sympy.polys.orthopolys.jacobi_poly,
    sympy.polys.orthopolys.gegenbauer_poly
    sympy.polys.orthopolys.chebyshevt_poly
    sympy.polys.orthopolys.chebyshevu_poly
    sympy.polys.orthopolys.hermite_poly
    sympy.polys.orthopolys.legendre_poly
    sympy.polys.orthopolys.laguerre_poly

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Jacobi_polynomials
    .. [2] https://mathworld.wolfram.com/JacobiPolynomial.html
    .. [3] https://functions.wolfram.com/Polynomials/JacobiP/

    r;   r+   )r   r   r	   r8   r   )r&   rK   rL   r   Únfactors        r'   Újacobi_normalizedrg   Ô   s–   € ôF �‹t�a˜!‘e˜a‘iÑ ¤E¨!¨a©%°!©)Ó$4´u¸QÀ¹UÀQ¹YÓ7GÑ$GÑHØ�A‘#˜‘'˜A‘+ ‘/ñ#Ü&/°£l´U¸1¸q¹5À1¹9Àq¹=Ó5IÑ&IñK€Gô �!�Q˜˜1Ó¤ W£Ñ-Ð-r)   c                   ó:   — e Zd ZdZed„ «       Zdd„Zd„ Zd„ Zd„ Z	y)	rB   aN  
    Gegenbauer polynomial $C_n^{\left(\alpha\right)}(x)$.

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

    ``gegenbauer(n, alpha, x)`` gives the $n$th Gegenbauer polynomial
    in $x$, $C_n^{\left(\alpha\right)}(x)$.

    The Gegenbauer polynomials are orthogonal on $[-1, 1]$ with
    respect to the weight $\left(1-x^2\right)^{\alpha-\frac{1}{2}}$.

    Examples
    ========

    >>> from sympy import gegenbauer, conjugate, diff
    >>> from sympy.abc import n,a,x
    >>> gegenbauer(0, a, x)
    1
    >>> gegenbauer(1, a, x)
    2*a*x
    >>> gegenbauer(2, a, x)
    -a + x**2*(2*a**2 + 2*a)
    >>> gegenbauer(3, a, x)
    x**3*(4*a**3/3 + 4*a**2 + 8*a/3) + x*(-2*a**2 - 2*a)

    >>> gegenbauer(n, a, x)
    gegenbauer(n, a, x)
    >>> gegenbauer(n, a, -x)
    (-1)**n*gegenbauer(n, a, x)

    >>> gegenbauer(n, a, 0)
    2**n*sqrt(pi)*gamma(a + n/2)/(gamma(a)*gamma(1/2 - n/2)*gamma(n + 1))
    >>> gegenbauer(n, a, 1)
    gamma(2*a + n)/(gamma(2*a)*gamma(n + 1))

    >>> conjugate(gegenbauer(n, a, x))
    gegenbauer(n, conjugate(a), conjugate(x))

    >>> diff(gegenbauer(n, a, x), x)
    2*a*gegenbauer(n - 1, a + 1, x)

    See Also
    ========

    jacobi,
    chebyshevt_root, chebyshevu, chebyshevu_root,
    legendre, assoc_legendre,
    hermite, hermite_prob,
    laguerre, assoc_laguerre,
    sympy.polys.orthopolys.jacobi_poly
    sympy.polys.orthopolys.gegenbauer_poly
    sympy.polys.orthopolys.chebyshevt_poly
    sympy.polys.orthopolys.chebyshevu_poly
    sympy.polys.orthopolys.hermite_poly
    sympy.polys.orthopolys.hermite_prob_poly
    sympy.polys.orthopolys.legendre_poly
    sympy.polys.orthopolys.laguerre_poly

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Gegenbauer_polynomials
    .. [2] https://mathworld.wolfram.com/GegenbauerPolynomial.html
    .. [3] https://functions.wolfram.com/Polynomials/GegenbauerC3/

    c                 óÞ  — |j                   rt        j                  S |t        j                  k(  rt	        ||«      S |t        j
                  k(  rt        ||«      S |t        j                  k(  rt        j                  S |j                  �s×|t        j                  k(  r›t        |«      t        j                  kD  dk(  rt        j                  S t        t        j                  ||z   z  «      t        t        j                  |z  «      z  t        d|z  |z   «      z  t        d|z  «      t        |dz   «      z  z  S |j                  «       r"t        j                  |z  t!        ||| «      z  S |j"                  rld|z  t%        t        j                  «      z  t        |t        j                  |z  z   «      z  t        d|z
  dz  «      t        |dz   «      z  t        |«      z  z  S |t        j
                  k(  r/t        d|z  |z   «      t        d|z  «      t        |dz   «      z  z  S |t        j&                  u r*|j(                  rt+        ||«      t        j&                  z  S y y t-        |||«      S )NTr;   r+   )rZ   r   ÚZeror=   r@   rG   rA   rF   rD   r   ÚComplexInfinityr   ÚPir   r   rE   rB   r?   r   rH   rI   r
   r   )r%   r&   rK   r   s       r'   rM   zgegenbauer.evalg  sî  € ð �=Š=Ü—6‘6ˆMð ”—‘Š;Ü˜A˜q“>Ð!Ø”!—%‘%ŠZÜ˜a Ó#Ð#Ø”!—-‘-ÒÜ—6‘6ˆMà�{‹{à”A—M‘MÒ!Ü�q“EœAŸF™F‘N tÒ+Ü×,Ñ,Ð,ä¤§¡ a¨¡c¡
›O¬c´!·$±$°q±&«kÑ9¼EÀ!ÀAÁ#ÀaÁ%»LÑHÜ!& q¨¡s£¬e°A°a±C«jÑ!8ñ:ð ;ð
 ×)Ñ)Ô+Ü—}‘} aÑ'¬*°Q¸¸A¸2Ó*>Ñ>Ð>à�yŠyØ˜1™œt¤A§D¡D›zÑ)¬E°!´a·f±f¸Q±h±,Ó,?Ñ?Ü  A¡ q™yÓ)¬E°!°a±%«LÑ8¼5À»8ÑCñEð Gà”A—E‘EŠzÜ˜Q˜q™S 1™W“~¬¨q°©s«´e¸AÀ¹E³lÑ)BÑCÐCØ”a—j‘j‘Ø—=’=Ü*¨1¨aÓ0´1·:±:Ñ=Ð=ð !ð !ô
 # 1 a¨Ó+Ð+r)   c                 óî  — ddl m} |dk(  rt        | |«      ‚|dk(  r | j                  \  }}}t	        d«      }ddd||z
  z  z   z  ||z   z  ||z   d|z  z   ||z
  z  z  }d|dz   z  |d|z  z   d|z  d|z  z   dz   z  z  d||z   d|z  z   z  z   }|t        |||«      z  |t        |||«      z  z   }	 ||	|d|dz
  f«      S |dk(  r)| j                  \  }}}d|z  t        |dz
  |dz   |«      z  S t        | |«      ‚)Nr   rO   r+   r;   rQ   r:   r<   )rS   rP   r   r-   r   rB   )
r/   rT   rP   r&   rK   r   rQ   Úfactor1Úfactor2r\   s
             r'   rW   zgegenbauer.fdiff�  sG  € Ý1Ø�qŠ=ä$ T¨8Ó4Ð4Ø˜Š]à—i‘i‰GˆAˆq�!Ü�c“
ˆAØ˜1  a¨!¡e™}Ñ,Ñ-°°Q±Ñ7¸AØñ=Ø  ™sñ=#Ø'(¨1¡uñ<.ñ /ˆGà˜˜Q™‘i A¨¨!©¡G°°!±°a¸±c±	¸A±Ñ#>Ñ?Ø�Q˜‘U˜Q˜q™S‘[Ñ!ñ"ˆGàœ: a¨¨AÓ.Ñ.°¼ÀAÀqÈ!Ó9LÑ1LÑLˆDÙ�t˜a  A¨¡E˜]Ó+Ð+Ø˜Š]à—i‘i‰GˆAˆq�!Ø�Q‘3”z ! a¡%¨¨Q©°Ó2Ñ2Ð2ä$ T¨8Ó4Ð4r)   c           	      óØ   — ddl m} t        d«      }d|z  t        |||z
  «      z  d|z  |d|z  z
  z  z  t	        |«      t	        |d|z  z
  «      z  z  } |||dt        |dz  «      f«      S )Nr   rO   rQ   r:   r;   )rS   rP   r   r
   r	   r   )r/   r&   rK   r   r[   rP   rQ   r\   s           r'   r]   zgegenbauer._eval_rewrite_as_Sum¦  sw   € Ý1Ü�#‹JˆØ�a‘œ/¨!¨Q°©UÓ3Ñ3°q¸±s¸aÀ!ÀAÁ#¹gÑ6FÑFÜ˜1“¤	¨!¨a°©c©'Ó 2Ñ2ñ4ˆá�4˜!˜Q¤ a¨¡c£
Ð+Ó,Ð,r)   c                 ó,   —  | j                   |||fi |¤ŽS r_   r`   )r/   r&   rK   r   r[   s        r'   ra   z&gegenbauer._eval_rewrite_as_polynomial­  ó    € ð )ˆt×(Ñ(¨¨A¨qÑ;°FÑ;Ð;r)   c                 ó€   — | j                   \  }}}| j                  ||j                  «       |j                  «       «      S r_   rc   )r/   r&   rK   r   s       r'   r0   zgegenbauer._eval_conjugate²  ó0   € Ø—)‘)‰ˆˆ1ˆaØ�y‰y˜˜AŸK™K›M¨1¯;©;«=Ó9Ð9r)   N©r<   rd   r6   r)   r'   rB   rB   "  s2   „ ñBðH ñ&,ó ð&,óP5ò,-ò<ó
:r)   rB   c                   óD   — e Zd ZdZ ee«      Zed„ «       Zdd„Z	d„ Z
d„ Zy)r>   aË  
    Chebyshev polynomial of the first kind, $T_n(x)$.

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

    ``chebyshevt(n, x)`` gives the $n$th Chebyshev polynomial (of the first
    kind) in $x$, $T_n(x)$.

    The Chebyshev polynomials of the first kind are orthogonal on
    $[-1, 1]$ with respect to the weight $\frac{1}{\sqrt{1-x^2}}$.

    Examples
    ========

    >>> from sympy import chebyshevt, diff
    >>> from sympy.abc import n,x
    >>> chebyshevt(0, x)
    1
    >>> chebyshevt(1, x)
    x
    >>> chebyshevt(2, x)
    2*x**2 - 1

    >>> chebyshevt(n, x)
    chebyshevt(n, x)
    >>> chebyshevt(n, -x)
    (-1)**n*chebyshevt(n, x)
    >>> chebyshevt(-n, x)
    chebyshevt(n, x)

    >>> chebyshevt(n, 0)
    cos(pi*n/2)
    >>> chebyshevt(n, -1)
    (-1)**n

    >>> diff(chebyshevt(n, x), x)
    n*chebyshevu(n - 1, x)

    See Also
    ========

    jacobi, gegenbauer,
    chebyshevt_root, chebyshevu, chebyshevu_root,
    legendre, assoc_legendre,
    hermite, hermite_prob,
    laguerre, assoc_laguerre,
    sympy.polys.orthopolys.jacobi_poly
    sympy.polys.orthopolys.gegenbauer_poly
    sympy.polys.orthopolys.chebyshevt_poly
    sympy.polys.orthopolys.chebyshevu_poly
    sympy.polys.orthopolys.hermite_poly
    sympy.polys.orthopolys.hermite_prob_poly
    sympy.polys.orthopolys.legendre_poly
    sympy.polys.orthopolys.laguerre_poly

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Chebyshev_polynomial
    .. [2] https://mathworld.wolfram.com/ChebyshevPolynomialoftheFirstKind.html
    .. [3] https://mathworld.wolfram.com/ChebyshevPolynomialoftheSecondKind.html
    .. [4] https://functions.wolfram.com/Polynomials/ChebyshevT/
    .. [5] https://functions.wolfram.com/Polynomials/ChebyshevU/

    c                 ó  — |j                   sÍ|j                  «       r!t        j                  |z  t	        || «      z  S |j                  «       rt	        | |«      S |j
                  r-t        t        j                  t        j                  z  |z  «      S |t        j                  k(  rt        j                  S |t        j                  u rt        j                  S y |j                  r| j                  | |«      S | j                  ||«      S r_   )rD   rE   r   rF   r>   r?   r   r=   rl   rG   rH   rZ   r(   r$   s      r'   rM   zchebyshevt.eval  sÑ   € à�{Š{ð ×)Ñ)Ô+Ü—}‘} aÑ'¬*°Q¸¸Ó*;Ñ;Ð;à×)Ñ)Ô+Ü! 1 " aÓ(Ð(à�yŠyÜœ1Ÿ6™6¤A§D¡D™=¨1Ñ,Ó-Ð-Ø”A—E‘EŠzÜ—u‘u�Ø”a—j‘j‘Ü—z‘zÐ!ð !ð �}Š}à×)Ñ)¨1¨"¨aÓ0Ð0à×)Ñ)¨!¨QÓ/Ð/r)   c                 óˆ   — |dk(  rt        | |«      ‚|dk(  r!| j                  \  }}|t        |dz
  |«      z  S t        | |«      ‚©Nr+   r;   )r   r-   rA   ©r/   rT   r&   r   s       r'   rW   zchebyshevt.fdiff  sM   € Ø�qŠ=ä$ T¨8Ó4Ð4Ø˜Š]à—9‘9‰DˆAˆqØ”z ! a¡%¨Ó+Ñ+Ð+ä$ T¨8Ó4Ð4r)   c           	      ó¢   — ddl m} t        d«      }t        |d|z  «      |dz  dz
  |z  z  ||d|z  z
  z  z  } |||dt	        |dz  «      f«      S ©Nr   rO   rQ   r;   r+   )rS   rP   r   r   r   ©r/   r&   r   r[   rP   rQ   r\   s          r'   r]   zchebyshevt._eval_rewrite_as_Sum%  s\   € Ý1Ü�#‹JˆÜ˜˜1˜Q™3Ó 1 a¡4¨!¡8¨a¡-Ñ/°!°a¸!¸A¹#±g±,Ñ>ˆÙ�4˜!˜Q¤ a¨¡c£
Ð+Ó,Ð,r)   c                 ó*   —  | j                   ||fi |¤ŽS r_   r`   ©r/   r&   r   r[   s       r'   ra   z&chebyshevt._eval_rewrite_as_polynomial+  ó   € ð )ˆt×(Ñ(¨¨AÑ8°Ñ8Ð8r)   N©r;   )r1   r2   r3   r4   Ústaticmethodr   r    r5   rM   rW   r]   ra   r6   r)   r'   r>   r>   »  s6   „ ñAñF ˜Ó/€Kàñ0ó ð0ó0	5ò-ó9r)   r>   c                   óD   — e Zd ZdZ ee«      Zed„ «       Zdd„Z	d„ Z
d„ Zy)rA   aí  
    Chebyshev polynomial of the second kind, $U_n(x)$.

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

    ``chebyshevu(n, x)`` gives the $n$th Chebyshev polynomial of the second
    kind in x, $U_n(x)$.

    The Chebyshev polynomials of the second kind are orthogonal on
    $[-1, 1]$ with respect to the weight $\sqrt{1-x^2}$.

    Examples
    ========

    >>> from sympy import chebyshevu, diff
    >>> from sympy.abc import n,x
    >>> chebyshevu(0, x)
    1
    >>> chebyshevu(1, x)
    2*x
    >>> chebyshevu(2, x)
    4*x**2 - 1

    >>> chebyshevu(n, x)
    chebyshevu(n, x)
    >>> chebyshevu(n, -x)
    (-1)**n*chebyshevu(n, x)
    >>> chebyshevu(-n, x)
    -chebyshevu(n - 2, x)

    >>> chebyshevu(n, 0)
    cos(pi*n/2)
    >>> chebyshevu(n, 1)
    n + 1

    >>> diff(chebyshevu(n, x), x)
    (-x*chebyshevu(n, x) + (n + 1)*chebyshevt(n + 1, x))/(x**2 - 1)

    See Also
    ========

    jacobi, gegenbauer,
    chebyshevt, chebyshevt_root, chebyshevu_root,
    legendre, assoc_legendre,
    hermite, hermite_prob,
    laguerre, assoc_laguerre,
    sympy.polys.orthopolys.jacobi_poly
    sympy.polys.orthopolys.gegenbauer_poly
    sympy.polys.orthopolys.chebyshevt_poly
    sympy.polys.orthopolys.chebyshevu_poly
    sympy.polys.orthopolys.hermite_poly
    sympy.polys.orthopolys.hermite_prob_poly
    sympy.polys.orthopolys.legendre_poly
    sympy.polys.orthopolys.laguerre_poly

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Chebyshev_polynomial
    .. [2] https://mathworld.wolfram.com/ChebyshevPolynomialoftheFirstKind.html
    .. [3] https://mathworld.wolfram.com/ChebyshevPolynomialoftheSecondKind.html
    .. [4] https://functions.wolfram.com/Polynomials/ChebyshevT/
    .. [5] https://functions.wolfram.com/Polynomials/ChebyshevU/

    c                 óâ  — |j                   �s|j                  «       r!t        j                  |z  t	        || «      z  S |j                  «       rH|t        j                  k(  rt        j
                  S | dz
  j                  «       st	        | dz
  |«       S |j                  r-t        t        j                  t        j                  z  |z  «      S |t        j                  k(  rt        j                  |z   S |t        j                  u rt        j                  S y |j                  r:|t        j                  k(  rt        j
                  S | j                  | dz
  |«       S | j                  ||«      S ©Nr;   )rD   rE   r   rF   rA   rj   r?   r   r=   rl   rG   rH   rZ   r(   r$   s      r'   rM   zchebyshevu.evalw  s   € à�{‹{ð ×)Ñ)Ô+Ü—}‘} aÑ'¬*°Q¸¸Ó*;Ñ;Ð;à×)Ñ)Ô+ØœŸ™Ò%äŸ6™6�MØ˜"˜q™&×:Ñ:Ô<Ü&¨ r¨A¡v¨qÓ1Ð1Ð1à�yŠyÜœ1Ÿ6™6¤A§D¡D™=¨1Ñ,Ó-Ð-Ø”A—E‘EŠzÜ—u‘u˜q‘yÐ Ø”a—j‘j‘Ü—z‘zÐ!ð !ð �}Š}àœŸ™Ò%ÜŸ6™6�Mà×.Ñ.°¨r°A©v°qÓ9Ð9Ð9à×)Ñ)¨!¨QÓ/Ð/r)   c                 óÀ   — |dk(  rt        | |«      ‚|dk(  r=| j                  \  }}|dz   t        |dz   |«      z  |t        ||«      z  z
  |dz  dz
  z  S t        | |«      ‚ry   )r   r-   r>   rA   rz   s       r'   rW   zchebyshevu.fdiff—  sq   € Ø�qŠ=ä$ T¨8Ó4Ð4Ø˜Š]à—9‘9‰DˆAˆqØ˜‘Uœj¨¨Q©°Ó2Ñ2°Q¼ÀAÀqÓ9IÑ5IÑIÈaÐQRÉdÐUVÉhÑWÐWä$ T¨8Ó4Ð4r)   c           	      óò   — ddl m} t        d«      }t        j                  |z  t        ||z
  «      z  d|z  |d|z  z
  z  z  t        |«      t        |d|z  z
  «      z  z  } |||dt        |dz  «      f«      S ©Nr   rO   rQ   r;   ©rS   rP   r   r   rF   r	   r   r}   s          r'   r]   zchebyshevu._eval_rewrite_as_Sum¢  sƒ   € Ý1Ü�#‹JˆÜ�}‰}˜aÑ¤)Ø�‰Eó#ñ Ø˜‘c˜Q  1¡™WÑ%ñ&Ü)2°1«¼	À!ÀaÈÁcÁ'Ó8JÑ)JñLˆá�4˜!˜Q¤ a¨¡c£
Ð+Ó,Ð,r)   c                 ó*   —  | j                   ||fi |¤ŽS r_   r`   r   s       r'   ra   z&chebyshevu._eval_rewrite_as_polynomial©  r€   r)   Nr�   )r1   r2   r3   r4   r‚   r   r    r5   rM   rW   r]   ra   r6   r)   r'   rA   rA   1  s6   „ ñAñF ˜Ó/€Kàñ0ó ð0ó>	5ò-ó9r)   rA   c                   ó    — e Zd ZdZed„ «       Zy)Úchebyshevt_roota�  
    ``chebyshev_root(n, k)`` returns the $k$th root (indexed from zero) of
    the $n$th Chebyshev polynomial of the first kind; that is, if
    $0 \le k < n$, ``chebyshevt(n, chebyshevt_root(n, k)) == 0``.

    Examples
    ========

    >>> from sympy import chebyshevt, chebyshevt_root
    >>> chebyshevt_root(3, 2)
    -sqrt(3)/2
    >>> chebyshevt(3, chebyshevt_root(3, 2))
    0

    See Also
    ========

    jacobi, gegenbauer,
    chebyshevt, chebyshevu, chebyshevu_root,
    legendre, assoc_legendre,
    hermite, hermite_prob,
    laguerre, assoc_laguerre,
    sympy.polys.orthopolys.jacobi_poly
    sympy.polys.orthopolys.gegenbauer_poly
    sympy.polys.orthopolys.chebyshevt_poly
    sympy.polys.orthopolys.chebyshevu_poly
    sympy.polys.orthopolys.hermite_poly
    sympy.polys.orthopolys.hermite_prob_poly
    sympy.polys.orthopolys.legendre_poly
    sympy.polys.orthopolys.laguerre_poly
    c                 óˆ   — d|k  r||k  st        d|›d|›�«      ‚t        t        j                  d|z  dz   z  d|z  z  «      S )Nr   úmust have 0 <= k < n, got k = ú	 and n = r;   r+   ©rJ   r   r   rl   ©r%   r&   rQ   s      r'   rM   zchebyshevt_root.evalÐ  sJ   € à�a’˜a !šeÝÚ+,©að1ó 2ð 2ä”1—4‘4˜˜1™˜q™‘> 1 Q¡3Ñ'Ó(Ð(r)   N©r1   r2   r3   r4   r5   rM   r6   r)   r'   rŒ   rŒ   ¯  s   „ ñð@ ñ)ó ñ)r)   rŒ   c                   ó    — e Zd ZdZed„ «       Zy)Úchebyshevu_rootaw  
    ``chebyshevu_root(n, k)`` returns the $k$th root (indexed from zero) of the
    $n$th Chebyshev polynomial of the second kind; that is, if $0 \le k < n$,
    ``chebyshevu(n, chebyshevu_root(n, k)) == 0``.

    Examples
    ========

    >>> from sympy import chebyshevu, chebyshevu_root
    >>> chebyshevu_root(3, 2)
    -sqrt(2)/2
    >>> chebyshevu(3, chebyshevu_root(3, 2))
    0

    See Also
    ========

    chebyshevt, chebyshevt_root, chebyshevu,
    legendre, assoc_legendre,
    hermite, hermite_prob,
    laguerre, assoc_laguerre,
    sympy.polys.orthopolys.jacobi_poly
    sympy.polys.orthopolys.gegenbauer_poly
    sympy.polys.orthopolys.chebyshevt_poly
    sympy.polys.orthopolys.chebyshevu_poly
    sympy.polys.orthopolys.hermite_poly
    sympy.polys.orthopolys.hermite_prob_poly
    sympy.polys.orthopolys.legendre_poly
    sympy.polys.orthopolys.laguerre_poly
    c                 ó‚   — d|k  r||k  st        d|›d|›�«      ‚t        t        j                  |dz   z  |dz   z  «      S )Nr   rŽ   r�   r+   r�   r‘   s      r'   rM   zchebyshevu_root.evalù  sF   € à�a’˜a !šeÝÚ+,©að1ó 2ð 2ä”1—4‘4˜˜Q™‘<  Q¡Ñ'Ó(Ð(r)   Nr’   r6   r)   r'   r”   r”   Ø  s   „ ñð@ ñ)ó ñ)r)   r”   c                   óD   — e Zd ZdZ ee«      Zed„ «       Zdd„Z	d„ Z
d„ Zy)r@   a·  
    ``legendre(n, x)`` gives the $n$th Legendre polynomial of $x$, $P_n(x)$

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

    The Legendre polynomials are orthogonal on $[-1, 1]$ with respect to
    the constant weight 1. They satisfy $P_n(1) = 1$ for all $n$; further,
    $P_n$ is odd for odd $n$ and even for even $n$.

    Examples
    ========

    >>> from sympy import legendre, diff
    >>> from sympy.abc import x, n
    >>> legendre(0, x)
    1
    >>> legendre(1, x)
    x
    >>> legendre(2, x)
    3*x**2/2 - 1/2
    >>> legendre(n, x)
    legendre(n, x)
    >>> diff(legendre(n,x), x)
    n*(x*legendre(n, x) - legendre(n - 1, x))/(x**2 - 1)

    See Also
    ========

    jacobi, gegenbauer,
    chebyshevt, chebyshevt_root, chebyshevu, chebyshevu_root,
    assoc_legendre,
    hermite, hermite_prob,
    laguerre, assoc_laguerre,
    sympy.polys.orthopolys.jacobi_poly
    sympy.polys.orthopolys.gegenbauer_poly
    sympy.polys.orthopolys.chebyshevt_poly
    sympy.polys.orthopolys.chebyshevu_poly
    sympy.polys.orthopolys.hermite_poly
    sympy.polys.orthopolys.hermite_prob_poly
    sympy.polys.orthopolys.legendre_poly
    sympy.polys.orthopolys.laguerre_poly

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Legendre_polynomial
    .. [2] https://mathworld.wolfram.com/LegendrePolynomial.html
    .. [3] https://functions.wolfram.com/Polynomials/LegendreP/
    .. [4] https://functions.wolfram.com/Polynomials/LegendreP2/

    c                 ó¼  — |j                   �s|j                  «       r!t        j                  |z  t	        || «      z  S |j                  «       r2| dz
  j                  «       st	        | t        j
                  z
  |«      S |j                  rYt        t        j                  «      t        t        j                  |dz  z
  «      t        t        j
                  |dz  z   «      z  z  S |t        j
                  k(  rt        j
                  S |t        j                  u rt        j                  S y |j                  r| t        j
                  z
  }| j                  ||«      S ry   )rD   rE   r   rF   r@   rG   r?   r   rl   r   r=   rH   rZ   r(   r$   s      r'   rM   zlegendre.eval=  s  € à�{‹{ð ×)Ñ)Ô+Ü—}‘} aÑ'¬(°1°q°b«/Ñ9Ð9à×)Ñ)Ô+°Q°B¸±F×3TÑ3TÔ3VÜ  ¤Q§U¡U¡
¨AÓ.Ð.à�yŠyÜœAŸD™D“z¤5¬¯©°!°A±#©Ó#6´u¼Q¿U¹UÀQÀqÁS¹[Ó7IÑ#IÑJÐJØ”a—e‘e’Ü—u‘u�Ø”a—j‘j‘Ü—z‘zÐ!ð !ð
 �}Š}Ø�BœŸ™‘J�Ø×%Ñ% a¨Ó+Ð+r)   c                 óº   — |dk(  rt        | |«      ‚|dk(  r:| j                  \  }}||dz  dz
  z  |t        ||«      z  t        |dz
  |«      z
  z  S t        | |«      ‚ry   )r   r-   r@   rz   s       r'   rW   zlegendre.fdiffU  sk   € Ø�qŠ=ä$ T¨8Ó4Ð4Ø˜Š]ð —9‘9‰DˆAˆqØ�a˜‘d˜Q‘h‘< ¤8¨A¨q£>Ñ!1´H¸QÀ¹UÀAÓ4FÑ!FÑGÐGä$ T¨8Ó4Ð4r)   c                 ó¸   — ddl m} t        d«      }t        j                  |z  t        ||«      dz  z  d|z   dz  ||z
  z  z  d|z
  dz  |z  z  } |||d|f«      S r|   )rS   rP   r   r   rF   r   r}   s          r'   r]   zlegendre._eval_rewrite_as_Summ  sh   € Ý1Ü�#‹JˆÜ�}‰}˜aÑ¤¨¨A£°Ñ 1Ñ1°A¸±E¸1±9ÀÀAÁÑ2FÑFÈÈQÉÐPQÉ	ÐTUÁ~ÑUˆÙ�4˜!˜Q ˜Ó#Ð#r)   c                 ó*   —  | j                   ||fi |¤ŽS r_   r`   r   s       r'   ra   z$legendre._eval_rewrite_as_polynomials  r€   r)   Nr�   )r1   r2   r3   r4   r‚   r   r    r5   rM   rW   r]   ra   r6   r)   r'   r@   r@     s5   „ ñ3ñj ˜}Ó-€Kàñ,ó ð,ó.5ò0$ó9r)   r@   c                   óJ   — e Zd ZdZed„ «       Zed„ «       Zd	d„Zd„ Zd„ Z	d„ Z
y)
rC   a›  
    ``assoc_legendre(n, m, x)`` gives $P_n^m(x)$, where $n$ and $m$ are
    the degree and order or an expression which is related to the nth
    order Legendre polynomial, $P_n(x)$ in the following manner:

    .. math::
        P_n^m(x) = (-1)^m (1 - x^2)^{\frac{m}{2}}
                   \frac{\mathrm{d}^m P_n(x)}{\mathrm{d} x^m}

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

    Associated Legendre polynomials are orthogonal on $[-1, 1]$ with:

    - weight $= 1$            for the same $m$ and different $n$.
    - weight $= \frac{1}{1-x^2}$   for the same $n$ and different $m$.

    Examples
    ========

    >>> from sympy import assoc_legendre
    >>> from sympy.abc import x, m, n
    >>> assoc_legendre(0,0, x)
    1
    >>> assoc_legendre(1,0, x)
    x
    >>> assoc_legendre(1,1, x)
    -sqrt(1 - x**2)
    >>> assoc_legendre(n,m,x)
    assoc_legendre(n, m, x)

    See Also
    ========

    jacobi, gegenbauer,
    chebyshevt, chebyshevt_root, chebyshevu, chebyshevu_root,
    legendre,
    hermite, hermite_prob,
    laguerre, assoc_laguerre,
    sympy.polys.orthopolys.jacobi_poly
    sympy.polys.orthopolys.gegenbauer_poly
    sympy.polys.orthopolys.chebyshevt_poly
    sympy.polys.orthopolys.chebyshevu_poly
    sympy.polys.orthopolys.hermite_poly
    sympy.polys.orthopolys.hermite_prob_poly
    sympy.polys.orthopolys.legendre_poly
    sympy.polys.orthopolys.laguerre_poly

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Associated_Legendre_polynomials
    .. [2] https://mathworld.wolfram.com/LegendrePolynomial.html
    .. [3] https://functions.wolfram.com/Polynomials/LegendreP/
    .. [4] https://functions.wolfram.com/Polynomials/LegendreP2/

    c                 óÌ   — t        |t        d¬«      j                  t        |f«      }t        j                  |z  dt        dz  z
  t        |d«      z  z  |j                  «       z  S )NT)Úpolysr+   r;   )r   r"   Údiffr   rF   r   Úas_expr)r%   r&   ÚmÚPs       r'   r(   zassoc_legendre._eval_at_order´  sQ   € ä˜!œR tÔ,×1Ñ1´2°q°'Ó:ˆÜ�}‰}˜aÑ 1¤r¨1¡u¡9¬x¸¸1«~Ñ"=Ñ=ÀÇ	Á	ÃÑKÐKr)   c                 óÊ  — |j                  «       rAt        j                  | z  t        ||z   «      t        ||z
  «      z  z  t	        || |«      z  S |dk(  rt        ||«      S |dk(  rId|z  t        t        j                  «      z  t        d|z
  |z
  dz  «      t        d||z
  dz  z
  «      z  z  S |j                  r§|j                  rš|j                  r�|j                  r€|j                  rt        | ›d|›d�«      ‚t        |«      |kD  rt        | ›d|›d|›d�«      ‚| j                  t        |«      t        t        |«      «      «      j!                  t"        |«      S y y y y )Nr   r;   r+   z. : 1st index must be nonnegative integer (got ú)z0 : abs('2nd index') must be <= '1st index' (got z, )rE   r   rF   r	   rC   r@   r   rl   r   rD   r   rZ   rJ   Úabsr(   r!   r#   r"   )r%   r&   r    r   s       r'   rM   zassoc_legendre.eval¹  s5  € à×%Ñ%Ô'ä—=‘= A 2Ñ&¬)°A¸±EÓ*:¼9ÀQÈÁUÓ;KÑ*KÑLÌ~Ð^_ÐbcÐacÐefÓOgÑgÐgØ�Š6ä˜A˜q“>Ð!Ø�Š6Ø�a‘4œœQŸT™T›
‘?¤e¨Q°©U°Q©Y¸©MÓ&:¼5ÀÀaÈ!ÁeÈQÁYÁÓ;OÑ&OÑPÐPØ�;Š;˜1Ÿ;š;¨1¯<ª<¸A¿LºLØ�}Š}Ü ÒZ]Ò_`Ð!aÓbÐbÜ�1‹v˜ŠzÜ Ò`cÒefÒhiÐ!jÓkÐkØ×%Ñ%¤c¨!£f¬c´#°a³&«kÓ:×?Ñ?ÄÀAÓFÐFð =I¨<˜;ˆ;r)   c                 óô   — |dk(  rt        | |«      ‚|dk(  rt        | |«      ‚|dk(  rF| j                  \  }}}d|dz  dz
  z  ||z  t        |||«      z  ||z   t        |dz
  ||«      z  z
  z  S t        | |«      ‚)Nr+   r;   r<   )r   r-   rC   )r/   rT   r&   r    r   s        r'   rW   zassoc_legendre.fdiffÊ  s˜   € Ø�qŠ=ä$ T¨8Ó4Ð4Ø˜Š]ä$ T¨8Ó4Ð4Ø˜Š]ð —i‘i‰GˆAˆq�!Ø�a˜‘d˜Q‘h‘<  1¡¤^°A°q¸!Ó%<Ñ!<ÀÀAÁÄ~ÐVWÐZ[ÑV[Ð]^Ð`aÓGbÑ?bÑ!bÑcÐcä$ T¨8Ó4Ð4r)   c           
      ón  — ddl m} t        d«      }t        d|z  d|z  z
  «      d|z  t        ||z
  «      z  t        |«      z  t        |d|z  z
  |z
  «      z  z  t        j
                  |z  z  |||z
  d|z  z
  z  z  }d|dz  z
  |dz  z   |||dt        ||z
  t        j                  z  «      f«      z  S r|   )rS   rP   r   r	   r   rF   r   r=   )r/   r&   r    r   r[   rP   rQ   r\   s           r'   r]   z#assoc_legendre._eval_rewrite_as_SumÙ  sË   € Ý1Ü�#‹JˆÜ˜˜1™˜q ™s™Ó# Q¨¡T¬)°A¸±EÓ*:Ñ%:¼9Øó<ñ &Ü˜˜Q˜q™S™ 1™Ó%ñ&&ñ 'Ü'(§}¡}°aÑ'7ñ8Ø89¸AÀ¹EÀAÀaÁC¹KÑ8HñIˆà�A�q‘D‘˜A˜a™CÑ ¡3 t¨a°´E¸1¸q¹5Ä!Ç&Á&¹.Ó4IÐ-JÓ#KÑKÐKr)   c                 ó,   —  | j                   |||fi |¤ŽS r_   r`   )r/   r&   r    r   r[   s        r'   ra   z*assoc_legendre._eval_rewrite_as_polynomialà  rr   r)   c                 ó€   — | j                   \  }}}| j                  ||j                  «       |j                  «       «      S r_   rc   )r/   r&   r    r   s       r'   r0   zassoc_legendre._eval_conjugateå  rt   r)   Nru   )r1   r2   r3   r4   r5   r(   rM   rW   r]   ra   r0   r6   r)   r'   rC   rC   y  sI   „ ñ8ðt ñLó ðLð ñGó ðGó 5òLò<ó
:r)   rC   c                   óJ   — e Zd ZdZ ee«      Zed„ «       Zdd„Z	d„ Z
d„ Zd„ Zy)	Úhermitea.  
    ``hermite(n, x)`` gives the $n$th Hermite polynomial in $x$, $H_n(x)$.

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

    The Hermite polynomials are orthogonal on $(-\infty, \infty)$
    with respect to the weight $\exp\left(-x^2\right)$.

    Examples
    ========

    >>> from sympy import hermite, diff
    >>> from sympy.abc import x, n
    >>> hermite(0, x)
    1
    >>> hermite(1, x)
    2*x
    >>> hermite(2, x)
    4*x**2 - 2
    >>> hermite(n, x)
    hermite(n, x)
    >>> diff(hermite(n,x), x)
    2*n*hermite(n - 1, x)
    >>> hermite(n, -x)
    (-1)**n*hermite(n, x)

    See Also
    ========

    jacobi, gegenbauer,
    chebyshevt, chebyshevt_root, chebyshevu, chebyshevu_root,
    legendre, assoc_legendre,
    hermite_prob,
    laguerre, assoc_laguerre,
    sympy.polys.orthopolys.jacobi_poly
    sympy.polys.orthopolys.gegenbauer_poly
    sympy.polys.orthopolys.chebyshevt_poly
    sympy.polys.orthopolys.chebyshevu_poly
    sympy.polys.orthopolys.hermite_poly
    sympy.polys.orthopolys.hermite_prob_poly
    sympy.polys.orthopolys.legendre_poly
    sympy.polys.orthopolys.laguerre_poly

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Hermite_polynomial
    .. [2] https://mathworld.wolfram.com/HermitePolynomial.html
    .. [3] https://functions.wolfram.com/Polynomials/HermiteH/

    c                 ó°  — |j                   sŸ|j                  «       r!t        j                  |z  t	        || «      z  S |j
                  r?d|z  t        t        j                  «      z  t        t        j                  |z
  dz  «      z  S |t        j                  u rt        j                  S y |j                  rt        d|z  «      ‚| j                  ||«      S )Nr;   ú0The index n must be nonnegative integer (got %r))rD   rE   r   rF   rª   r?   r   rl   r   rG   rH   rZ   rJ   r(   r$   s      r'   rM   zhermite.eval&  s¶   € à�{Š{ð ×)Ñ)Ô+Ü—}‘} aÑ'¬'°!°a°R«.Ñ8Ð8à�yŠyØ˜!‘tœd¤1§4¡4›jÑ(¬5´!·%±%¸!±)¸Q±Ó+?Ñ?Ð?Ø”a—j‘j‘Ü—z‘zÐ!ð !ð �}Š}Ü ØFÈÑJóLð Lð ×)Ñ)¨!¨QÓ/Ð/r)   c                 óŽ   — |dk(  rt        | |«      ‚|dk(  r$| j                  \  }}d|z  t        |dz
  |«      z  S t        | |«      ‚ry   )r   r-   rª   rz   s       r'   rW   zhermite.fdiff:  sQ   € Ø�qŠ=ä$ T¨8Ó4Ð4Ø˜Š]à—9‘9‰DˆAˆqØ�Q‘3”w˜q 1™u aÓ(Ñ(Ð(ä$ T¨8Ó4Ð4r)   c           
      óì   — ddl m} t        d«      }t        j                  |z  t        |«      t        |d|z  z
  «      z  z  d|z  |d|z  z
  z  z  }t        |«       |||dt        |dz  «      f«      z  S rˆ   r‰   r}   s          r'   r]   zhermite._eval_rewrite_as_SumE  su   € Ý1Ü�#‹JˆÜ�}‰}˜aÑ¤9¨Q£<´	¸!¸aÀ¹c¹'Ó0BÑ#BÑCÀqÈÁsÈaÐRSÐTUÑRUÉgÑFVÑVˆÜ˜‹|™C  q¨!¬U°1°Q±3«ZÐ&8Ó9Ñ9Ð9r)   c                 ó*   —  | j                   ||fi |¤ŽS r_   r`   r   s       r'   ra   z#hermite._eval_rewrite_as_polynomialK  r€   r)   c                 óP   — t        d«      |z  t        ||t        d«      z  «      z  S r…   )r   Úhermite_probr   s       r'   Ú_eval_rewrite_as_hermite_probz%hermite._eval_rewrite_as_hermite_probP  s$   € Ü�A‹w˜‰zœL¨¨A¬d°1«g©IÓ6Ñ6Ð6r)   Nr�   )r1   r2   r3   r4   r‚   r   r    r5   rM   rW   r]   ra   r²   r6   r)   r'   rª   rª   î  s:   „ ñ3ñj ˜|Ó,€Kàñ0ó ð0ó&	5ò:ò9ó
7r)   rª   c                   óJ   — e Zd ZdZ ee«      Zed„ «       Zdd„Z	d„ Z
d„ Zd„ Zy)	r±   a¥  
    ``hermite_prob(n, x)`` gives the $n$th probabilist's Hermite polynomial
    in $x$, $He_n(x)$.

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

    The probabilist's Hermite polynomials are orthogonal on $(-\infty, \infty)$
    with respect to the weight $\exp\left(-\frac{x^2}{2}\right)$. They are monic
    polynomials, related to the plain Hermite polynomials (:py:class:`~.hermite`) by

    .. math :: He_n(x) = 2^{-n/2} H_n(x/\sqrt{2})

    Examples
    ========

    >>> from sympy import hermite_prob, diff, I
    >>> from sympy.abc import x, n
    >>> hermite_prob(1, x)
    x
    >>> hermite_prob(5, x)
    x**5 - 10*x**3 + 15*x
    >>> diff(hermite_prob(n,x), x)
    n*hermite_prob(n - 1, x)
    >>> hermite_prob(n, -x)
    (-1)**n*hermite_prob(n, x)

    The sum of absolute values of coefficients of $He_n(x)$ is the number of
    matchings in the complete graph $K_n$ or telephone number, A000085 in the OEIS:

    >>> [hermite_prob(n,I) / I**n for n in range(11)]
    [1, 1, 2, 4, 10, 26, 76, 232, 764, 2620, 9496]

    See Also
    ========

    jacobi, gegenbauer,
    chebyshevt, chebyshevt_root, chebyshevu, chebyshevu_root,
    legendre, assoc_legendre,
    hermite,
    laguerre, assoc_laguerre,
    sympy.polys.orthopolys.jacobi_poly
    sympy.polys.orthopolys.gegenbauer_poly
    sympy.polys.orthopolys.chebyshevt_poly
    sympy.polys.orthopolys.chebyshevu_poly
    sympy.polys.orthopolys.hermite_poly
    sympy.polys.orthopolys.hermite_prob_poly
    sympy.polys.orthopolys.legendre_poly
    sympy.polys.orthopolys.laguerre_poly

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Hermite_polynomial
    .. [2] https://mathworld.wolfram.com/HermitePolynomial.html
    c                 ó¦  — |j                   s™|j                  «       r!t        j                  |z  t	        || «      z  S |j
                  r9t        t        j                  «      t        t        j                  |z
  dz  «      z  S |t        j                  u rt        j                  S y |j                  rt        d|z  «       y | j                  ||«      S )Nr;   z'n must be a nonnegative integer, not %r)rD   rE   r   rF   r±   r?   r   rl   r   rG   rH   rZ   rJ   r(   r$   s      r'   rM   zhermite_prob.eval�  s¡   € à�{Š{Ø×)Ñ)Ô+Ü—}‘} aÑ'¬,°q¸1¸"Ó*=Ñ=Ð=Ø�yŠyÜœAŸD™D“z¤E¬1¯5©5°©7°a©-Ó$8Ñ8Ð8Ø”a—j‘j‘Ü—z‘zÐ!ð !ð �}Š}ÜÐDÀqÑHÕIà×)Ñ)¨!¨QÓ/Ð/r)   c                 óf   — |dk(  r!| j                   \  }}|t        |dz
  |«      z  S t        | |«      ‚)Nr;   r+   )r-   r±   r   rz   s       r'   rW   zhermite_prob.fdiffŸ  s9   € Ø�qŠ=Ø—9‘9‰DˆAˆqØ”\ ! A¡# qÓ)Ñ)Ð)ä$ T¨8Ó4Ð4r)   c           
      óè   — ddl m} t        d«      }t        j                   |z  ||d|z  z
  z  z  t        |«      t        |d|z  z
  «      z  z  }t        |«       |||dt        |dz  «      f«      z  S rˆ   )rS   rP   r   r   r=   r	   r   r}   s          r'   r]   z!hermite_prob._eval_rewrite_as_Sum¦  sn   € Ý1Ü�#‹JˆÜ—‘�˜!‰|˜a ! A a¡C¡%™jÑ(¬I°a«L¼9ÀQÀqÈÁsÁUÓ;KÑ,KÑLˆÜ˜‹|™C  q¨!¬U°1°Q±3«ZÐ&8Ó9Ñ9Ð9r)   c                 ó*   —  | j                   ||fi |¤ŽS r_   r`   r   s       r'   ra   z(hermite_prob._eval_rewrite_as_polynomial¬  r€   r)   c                 óR   — t        d«      | z  t        ||t        d«      z  «      z  S r…   )r   rª   r   s       r'   Ú_eval_rewrite_as_hermitez%hermite_prob._eval_rewrite_as_hermite±  s&   € Ü�A‹w˜!˜‰}œw q¨!¬D°«G©)Ó4Ñ4Ð4r)   Nr�   )r1   r2   r3   r4   r‚   r   r    r5   rM   rW   r]   ra   r¹   r6   r)   r'   r±   r±   T  s;   „ ñ7ñr Ð0Ó1€Kàñ0ó ð0ó5ò:ò9ó
5r)   r±   c                   óD   — e Zd ZdZ ee«      Zed„ «       Zdd„Z	d„ Z
d„ Zy)ÚlaguerreaL  
    Returns the $n$th Laguerre polynomial in $x$, $L_n(x)$.

    Examples
    ========

    >>> from sympy import laguerre, diff
    >>> from sympy.abc import x, n
    >>> laguerre(0, x)
    1
    >>> laguerre(1, x)
    1 - x
    >>> laguerre(2, x)
    x**2/2 - 2*x + 1
    >>> laguerre(3, x)
    -x**3/6 + 3*x**2/2 - 3*x + 1

    >>> laguerre(n, x)
    laguerre(n, x)

    >>> diff(laguerre(n, x), x)
    -assoc_laguerre(n - 1, 1, x)

    Parameters
    ==========

    n : int
        Degree of Laguerre polynomial. Must be `n \ge 0`.

    See Also
    ========

    jacobi, gegenbauer,
    chebyshevt, chebyshevt_root, chebyshevu, chebyshevu_root,
    legendre, assoc_legendre,
    hermite, hermite_prob,
    assoc_laguerre,
    sympy.polys.orthopolys.jacobi_poly
    sympy.polys.orthopolys.gegenbauer_poly
    sympy.polys.orthopolys.chebyshevt_poly
    sympy.polys.orthopolys.chebyshevu_poly
    sympy.polys.orthopolys.hermite_poly
    sympy.polys.orthopolys.hermite_prob_poly
    sympy.polys.orthopolys.legendre_poly
    sympy.polys.orthopolys.laguerre_poly

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Laguerre_polynomial
    .. [2] https://mathworld.wolfram.com/LaguerrePolynomial.html
    .. [3] https://functions.wolfram.com/Polynomials/LaguerreL/
    .. [4] https://functions.wolfram.com/Polynomials/LaguerreL3/

    c                 ó.  — |j                   du rt        d«      ‚|j                  s¶|j                  «       r1| dz
  j                  «       st	        |«      t        | dz
  | «      z  S |j                  rt        j                  S |t        j                  u rt        j                  S |t        j                  u r$t        j                  |z  t        j                  z  S y |j                  rt	        |«      t        | dz
  | «      z  S | j                  ||«      S )NFúError: n should be an integer.r+   )r   rJ   rD   rE   r   r»   r?   r   rG   ÚNegativeInfinityrH   rF   rZ   r(   r$   s      r'   rM   zlaguerre.evalõ  sè   € à�<‰<˜5Ñ ÜÐ=Ó>Ð>Ø�{Š{ð ×)Ñ)Ô+°Q°B¸±F×3TÑ3TÔ3VÜ˜1“vœh¨ r¨A¡v°¨rÓ2Ñ2Ð2à�yŠyÜ—u‘u�Ø”a×(Ñ(Ñ(Ü—z‘zÐ!Ø”a—j‘j‘Ü—}‘} aÑ'¬!¯*©*Ñ4Ð4ð !ð �}Š}Ü˜1“vœh¨ r¨A¡v°¨rÓ2Ñ2Ð2à×)Ñ)¨!¨QÓ/Ð/r)   c                 ó†   — |dk(  rt        | |«      ‚|dk(  r | j                  \  }}t        |dz
  d|«       S t        | |«      ‚ry   )r   r-   Úassoc_laguerrerz   s       r'   rW   zlaguerre.fdiff  sM   € Ø�qŠ=ä$ T¨8Ó4Ð4Ø˜Š]à—9‘9‰DˆAˆqÜ" 1 q¡5¨!¨QÓ/Ð/Ð/ä$ T¨8Ó4Ð4r)   c                 ó  — ddl m} |j                  r%t        |«       | j                  | dz
  | fi |¤Žz  S |j
                  du rt        d«      ‚t        d«      }t        | |«      t        |«      dz  z  ||z  z  } |||d|f«      S )Nr   rO   r+   Fr½   rQ   r;   )
rS   rP   rZ   r   r]   r   rJ   r   r
   r	   r}   s          r'   r]   zlaguerre._eval_rewrite_as_Sum  s�   € Ý1à�=Š=Ü�q“6Ð5˜D×5Ñ5°q°b¸1±f¸q¸bÑKÀFÑKÑKÐKØ�<‰<˜5Ñ ÜÐ=Ó>Ð>Ü�#‹JˆÜ ˜r 1Ó%¬	°!«°a©Ñ7¸!¸Q¹$Ñ>ˆÙ�4˜!˜Q ˜Ó#Ð#r)   c                 ó*   —  | j                   ||fi |¤ŽS r_   r`   r   s       r'   ra   z$laguerre._eval_rewrite_as_polynomial"  r€   r)   Nr�   )r1   r2   r3   r4   r‚   r   r    r5   rM   rW   r]   ra   r6   r)   r'   r»   r»   º  s5   „ ñ6ñp ˜}Ó-€Kàñ0ó ð0ó,	5ò	$ó9r)   r»   c                   ó:   — e Zd ZdZed„ «       Zdd„Zd„ Zd„ Zd„ Z	y)	rÀ   aj  
    Returns the $n$th generalized Laguerre polynomial in $x$, $L_n(x)$.

    Examples
    ========

    >>> from sympy import assoc_laguerre, diff
    >>> from sympy.abc import x, n, a
    >>> assoc_laguerre(0, a, x)
    1
    >>> assoc_laguerre(1, a, x)
    a - x + 1
    >>> assoc_laguerre(2, a, x)
    a**2/2 + 3*a/2 + x**2/2 + x*(-a - 2) + 1
    >>> assoc_laguerre(3, a, x)
    a**3/6 + a**2 + 11*a/6 - x**3/6 + x**2*(a/2 + 3/2) +
        x*(-a**2/2 - 5*a/2 - 3) + 1

    >>> assoc_laguerre(n, a, 0)
    binomial(a + n, a)

    >>> assoc_laguerre(n, a, x)
    assoc_laguerre(n, a, x)

    >>> assoc_laguerre(n, 0, x)
    laguerre(n, x)

    >>> diff(assoc_laguerre(n, a, x), x)
    -assoc_laguerre(n - 1, a + 1, x)

    >>> diff(assoc_laguerre(n, a, x), a)
    Sum(assoc_laguerre(_k, a, x)/(-a + n), (_k, 0, n - 1))

    Parameters
    ==========

    n : int
        Degree of Laguerre polynomial. Must be `n \ge 0`.

    alpha : Expr
        Arbitrary expression. For ``alpha=0`` regular Laguerre
        polynomials will be generated.

    See Also
    ========

    jacobi, gegenbauer,
    chebyshevt, chebyshevt_root, chebyshevu, chebyshevu_root,
    legendre, assoc_legendre,
    hermite, hermite_prob,
    laguerre,
    sympy.polys.orthopolys.jacobi_poly
    sympy.polys.orthopolys.gegenbauer_poly
    sympy.polys.orthopolys.chebyshevt_poly
    sympy.polys.orthopolys.chebyshevu_poly
    sympy.polys.orthopolys.hermite_poly
    sympy.polys.orthopolys.hermite_prob_poly
    sympy.polys.orthopolys.legendre_poly
    sympy.polys.orthopolys.laguerre_poly

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Laguerre_polynomial#Generalized_Laguerre_polynomials
    .. [2] https://mathworld.wolfram.com/AssociatedLaguerrePolynomial.html
    .. [3] https://functions.wolfram.com/Polynomials/LaguerreL/
    .. [4] https://functions.wolfram.com/Polynomials/LaguerreL3/

    c                 ó–  — |j                   rt        ||«      S |j                  s|j                   rt        ||z   |«      S |t        j
                  u r)|dkD  r$t        j                  |z  t        j
                  z  S |t        j                  u r|dkD  rt        j
                  S y y |j                  rt        d|z  «      ‚t        |||«      S )Nr   r¬   )r?   r»   rD   r   r   rH   rF   r¾   rZ   rJ   r   )r%   r&   Úalphar   s       r'   rM   zassoc_laguerre.evalo  s¶   € ð �=Š=Ü˜A˜q“>Ð!à�{Š{à�yŠyÜ  E¡	¨5Ó1Ð1Ø”a—j‘j‘ Q¨¢UÜ—}‘} aÑ'¬!¯*©*Ñ4Ð4Ø”a×(Ñ(Ñ(¨Q°ªUÜ—z‘zÐ!ð .3Ð(ð �}Š}Ü ØFÈÑJóLð Lô % Q¨¨5Ó1Ð1r)   c                 ó  — ddl m} |dk(  rt        | |«      ‚|dk(  r;| j                  \  }}}t	        d«      } |t        |||«      ||z
  z  |d|dz
  f«      S |dk(  r$| j                  \  }}}t        |dz
  |dz   |«       S t        | |«      ‚)Nr   rO   r+   r;   rQ   r<   )rS   rP   r   r-   r   rÀ   )r/   rT   rP   r&   rÅ   r   rQ   s          r'   rW   zassoc_laguerre.fdiff…  sž   € Ý1Ø�qŠ=ä$ T¨8Ó4Ð4Ø˜Š]àŸ)™)‰KˆAˆu�aÜ�c“
ˆAÙ”~ a¨°Ó2°a¸%±iÑ@À1ÀaÈÈQÉÀ-ÓPÐPØ˜Š]àŸ)™)‰KˆAˆu�aÜ" 1 q¡5¨%°!©)°QÓ7Ð7Ð7ä$ T¨8Ó4Ð4r)   c                 ó$  — ddl m} |j                  s|j                  du rt	        d«      ‚t        d«      }t        | |«      t        ||z   dz   «      t        |«      z  z  ||z  z  }t        ||z   dz   «      t        |«      z   |||d|f«      z  S )Nr   rO   FrY   rQ   r+   )	rS   rP   rZ   r   rJ   r   r
   r   r	   )r/   r&   rÅ   r   r[   rP   rQ   r\   s           r'   r]   z#assoc_laguerre._eval_rewrite_as_Sum–  s–   € Ý1à�=Š=˜AŸL™L¨EÑ1ÜÐIÓJÐJÜ�#‹JˆÜØˆB�óÜ˜A ™I¨™MÓ*¬Y°q«\Ñ9ñ;Ø=>À¹TñBˆä�Q˜‘Y ‘]Ó#¤i°£lÑ2±S¸ÀÀ1Àa¸yÓ5IÑIÐIr)   c                 ó,   —  | j                   |||fi |¤ŽS r_   r`   )r/   r&   rÅ   r   r[   s        r'   ra   z*assoc_laguerre._eval_rewrite_as_polynomial   s    € ð )ˆt×(Ñ(¨¨E°1Ñ?¸Ñ?Ð?r)   c                 ó€   — | j                   \  }}}| j                  ||j                  «       |j                  «       «      S r_   rc   )r/   r&   rÅ   r   s       r'   r0   zassoc_laguerre._eval_conjugate¥  s1   € Ø—i‘i‰ˆˆ5�!Ø�y‰y˜˜EŸO™OÓ-¨q¯{©{«}Ó=Ð=r)   Nru   rd   r6   r)   r'   rÀ   rÀ   (  s3   „ ñDðL ñ2ó ð2ó*5ò"Jò@ó
>r)   rÀ   N)5r4   Ú
sympy.corer   Úsympy.core.functionr   r   Úsympy.core.singletonr   Úsympy.core.symbolr   Ú(sympy.functions.combinatorial.factorialsr   r	   r
   Ú$sympy.functions.elementary.complexesr   Ú&sympy.functions.elementary.exponentialr   Ú#sympy.functions.elementary.integersr   Ú(sympy.functions.elementary.miscellaneousr   Ú(sympy.functions.elementary.trigonometricr   r   Ú'sympy.functions.special.gamma_functionsr   Úsympy.functions.special.hyperr   Úsympy.polys.orthopolysr   r   r   r   r   r   r   r   r"   r   r8   rg   rB   r>   rA   rŒ   r”   r@   rC   rª   r±   r»   rÀ   r6   r)   r'   ú<module>r×      s  ðñõ  ß CÝ "Ý #ß YÑ YÝ 3Ý 6Ý 5Ý 9ß =Ý 9Ý /÷O÷ Oó Oñ ˆ3ƒZ€ô
A˜?ô 
Aô"dIÐ!ô dIòNF.ô\R:Ð%ô R:ôrs9Ð%ô s9ôl{9Ð%ô {9ô|&)�oô &)ôR&)�oô &)ôZq9Ð#ô q9ôhn:�_ô n:ôjc7Ð"ô c7ôL^5Ð'ô ^5ôLk9Ð#ô k9ô\>Ð)õ >r)   