Hi, The function generate_spline_matrix in fouriertransform.C in the dmft folder shows the comments as follows: // A is the matrix whose inverse defines spline_matrix // // 6 6 // 1 4 1 // 1 4 1 // A = ... // // 1 4 1 // -2 0 0 2 However, the following codes, dense_matrix A = 4*dt/6.*boost::numeric::ublas::identity_matrix<double>(Np1); for (int i=1; i<Np1-1; i++) { A(i,i-1) = dt/6.; A(i,i+1) = dt/6.; } A(0,0) = 1.; A(0, Np1-1) = 1.; A(Np1-1, 0) = -2.*dt/6.; A(Np1-1, 1) = -1.*dt/6.; A(Np1-1, Np1-2) = 1*dt/6.; A(Np1-1, Np1-1) = 2*dt/6.; the red lines will make the matrix looks like // 6 6 // 1 4 1 // 1 4 1 // A = ... // // 1 4 1 // -2 *-1* *1* 2 Is the comment correct or the code correct? Any reference for this algorithm? Thank you, Kuang-Shing Chen