#include "header.h" //function value of problem B int fB(Vector x,float *f,Vector *df,Matrix *ddf,Int3 spec) { int i,j; float sum=0; float tmp=0; if(spec.f==1) // spec.f==1 means we want function value { 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 & ifp[i]=tmp; } } if(spec.ddf==1) // spec.ddf==1 means we want derivative of derivarive function value which is matrix { for(i=0;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 & ifp[i*x.n+j]=tmp; } } } return 0; }