20 void MnTraceObject::operator() (
int iter,
const MinimumState & state) {
22 MnPrint::PrintState(std::cout, state,
"iteration # ",iter);
23 if (!fUserState)
return;
26 std::cout <<
"\t" << std::setw(12) <<
" " <<
" "
27 << std::setw(12) <<
" ext value " <<
" "
28 << std::setw(12) <<
" int value " <<
" "
29 << std::setw(12) <<
" gradient " << std::endl;
31 int lastPar = state.Vec().size();
32 if (fParNumber >= 0 && fParNumber < lastPar) {
33 firstPar = fParNumber;
34 lastPar = fParNumber+1;
36 for (
int ipar = firstPar; ipar <lastPar; ++ipar) {
37 int epar = fUserState->Trafo().ExtOfInt(ipar);
38 double eval = fUserState->Trafo().Int2ext(ipar, state.Vec()(ipar) );
39 std::cout <<
"\t" << std::setw(12) << fUserState->Name(epar) <<
" "
40 << std::setw(12) << eval <<
" "
41 << std::setw(12) << state.Vec()(ipar) <<
" "
42 << std::setw(12) << state.Gradient().Vec()(ipar) << std::endl;