double Frequency::kernelF(double i,double f,double M) { if(i==M/2) return kernel0(f); return sin(2*M_PI*f*(i-M/2))/(i-M/2) *(0.42-0.5*cos(2*M_PI*i/M)+0.08*cos(4*M_PI*i/M)); }
//at zero omega (to exclude zeros in denominator) double delta0(gsl_vector* Q)//omega_center is defined in calculation of vector Q { int i; double result=0.0; for(i=0;i<Q->size;i++) { result+=gsl_vector_get(Q,i)*kernel0(i+1); } return result; }