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))
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)))
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)))
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))
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)))
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))
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)))
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())
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)))
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))