Пример #1
0
 def test_Bind(self):
     from sympy.abc import x, y, z
     m = Symbol  ('m', commutative=False)
     n = Function('n', commutative=False)
     k = Function('k', commutative=False)
     assert straighten(Bind(Bind(m,x,n(x)),y,k(y))) == Bind(m,x,Bind(n(x),y,k(y)))
     assert straighten(Bind(Bind(m,x,n(x)),y,k(x,y))).dummy_eq(Bind(m,z,Bind(n(z),y,k(x,y))), z)
Пример #2
0
def test_derivative_subs_bug():
    x = Symbol("x y")
    l = Function('l')
    n = Function('n')

    e = diff(n(x), x)
    assert e.subs(n(x), l(x)) != e
    assert e.subs(n(x), l(x)) == Derivative(l(x), x)
    assert e.subs(n(x), -l(x)) == Derivative(-l(x), x)

    assert e.subs(x, y) == Derivative(n(y), y)
Пример #3
0
def test_derivative_subs_bug():
    x = Symbol("x y")
    l = Function('l')
    n = Function('n')

    e = diff(n(x), x)
    assert e.subs(n(x), l(x)) != e
    assert e.subs(n(x), l(x)) == Derivative(l(x), x)
    assert e.subs(n(x), -l(x)) == Derivative(-l(x), x)

    assert e.subs(x, y) == Derivative(n(y), y)
Пример #4
0
 def test_Mul(self):
     from sympy.abc import a, b, c, x, y
     m = Symbol  ('m', commutative=False)
     n = Function('n', commutative=False)
     k = Function('k', commutative=False)
     assert straighten(Bind(a*m, x, b*Bind(c*n(x), y, k(x,y)))) == a*b*c*Bind(m,x,Bind(n(x),y,k(x,y)))
     assert straighten(Bind(a*Bind(b*m, x, c*n(x)), y, k(y))) == a*b*c*Bind(m,x,Bind(n(x),y,k(y)))
     assert straighten(Bind(m, x, Bind(n(x), y, a*exp(b*x+c*y)*k(x,y)))) == a*Bind(m, x, exp(b*x)*Bind(n(x), y, exp(c*y)*k(x,y)))
     a = Function('a')
     b = Function('b')
     c = Function('c')
     assert straighten(Bind(a(x)*m, x, b(x)*Bind(c(x)*n(x), y, k(x,y)))) == a(x)*Bind(m,x,b(x)*c(x)*Bind(n(x),y,k(x,y)))
     assert straighten(Bind(a(x)*Bind(b(x)*m, x, c(x)*n(x)), y, k(y))) == a(x)*b(x)*Bind(m,x,c(x)*Bind(n(x),y,k(y)))
Пример #5
0
def test_derivative_linearity():
    x = Symbol("x")
    y = Symbol("y")
    n = Function('n')

    assert diff(-n(x), x) == -diff(n(x), x)
    assert diff(8*n(x), x) == 8*diff(n(x), x)
    assert diff(8*n(x), x) != 7*diff(n(x), x)
    assert diff(8*n(x)*x, x) == 8*n(x) + 8*x*diff(n(x), x)
    assert diff(8*n(x)*y*x, x) == 8*y*n(x) + 8*y*x*diff(n(x), x)
Пример #6
0
def test_derivative_linearity():
    x = Symbol("x")
    y = Symbol("y")
    n = Function('n')

    assert diff(-n(x), x) == -diff(n(x), x)
    assert diff(8 * n(x), x) == 8 * diff(n(x), x)
    assert diff(8 * n(x), x) != 7 * diff(n(x), x)
    assert diff(8 * n(x) * x, x) == 8 * n(x) + 8 * x * diff(n(x), x)
    assert diff(8 * n(x) * y * x,
                x) == 8 * y * n(x) + 8 * y * x * diff(n(x), x)
Пример #7
0
 def test_var(self):
     from sympy.abc import x, y, z
     m = Function('m', commutative=False)
     n = Function('n', commutative=False)
     g = Function('g')
     assert Expect(Bind(Bind(Lebesgue(3,6), x, m(x)), y, n(y)), Lambda(z, g(z))).dummy_eq(integrate(Expect(m(x), Lambda(y, Expect(n(y), Lambda(z, g(z))))), (x,3,6)))