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

Misleading Error Information #34

Open
ZhepeiWang opened this issue Jun 28, 2021 · 0 comments
Open

Misleading Error Information #34

ZhepeiWang opened this issue Jun 28, 2021 · 0 comments

Comments

@ZhepeiWang
Copy link

ZhepeiWang commented Jun 28, 2021

As for code block line 1000-1006 in lbfgs.c

    /*
        If an unusual termination is to occur then let
        stp be the lowest point obtained so far.
     */
    if ((brackt && ((*stp <= stmin || stmax <= *stp) || param->max_linesearch <= count + 1 || uinfo != 0)) || (brackt && (stmax - stmin <= param->xtol * stmax))) {
        *stp = stx;
    }

This code block may cause misleading error information. For example, if the max_linesearch is achieved, the *stp is set as stx at line 1005. However, the error at line 1023-1025 can be catched firstly in this case, thus the returned error is LBFGSERR_ROUNDING_ERROR instead of LBFGSERR_MAXIMUMLINESEARCH. I wonder if there is a possibility for this to happen.

@ZhepeiWang ZhepeiWang changed the title Possible Bug Misleading Error Information Jun 30, 2021
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

1 participant