Esempio n. 1
0
 def _eval_rewrite_as_polynomial(self, n, x):
     k = C.Dummy("k")
     kern = (-1)**k * C.binomial(n, k)**2 * ((1 + x) / 2)**(n - k) * (
         (1 - x) / 2)**k
     return C.Sum(kern, (k, 0, n))
Esempio n. 2
0
 def _eval_rewrite_as_polynomial(self, n, x):
     k = C.Dummy("k")
     kern = C.binomial(n, 2 * k) * (x**2 - 1)**k * x**(n - 2 * k)
     return C.Sum(kern, (k, 0, C.floor(n / 2)))
Esempio n. 3
0
 def _eval_rewrite_as_polynomial(self, n, x):
     k = C.Dummy("k")
     kern = S.NegativeOne**k * C.factorial(n - k) * (2 * x)**(n - 2 * k) / (
         C.factorial(k) * C.factorial(n - 2 * k))
     return C.Sum(kern, (k, 0, C.floor(n / 2)))
Esempio n. 4
0
 def _eval_rewrite_as_polynomial(self, n, x):
     # TODO: Should make sure n is in N_0
     k = C.Dummy("k")
     kern = C.RisingFactorial(
         -n, k) / (C.gamma(k + alpha + 1) * C.factorial(k)) * x**k
     return C.gamma(n + alpha + 1) / C.factorial(n) * C.Sum(kern, (k, 0, n))
Esempio n. 5
0
 def _eval_rewrite_as_polynomial(self, n, a, x):
     k = C.Dummy("k")
     kern = ((-1)**k * C.RisingFactorial(a, n - k) * (2 * x)**(n - 2 * k) /
             (C.factorial(k) * C.factorial(n - 2 * k)))
     return C.Sum(kern, (k, 0, C.floor(n / 2)))
Esempio n. 6
0
 def _eval_rewrite_as_polynomial(self, n, x):
     # TODO: Should make sure n is in N_0
     k = C.Dummy("k")
     kern = C.RisingFactorial(-n, k) / C.factorial(k)**2 * x**k
     return C.Sum(kern, (k, 0, n))
Esempio n. 7
0
 def _eval_rewrite_as_polynomial(self, n, x):
     k = C.Dummy("k")
     kern = (-1)**k / (C.factorial(k) *
                       C.factorial(n - 2 * k)) * (2 * x)**(n - 2 * k)
     return C.factorial(n) * C.Sum(kern, (k, 0, C.floor(n / 2)))
Esempio n. 8
0
from __future__ import print_function, division

from sympy.core.basic import C
from sympy.core.singleton import S
from sympy.core import Rational
from sympy.core.function import Function, ArgumentIndexError
from sympy.functions.elementary.miscellaneous import sqrt
from sympy.functions.special.gamma_functions import gamma
from sympy.functions.combinatorial.factorials import factorial

from sympy.polys.orthopolys import (jacobi_poly, gegenbauer_poly,
                                    chebyshevt_poly, chebyshevu_poly,
                                    laguerre_poly, hermite_poly, legendre_poly)

_x = C.Dummy('x')


class OrthogonalPolynomial(Function):
    """Base class for orthogonal polynomials.
    """
    nargs = 2

    @classmethod
    def _eval_at_order(cls, n, x):
        if n.is_integer and n >= 0:
            return cls._ortho_poly(int(n), _x).subs(_x, x)

    def _eval_conjugate(self):
        return self.func(self.args[0], self.args[1].conjugate())
Esempio n. 9
0
 def _eval_rewrite_as_polynomial(self, n, m, x):
     k = C.Dummy("k")
     kern = C.factorial(2*n - 2*k)/(2**n*C.factorial(n - k)*C.factorial(
         k)*C.factorial(n - 2*k - m))*(-1)**k*x**(n - m - 2*k)
     return (1 - x**2)**(m/2) * C.Sum(kern, (k, 0, C.floor((n - m)*S.Half)))
Esempio n. 10
0
 def _eval_rewrite_as_polynomial(self, n, a, b, x):
     # TODO: Make sure n \in N
     k = C.Dummy("k")
     kern = (C.RisingFactorial(-n, k) * C.RisingFactorial(a + b + n + 1, k) * C.RisingFactorial(a + k + 1, n - k) /
             C.factorial(k) * ((1 - x)/2)**k)
     return 1 / C.factorial(n) * C.Sum(kern, (k, 0, n))