#include "header.h" // Function for Optimization Function B // {0,0,0} compute f, df, and ddf // {0,0,1} compute f, and df only // {0,1,1} compute f only // {0,1,0} compute f, and ddf only int fB(Vector x,float *f,Vector *df,Matrix *ddf,Int3 spec) { int i,j; float ans=0.0, tmp=0.0; int n=x.n; if(spec.f==0) // spec.f==0 calculate function value f(x) { for(i=1;i2) tmp+=(float)cos(x.fp[i-1]*x.fp[i]+cos(x.fp[i-2]-x.fp[i-1]))*x.fp[i-1]; if(i>1 & i2) tmp=sin(x.fp[i-1]*x.fp[i]+cos(x.fp[i-2]-x.fp[i-1]))*sin(x.fp[i-2]-x.fp[i-1]); } else if(j==i+2) { if(i2) tmp+=-sin(x.fp[i-1]*x.fp[i]+cos(x.fp[i-2]-x.fp[i-1]))*(x.fp[i-1]+sin(x.fp[i-2]-x.fp[i-1]))*x.fp[i-1]+cos(x.fp[i-1]*x.fp[i]+cos(x.fp[i-2]-x.fp[i-1])); if(i>1 & i1 & i2) tmp+=-sin(x.fp[i-1]*x.fp[i]+cos(x.fp[i-2]-x.fp[i-1]))*x.fp[i-1]; if(i>1 & i