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