Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000822 [ALGLIB] General minor have not tried 2018-08-20 17:49 2018-08-20 17:49
Reporter SergeyB View Status public  
Assigned To SergeyB
Priority normal Resolution open  
Status assigned   Product Version
Summary 0000822: gradient checking functionality in nonlinear optimizers does not handle scaling properly
Description Problem: When I run minlbfgssetgradientcheck(state, 1e-4) to verify that the numerical gradient is accurate enough, I only get a good result when the scale is set to 1 for each variable. If I first set the scale the way I think is desirable using minlbfgssetscale(state, s), I always get the -7 status. My hypothesis is that the gradient check does not take the scale into account properly. More specifically, I think that the line

 

    if( !derivativecheck(state->fm1, state->fp1, state->fm2, state->fp2, state->f, state->g.ptr.p_double[i], 2*state->teststep, _state) )

 

should be:

 

    if( !derivativecheck(state->fm1, state->fp1, state->fm2, state->fp2, state->f, state->g.ptr.p_double[i], 2*state->teststep * state->s.ptr.p_double[i], _state) )

 

to take the scaling properly into account.
Additional Information
Programming language Unspecified
Attached Files

- Relationships

There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2018-08-20 17:49 SergeyB New Issue
2018-08-20 17:49 SergeyB Status new => assigned
2018-08-20 17:49 SergeyB Assigned To => SergeyB
2018-08-20 17:49 SergeyB Programming language => Unspecified


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker