This package of the Perl Data Language https://metacpan.org/pod/PDL::Minuit
When I run only the parameter definition part of the example program:
use PDL::LiteF;
use PDL::Minuit;
mn_init(\&$chi2, {Title => 'test title'});
mn_def_pars($pars=pdl(2.5,3.0), $steps=pdl(0.3,0.5), {Names => [qw(intercept slope)]});
I get the following output:
minuit release 90.10 initialized. dimensions 100/ 50 epsmac= 0.89E-15
parameter definitions:
no. name value step size limits
1 'intercept ' 2.5000 0.30000 no limits
2 'slope ' 2.5000 0.30000 no limits
The error is that the value of the initialization parameters is 2.5 and 3.0, not 2.5 and 2.5.
PDL::Minuit seems to repeat the first coordinate of the initialization vector in all coordinates.
Am I missing something? In case I am not, I think one could hack this problem by re-scaling all variables, but I'd prefer to fix the code. Do you see where is the problem with the module code?