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

Identifying no-roots case #91

Open
ivborissov opened this issue Oct 19, 2017 · 2 comments
Open

Identifying no-roots case #91

ivborissov opened this issue Oct 19, 2017 · 2 comments

Comments

@ivborissov
Copy link

Hi,
I am solving optimization problem (ODE parameters estimation) and as a result I have 4 values param_1 , param_2 , param_3, param_4 marking minimum of loss_func. Now I need to find intersections of loss_func(param_i) with some critical level alpha = const. Typically loss_func(param_i) has parabolic shape with 2 intersections or "semi-constant shape with little bifurcations" and no intersections with alpha. For parabolic case Roots.jl derivative-free algorithms (order 0, 2, 8) work perfect but for "semi-constant" case it either fails to approximate derivatives or reaches maxevals. I am looking for roots search algorithm that can identify that "semi-constant" case and efficiently explore all the search area (1e-9,1e9) to say that there are no roots. Do you have an idea how it can be achieved?

@jverzani
Copy link
Member

jverzani commented Nov 8, 2017

Boy, that seems like a tough thing to do in general. The fzeros function does a naive approach of splitting the interval into many sub intervals and then searches for bracketing cases. This will not guarantee all zeros are found. I'm not sure exactly how regular your "semi-constant" cases are. You might try tracing the algorithm through verbose=TRUE to see what happens.

@ivborissov
Copy link
Author

I see, thanks

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

No branches or pull requests

2 participants