doubleInitialLambda()const{if(loglambda)return(lambda[0]);else{throwNonlinException("InitialLabda: Lambda not logged");return(0.0);}}
conststd::vector<double>&LambdaHistory()const{if(loglambda)return(lambda);else{throwNonlinException("InitialLabda: Lambda not logged");return(lambda);}}
constNEWMAT::ColumnVector&InitialPar()const{if(logpar)return(par[0]);else{throwNonlinException("InitialPar: Parameters not logged");return(par[0]);}}
conststd::vector<NEWMAT::ColumnVector>&ParHistory()const{if(logpar)return(par);else{throwNonlinException("ParHistory: Parameters not logged");return(par);}}
doubleCF()const{return(cf.back());}
doubleInitialCF()const{if(logcf)return(cf[0]);else{throwNonlinException("InitialCF: Cost-function not logged");return(cf[0]);}}
conststd::vector<double>CFHistory()const{if(logcf)return(cf);else{throwNonlinException("CFHistory: Cost-function not logged");return(cf);}}
NonlinOutStatus()const{return(status);}
// Routines to set values of steering parameters
voidSetMethod(NLMethodpmtd){mtd=pmtd;}
voidLogCF(boolflag=true){logcf=flag;}
voidLogPar(boolflag=true){logpar=flag;}
voidLogLambda(boolflag=true){loglambda=flag;}
voidSetStartingEstimate(NEWMAT::ColumnVector&sp){
if(niter)throwNonlinException("SetStartingEstimates: Object has to be reset before setting new starting parameters");