TAO Interface
TAO tao; /* optimization solver */
Mat H; /* Hessian matrix */
Vec x, g; /* solution and gradient vectors */
double f; /* function to minimize */
int n; /* number of variables */
ApplicationCtx usercontext; /* user-defined context */
MatCreate(MPI_COMM_WORLD,n,n,&H);
VecCreate(MPI_COMM_WORLD,n,&x);
TaoCreate(MPI_COMM_WORLD,&tao);
TaoSetFunction(tao,x,EvaluateFunction,usercontext);
TaoSetGradient(tao,g,EvaluateGradient,usercontext);
TaoSetHessian(tao,H,EvaluateHessian,usercontext);