Skip to content
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

Adaptative (local) abstol to validate integration #112

Merged
merged 12 commits into from
May 19, 2021
Merged

Conversation

lbenet
Copy link
Member

@lbenet lbenet commented May 9, 2021

No description provided.

@coveralls
Copy link

coveralls commented May 9, 2021

Pull Request Test Coverage Report for Build 857850225

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 126 of 166 (75.9%) changed or added relevant lines in 1 file are covered.
  • 58 unchanged lines in 19 files lost coverage.
  • Overall coverage increased (+2.0%) to 66.262%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/validatedODEs.jl 126 166 75.9%
Files with Coverage Reduction New Missed Lines %
src/bounds.jl 1 93.37%
src/evaluate.jl 1 86.96%
src/show.jl 1 81.25%
src/Taylor1/draw.jl 1 0.0%
src/auxiliary.jl 2 55.36%
src/recipe.jl 2 0.0%
src/rpa_functions.jl 2 84.17%
src/Taylor1/bound.jl 2 0.0%
src/TaylorN/integrate.jl 2 0.0%
src/TaylorN/TaylorN.jl 2 0.0%
Totals Coverage Status
Change from base Build 821885802: 2.0%
Covered Lines: 874
Relevant Lines: 1319

💛 - Coveralls

@lbenet
Copy link
Member Author

lbenet commented May 9, 2021

This PR aims to shrink the time step in order to validate the integration. It mimics what's currently done in ReachabilityAnalysis.jl.

cc @mforets

@mforets
Copy link
Contributor

mforets commented May 10, 2021

Nice! I'll try this asap..

@lbenet
Copy link
Member Author

lbenet commented May 10, 2021

By some reason, some tests (in macos) do not pass, but after a restart of the tests, they do...

Comment on lines 54 to 55
# If it didn't work and adaptive is false, throw an error
adaptive && return (false, Δx, t[0])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment does not match.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@schillic if the program is outside the loop it means that "it didn't work", that the program couldn't prove the contraction property. then there are two options: either give up (if adaptive is false), or try again with another tolerance (adaptive is true). the first element in the tuple (false, ...) is a flag to say whether picard iteration succeeded or not.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh sorry, I see now: the error comes below 😅

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Related to this comment: Shall we throw an error (and break the integration) or rather a warning, and (in the main function) stop continuing the integration due to this type of failures?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(The same would apply in other parts of the code.)

@lbenet
Copy link
Member Author

lbenet commented May 19, 2021

@mforets @UzielLinares The last two commits implement ideas we discussed (offline).

@lbenet
Copy link
Member Author

lbenet commented May 19, 2021

Tests pass. Merging!

@lbenet lbenet merged commit 577a520 into master May 19, 2021
@lbenet lbenet deleted the lb/adaptive_abstol branch November 16, 2021 22:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Should we use absorb_remainder for validated integration?
4 participants