コード例 #1
0
def test_laguerre():
    assert laguerre(0, x) == 1
    assert laguerre(1, x) == -x + 1
    assert laguerre(2, x) == x**2 / 2 - 2 * x + 1
    assert laguerre(3, x) == -x**3 / 6 + 3 * x**2 / 2 - 3 * x + 1

    assert laguerre(n, oo) == (-1)**n * oo
    assert laguerre(n, -oo) == oo

    X = laguerre(n, x)
    assert isinstance(X, laguerre)

    assert laguerre(n, 0) == 1

    assert conjugate(laguerre(n, x)) == laguerre(n, conjugate(x))

    assert diff(laguerre(n, x), x) == -assoc_laguerre(n - 1, 1, x)

    pytest.raises(ArgumentIndexError, lambda: laguerre(n, x).fdiff(1))

    pytest.raises(ValueError, lambda: laguerre(-2.1, x))

    # issue sympy/sympy#10961
    X = laguerre(Rational(5, 2), x)
    assert isinstance(X, laguerre)
コード例 #2
0
def test_laguerre():
    assert laguerre(0, x) == 1
    assert laguerre(1, x) == -x + 1
    assert laguerre(2, x) == x**2/2 - 2*x + 1
    assert laguerre(3, x) == -x**3/6 + 3*x**2/2 - 3*x + 1

    assert laguerre(n, oo) == (-1)**n*oo
    assert laguerre(n, -oo) == oo

    assert laguerre(-n, x) == exp(x)*laguerre(n - 1, -x)

    X = laguerre(n, x)
    assert isinstance(X, laguerre)

    assert laguerre(n, 0) == 1

    assert conjugate(laguerre(n, x)) == laguerre(n, conjugate(x))

    assert diff(laguerre(n, x), x) == -assoc_laguerre(n - 1, 1, x)

    pytest.raises(ArgumentIndexError, lambda: laguerre(n, x).fdiff(1))

    pytest.raises(ValueError, lambda: laguerre(-2.1, x))

    # issue sympy/sympy#10961
    X = laguerre(Rational(5, 2), x)
    assert isinstance(X, laguerre)
コード例 #3
0
def test_assoc_legendre():
    Plm = assoc_legendre
    Q = sqrt(1 - x**2)

    assert Plm(0, 0, x) == 1
    assert Plm(1, 0, x) == x
    assert Plm(1, 1, x) == -Q
    assert Plm(2, 0, x) == (3*x**2 - 1)/2
    assert Plm(2, 1, x) == -3*x*Q
    assert Plm(2, 2, x) == 3*Q**2
    assert Plm(3, 0, x) == (5*x**3 - 3*x)/2
    assert Plm(3, 1, x).expand() == ((3*(1 - 5*x**2)/2).expand()*Q).expand()
    assert Plm(3, 2, x) == 15*x * Q**2
    assert Plm(3, 3, x) == -15 * Q**3

    # negative m
    assert Plm(1, -1, x) == -Plm(1, 1, x)/2
    assert Plm(2, -2, x) == Plm(2, 2, x)/24
    assert Plm(2, -1, x) == -Plm(2, 1, x)/6
    assert Plm(3, -3, x) == -Plm(3, 3, x)/720
    assert Plm(3, -2, x) == Plm(3, 2, x)/120
    assert Plm(3, -1, x) == -Plm(3, 1, x)/12

    X = Plm(n, m, x)
    assert isinstance(X, assoc_legendre)

    assert Plm(n, 0, x) == legendre(n, x)
    assert Plm(n, m, 0) == 2**m*sqrt(pi)/(gamma((1 - m - n)/2)*gamma(1 - (m - n)/2))

    pytest.raises(ValueError, lambda: Plm(-1, 0, x))
    pytest.raises(ValueError, lambda: Plm(0, 1, x))
    pytest.raises(ValueError, lambda: Plm(-1, 2, x))

    assert conjugate(assoc_legendre(n, m, x)) == \
        assoc_legendre(n, conjugate(m), conjugate(x))

    assert assoc_legendre(n, m, x).diff(x) == \
        (n*x*assoc_legendre(n, m, x) -
         (m + n)*assoc_legendre(n - 1, m, x))/(x**2 - 1)

    pytest.raises(ArgumentIndexError, lambda: assoc_legendre(n, m, x).fdiff(1))

    assert (assoc_laguerre(n, m, x).diff(m) ==
            Sum(assoc_laguerre(k, m, x)/(-m + n), (k, 0, n - 1)))
コード例 #4
0
def test_assoc_legendre():
    Plm = assoc_legendre
    Q = sqrt(1 - x**2)

    assert Plm(0, 0, x) == 1
    assert Plm(1, 0, x) == x
    assert Plm(1, 1, x) == -Q
    assert Plm(2, 0, x) == (3*x**2 - 1)/2
    assert Plm(2, 1, x) == -3*x*Q
    assert Plm(2, 2, x) == 3*Q**2
    assert Plm(3, 0, x) == (5*x**3 - 3*x)/2
    assert Plm(3, 1, x).expand() == (( 3*(1 - 5*x**2)/2 ).expand() * Q).expand()
    assert Plm(3, 2, x) == 15*x * Q**2
    assert Plm(3, 3, x) == -15 * Q**3

    # negative m
    assert Plm(1, -1, x) == -Plm(1, 1, x)/2
    assert Plm(2, -2, x) == Plm(2, 2, x)/24
    assert Plm(2, -1, x) == -Plm(2, 1, x)/6
    assert Plm(3, -3, x) == -Plm(3, 3, x)/720
    assert Plm(3, -2, x) == Plm(3, 2, x)/120
    assert Plm(3, -1, x) == -Plm(3, 1, x)/12

    X = Plm(n, m, x)
    assert isinstance(X, assoc_legendre)

    assert Plm(n, 0, x) == legendre(n, x)
    assert Plm(n, m, 0) == 2**m*sqrt(pi)/(gamma((1 - m - n)/2)*gamma(1 - (m - n)/2))

    pytest.raises(ValueError, lambda: Plm(-1, 0, x))
    pytest.raises(ValueError, lambda: Plm(0, 1, x))
    pytest.raises(ValueError, lambda: Plm(-1, 2, x))

    assert conjugate(assoc_legendre(n, m, x)) == \
        assoc_legendre(n, conjugate(m), conjugate(x))

    assert assoc_legendre(n, m, x).diff(x) == \
        (n*x*assoc_legendre(n, m, x) -
         (m + n)*assoc_legendre(n - 1, m, x))/(x**2 - 1)

    pytest.raises(ArgumentIndexError, lambda: assoc_legendre(n, m, x).fdiff(1))

    assert (str(assoc_laguerre(n, m, x).diff(m)) ==
            'Sum(assoc_laguerre(_k, m, x)/(-m + n), (_k, 0, n - 1))')
