Step size in Minuit, again

Fumili and Minuit act here differently, so I decided to write this post.

I can’t get minuit and minuit2 to respect my step size in some cases. I do:

	fitter->Config().ParSettings(6).SetLimits(-1e-5, 1e-5);
	fitter->Config().ParSettings(6).SetStepSize(1e-6);

and parameter 6 is at the beginning set to 0.

and than, during fitting, I print out my parameter changes. Here is the first change using Fumili:

Change in parameter 6. Old value: 0, new value: -1e-05

and second:

Change in parameter 6. Old value: -1e-05, new value: -2.5e-06

so it’s around my step size. Now Minuit Minimize (same with Minuit2), initial settings seem to be fine:

 FCN= unknown        FROM FIX         STATUS=RESET           0 CALLS           2
 TOTAL
                     EDM= unknown      STRATEGY= 1      NO ERROR MATRIX       
  EXT PARAMETER               CURRENT GUESS      PHYSICAL LIMITS       
  NO.   NAME      VALUE            ERROR       NEGATIVE      POSITIVE  
   1  x            0.00000e+00     fixed    
   2  y            4.00000e+02     fixed    
   3  dx           1.48974e-01   5.00000e-01  -1.10000e+00   1.10000e+00
   4  dy          -9.42479e-01   1.00000e-01  -1.10000e+00   1.10000e+00
   5  z            8.50000e-02   2.55000e-02
   6  ast          0.00000e+00     fixed    
   7  coma         0.00000e+00   1.00000e-06  -1.00000e-05   1.00000e-05
   8  spher        0.00000e+00     fixed    
   9  spher1       0.00000e+00     fixed    
 PARAMETER DEFINITIONS:
    NO.   NAME         VALUE      STEP SIZE      LIMITS
    10 scale        3.61336e-09  1.08401e-09     no limits
    11 bg           9.60510e-02  2.88153e-02     no limits
 **********
 **    8 **SET ERR           1
 **********
 **********
 **    9 **SET PRINT           2
 **********
 **********
 **   10 **MINIMIZE        2705           1
 **********
 FIRST CALL TO USER FUNCTION AT NEW START POINT, WITH IFLAG=4.

and then the first parameter change:
Change in parameter 6. Old value: 0, new value: -1.18318044407e-11

and second:

Change in parameter 6. Old value: -1.18318044407e-11, new value: -5.91590222034e-13

why is that so? With such changes, Minuit will never hit my minimum for parameter around -1.5e-6…

Hi,

in Minuit the step size you give at the beginning is used just as a hint to the algorithm about the parameter scale. Minuit will automatically find the optimal value for the parameter step according to the calculated gradient and Hessian. A minimization along the step direction is also performed.
So you should not worry that the actual change in the parameter is different.

Best Regards

Lorenzo

1 Like