-
Notifications
You must be signed in to change notification settings - Fork 114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add regression test for n-link pendulum model #278
base: master
Are you sure you want to change the base?
Add regression test for n-link pendulum model #278
Conversation
Regression test is failing, likely due to tolerance errors near zero. We currently test the integration output using @moorepants Do you have a suggestion on absolute tolerance? |
The atol is needed to compare values to zero and the rtol for comparing to any other values. We may need an atol value if comparisons to zero are happening. |
3e71cdf
to
29b1698
Compare
@moorepants The test still fails after adding absolute tolerance 1e-7. This passes on my machine and I don't know how (or if I can) create the data on a Travis machine. |
24f0eaf
to
a78282e
Compare
Yeah, this is tricky. I'll have to look at it tomorrow. Too much pydy already today. |
372188c
to
c903bcc
Compare
I don't know if you guys were aware, but there's a pretty large difference when using the different integrator methods
If we want agreement with higher precision, we need to reduce simulation time by about a tenth:
Are you guys okay with that for this regression test? |
If you need to create the same plots, you can use this: https://gist.github.com/oliverlee/5a9d3e44d57313982e4b |
This still fails due to what I assume to be differences in integrator implementations in different versions of Python/SciPy. For Python 2.7 oldest:
Python 3.3 oldest:
Python 3.4 oldest:
Python 3.4 latest:
Python 2.7 master:
Python 3.4 master:
|
f94add4
to
7b4b945
Compare
This may be tough to get working. Maybe reducing the integration to something very simple would be best. The three backends that evaluate the eom's could certainly output numerically different answers. Tracking down the numerical inconsistency will be hard. I don't have any great suggestions right now for this issue. |
7b4b945
to
efc968d
Compare
This is probably worth rebasing/merging with master and running tests again. |
This commit resolves pydy#108.
Reduce total simulation time and decrease simulation time step so that we do not compare states after the system trajectory has diverged due to chaotic behavior. Allow larger tolerances in comparison of system generalized speeds.
efc968d
to
30eac7f
Compare
|
This commit resolves #108.