def test_1d(): B = gen_BrownianMotion() Bs = formula.aliased_function("B", B) t = sympy.DeferredVector('t') n={}; aliased._add_aliases_to_namespace(n, Bs) expr = 3*sympy.exp(Bs(t)) + 4 ee = sympy.lambdify(t, expr, (n, 'numpy')) yield assert_almost_equal(ee(B.x), 3*np.exp(B.y)+4)
def test_2d(): B1, B2 = [gen_BrownianMotion() for _ in range(2)] B1s = formula.aliased_function("B1", B1) B2s = formula.aliased_function("B2", B2) t = sympy.DeferredVector('t') s = sympy.DeferredVector('s') e = B1s(s)+B2s(t) n={}; aliased._add_aliases_to_namespace(n, e) ee = sympy.lambdify((s,t), e, (n, 'numpy')) yield assert_almost_equal(ee(B1.x, B2.x), B1.y + B2.y)