package org.freehep.math.minuit.example.tutorial; import org.freehep.math.minuit.FunctionMinimum; import org.freehep.math.minuit.MinosError; import org.freehep.math.minuit.MnMigrad; import org.freehep.math.minuit.MnMinos; import org.freehep.math.minuit.MnUserParameters; /** * * @version $Id: Quad1FMain.java 8584 2006-08-10 23:06:37Z duns $ */ public class Quad1FMain { public static void main(String[] args) { { //test constructor Quad1F fcn = new Quad1F(); MnUserParameters upar = new MnUserParameters(); upar.add("x", 1., 0.1); MnMigrad migrad = new MnMigrad(fcn, upar); migrad.setUseAnalyticalDerivatives(false); FunctionMinimum min = migrad.minimize(); System.out.println("min= "+min); } { // using VariableMetricMinimizer, analytical derivatives Quad1F fcn = new Quad1F(); MnUserParameters upar = new MnUserParameters(); upar.add("x", 1., 0.1); MnMigrad migrad = new MnMigrad(fcn, upar); FunctionMinimum min = migrad.minimize(); System.out.println("min= "+min); } { Quad1F fcn = new Quad1F(); MnUserParameters upar = new MnUserParameters(); upar.add("x", 1., 0.1); MnMigrad migrad = new MnMigrad(fcn, upar); FunctionMinimum min = migrad.minimize(); MnMinos minos = new MnMinos(fcn, min); MinosError me = minos.minos(0); System.out.printf("par0: %g %g %g\n",min.userState().value(0),me.lower(),me.upper()); MnMinos minos2 = new MnMinos(fcn, min); MinosError me2 = minos.minos(0, 4.); System.out.printf("par0: %g %g %g\n",min.userState().value(0),me2.lower(),me2.upper()); } } }