/*! * This functions compute the iteration of the Chebyshev vectors * following the rule:\n * T_{n}(x)= 2x T_{n-1}(x) - T_{n-2}(x) * It takes as parameters:\n * The lattice vector used to extract the regular and irregular part of the Hamiltonian\n * The set id of of the set where the iteration will be performed * The Chebyshev truncation order\n * Initialize the truncation order in a default value 100 \n */ inline void ChebyshevIteration( Lattice& lat, const my::integer set_id, const my::integer n ) { switch(n) { case 0: { lat.ApplyHamiltonian(MemSep(), kpm::ONE, ChebVec(set_id,1),kpm::ZERO, ChebVec(set_id,2)); } break ; default: { lat.ApplyHamiltonian(MemSep(), kpm::TWO, ChebVec(set_id,2),kpm::NONE, ChebVec(set_id,1)); Swap(set_id,1,2); } break; } }