Esempio n. 1
0
    def eval(cls, n, alpha, x):
        # L_{n}^{0}(x)  --->  L_{n}(x)
        if alpha == S.Zero:
            return laguerre(n, x)

        if not n.is_Number:
            # We can evaluate for some special values of x
            if x == S.Zero:
                return C.binomial(n+alpha, alpha)
            elif x == S.Infinity and n > S.Zero:
                return S.NegativeOne**n * S.Infinity
            elif x == S.NegativeInfinity and n > S.Zero:
                return S.Infinity
        else:
            # n is a given fixed integer, evaluate into polynomial
            if n.is_negative:
                raise ValueError("The index n must be nonnegative integer (got %r)" % n)
            else:
                return laguerre_poly(n, x, alpha)
Esempio n. 2
0
    def eval(cls, n, alpha, x):
        # L_{n}^{0}(x)  --->  L_{n}(x)
        if alpha == S.Zero:
            return laguerre(n, x)

        if not n.is_Number:
            # We can evaluate for some special values of x
            if x == S.Zero:
                return C.binomial(n + alpha, alpha)
            elif x == S.Infinity and n > S.Zero:
                return S.NegativeOne**n * S.Infinity
            elif x == S.NegativeInfinity and n > S.Zero:
                return S.Infinity
        else:
            # n is a given fixed integer, evaluate into polynomial
            if n.is_negative:
                raise ValueError(
                    "The index n must be nonnegative integer (got %r)" % n)
            else:
                return laguerre_poly(n, x, alpha)
Esempio n. 3
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. 4
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. 5
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. 6
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)))