NonGradient::NonGradient(ObjectiveFunction* of, MsqError &err) : VertexMover(of), PatchSetUser(true), projectGradient(false), mDimension(0), mThreshold(0.0), mTolerance(0.0), mMaxNumEval(0), mNonGradDebug(0), mUseExactPenaltyFunction(true), mScaleDiameter(0.1) { set_debugging_level(2); //set the default inner termination criterion TerminationCriterion* default_crit=get_inner_termination_criterion(); if(default_crit==NULL){ MSQ_SETERR(err)("QualityImprover did not create a default inner " "termination criterion.", MsqError::INVALID_STATE); return; } else{ default_crit->add_iteration_limit( 5 ); MSQ_ERRRTN(err); } }
ConjugateGradient::ConjugateGradient(ObjectiveFunction* objective, MsqError &err) : VertexMover(objective), PatchSetUser(true), pMemento(NULL), conjGradDebug(0) { //Michael:: default to global? set_debugging_level(0); //set the default inner termination criterion TerminationCriterion* default_crit=get_inner_termination_criterion(); if(default_crit==NULL){ MSQ_SETERR(err)("QualityImprover did not create a default inner " "termination criterion.", MsqError::INVALID_STATE); return; } else{ default_crit->add_iteration_limit( 5 ); MSQ_ERRRTN(err); } }
NonGradient::NonGradient(ObjectiveFunction* of) : VertexMover(of), PatchSetUser(true), projectGradient(false), mDimension(0), mThreshold(0.0), mTolerance(0.0), mMaxNumEval(0), mNonGradDebug(0), mUseExactPenaltyFunction(true), mScaleDiameter(0.1) { set_debugging_level(2); //set the default inner termination criterion TerminationCriterion* default_crit=get_inner_termination_criterion(); if(default_crit==NULL){ return; } else{ default_crit->add_iteration_limit( 5 ); } }