/*$Id: cg.h 1.24 02/09/17 15:08:53-05:00 benson@rockies.mcs.anl.gov $*/

/*
    Context for conjugate gradient method (unconstrained minimization)
 */

#ifndef __TAO_CG_H
#define __TAO_CG_H
#include "tao_solver.h"


typedef struct{

  double beta;
  double eta;
  int restarts;

  TaoVec* G;
  TaoVec* DX;
  TaoVec* Gprev;
  TaoVec* Work;

} TAO_CG;

int TaoSetUp_CG(TAO_SOLVER,void *);
int TaoDestroy_CG(TAO_SOLVER, void *);
int TaoSetOptions_CG(TAO_SOLVER, void*);
int TaoView_CG(TAO_SOLVER,void*);
int TaoCGSetRestartTol(TAO_SOLVER,double);

#endif


