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