/*$Id: s.nlmvm.h 1.25 02/09/16 23:00:56-05:00 benson@rockies.mcs.anl.gov $*/

/*
    Context for a Newton line search method (unconstrained minimization)
 */

#ifndef __TAO_NLMVM_H
#define __TAO_NLMVM_H
#include "tao_solver.h"
#include "src/matrix/lmvmmat.h"


typedef struct {
  TaoLMVMMat* M;

  TaoVec *RHS;
  TaoVec *W;
  TaoVec *S;
  TaoVec *G;
  double gamma;		     /* damping parameter */
  double gamma_factor;	     /* damping parameter */
  int    max_kspiter_factor; /* computes max KSP iterations */
  int lmvmits;

} TAO_NLMVM;

EXTERN_C_BEGIN
int TaoLineSearchGetDampingParameter_NLMVM(TAO_SOLVER,double *);
EXTERN_C_END

#endif