コード例 #5
0
def test_laguerre_2():
    # This fails due to issue for Sum, like issue sympy/sympy#5539
    assert diff(assoc_laguerre(n, alpha, x), alpha) == \
        Sum(assoc_laguerre(k, alpha, x)/(-alpha + n), (k, 0, n - 1))
コード例 #6
0
def test_assoc_laguerre():
    # generalized Laguerre polynomials:
    assert assoc_laguerre(0, alpha, x) == 1
    assert assoc_laguerre(1, alpha, x) == -x + alpha + 1
    assert assoc_laguerre(2, alpha, x).expand() == \
        (x**2/2 - (alpha + 2)*x + (alpha + 2)*(alpha + 1)/2).expand()
    assert assoc_laguerre(3, alpha, x).expand() == \
        (-x**3/6 + (alpha + 3)*x**2/2 - (alpha + 2)*(alpha + 3)*x/2 +
        (alpha + 1)*(alpha + 2)*(alpha + 3)/6).expand()

    # Test the lowest 10 polynomials with laguerre_poly, to make sure it works:
    for i in range(10):
        assert assoc_laguerre(i, 0, x).expand() == laguerre_poly(i, x)

    X = assoc_laguerre(n, m, x)
    assert isinstance(X, assoc_laguerre)

    assert assoc_laguerre(n, 0, x) == laguerre(n, x)
    assert assoc_laguerre(n, alpha, 0) == binomial(alpha + n, alpha)

    p = Symbol('p', positive=True)
    assert assoc_laguerre(p, alpha, oo) == (-1)**p * oo
    assert assoc_laguerre(p, alpha, -oo) == oo

    assert diff(assoc_laguerre(n, alpha, x), x) == \
        -assoc_laguerre(n - 1, alpha + 1, x)

    pytest.raises(ArgumentIndexError, lambda: assoc_laguerre(n, m, x).fdiff(1))

    assert conjugate(assoc_laguerre(n, alpha, x)) == \
        assoc_laguerre(n, conjugate(alpha), conjugate(x))

    pytest.raises(ValueError, lambda: assoc_laguerre(-2.1, alpha, x))

    # issue sympy/sympy#10961
    X = assoc_laguerre(Rational(5, 2), alpha, x)
    assert isinstance(X, assoc_laguerre)
コード例 #7
0
def test_laguerre_2():
    # This fails due to issue for Sum, like issue sympy/sympy#5539
    assert diff(assoc_laguerre(n, alpha, x), alpha) == \
        Sum(assoc_laguerre(k, alpha, x)/(-alpha + n), (k, 0, n - 1))
コード例 #8
0
def test_assoc_laguerre():
    # generalized Laguerre polynomials:
    assert assoc_laguerre(0, alpha, x) == 1
    assert assoc_laguerre(1, alpha, x) == -x + alpha + 1
    assert assoc_laguerre(2, alpha, x).expand() == \
        (x**2/2 - (alpha + 2)*x + (alpha + 2)*(alpha + 1)/2).expand()
    assert assoc_laguerre(3, alpha, x).expand() == \
        (-x**3/6 + (alpha + 3)*x**2/2 - (alpha + 2)*(alpha + 3)*x/2 +
         (alpha + 1)*(alpha + 2)*(alpha + 3)/6).expand()

    # Test the lowest 10 polynomials with laguerre_poly, to make sure it works:
    for i in range(10):
        assert assoc_laguerre(i, 0, x).expand() == laguerre_poly(i, x)

    X = assoc_laguerre(n, m, x)
    assert isinstance(X, assoc_laguerre)

    assert assoc_laguerre(n, 0, x) == laguerre(n, x)
    assert assoc_laguerre(n, alpha, 0) == binomial(alpha + n, alpha)

    p = Symbol('p', positive=True)
    assert assoc_laguerre(p, alpha, oo) == (-1)**p*oo
    assert assoc_laguerre(p, alpha, -oo) == oo

    assert diff(assoc_laguerre(n, alpha, x), x) == \
        -assoc_laguerre(n - 1, alpha + 1, x)

    pytest.raises(ArgumentIndexError, lambda: assoc_laguerre(n, m, x).fdiff(1))

    assert conjugate(assoc_laguerre(n, alpha, x)) == \
        assoc_laguerre(n, conjugate(alpha), conjugate(x))

    pytest.raises(ValueError, lambda: assoc_laguerre(-2.1, alpha, x))

    # issue sympy/sympy#10961
    X = assoc_laguerre(Rational(5, 2), alpha, x)
    assert isinstance(X, assoc_laguerre)