def test_lambdas_with_jac(self): self.ODE = jitcode(wants_jacobian=True, **vanilla) self.ODE.generate_lambdas() self.ODE.set_integrator("lsoda") self.ODE.set_initial_value(y0) self.assertTrue(_is_lambda(self.ODE.f)) self.assertTrue(_is_lambda(self.ODE.jac))
def test_lambdas_with_jac(self): self.ODE = jitcode(wants_jacobian=True,**vanilla) self.ODE.generate_lambdas() self.ODE.set_integrator("lsoda") self.ODE.set_initial_value(y0) self.assertTrue(_is_lambda(self.ODE.f)) self.assertTrue(_is_lambda(self.ODE.jac))
def test_lambdas(self): self.ODE = jitcode(**self.argdict) self.ODE.generate_lambdas() self.ODE.set_integrator('dopri5') self.ODE.set_initial_value(y0,0.0) self.assertTrue(_is_lambda(self.ODE.f)) self.assertIsNone(self.ODE.jac)
def test_normal_integration(self): for lambdas in (True, False): for integrator in integrators: with self.subTest(integrator=integrator, lambdas=lambdas): ODE = jitcode(**vanilla) if lambdas: ODE.generate_f_lambda() ODE.generate_jac_lambda() ODE.set_integrator(integrator[0]) assert ODE._wants_jacobian == integrator[1] assert not _is_C(ODE.f) == lambdas assert _is_lambda(ODE.f) == lambdas if integrator[1]: assert _is_lambda(ODE.jac) == lambdas assert not _is_C(ODE.jac) == lambdas ODE.set_initial_value(y0, 0.0) assert_allclose(ODE.integrate(1.0), y1, rtol=1e-3)
def test_normal_integration(self): for lambdas in (True,False): for integrator in integrators: with self.subTest(integrator=integrator,lambdas=lambdas): ODE = jitcode(**vanilla) if lambdas: ODE.generate_f_lambda() ODE.generate_jac_lambda() ODE.set_integrator(integrator[0]) assert ODE._wants_jacobian == integrator[1] assert not _is_C(ODE.f) == lambdas assert _is_lambda(ODE.f) == lambdas if integrator[1]: assert _is_lambda(ODE.jac) == lambdas assert not _is_C(ODE.jac) == lambdas ODE.set_initial_value(y0,0.0) assert_allclose( ODE.integrate(1.0), y1, rtol=1e-3 )
def test_lambdas_with_jac(self): self.ODE.generate_f_lambda() self.ODE.generate_jac_lambda() self.assertTrue(_is_lambda(self.ODE.f)) self.assertTrue(_is_lambda(self.ODE.jac))