Я немного попонятнее распишу что сейчас есть.
Я строю гамильтониан. Далее я его превращаю в трехдиагональную матрицу вида:
Где коэффициенты элементы я считаю таким образом:
Я фиксирую первый базисный вектор - в нем i-ая кордината равна 1.
Затем:
Фиксированностью i-го я пользуюсь когда вычисляю матричные элементы функции грина, потому что в таком базисе
Именно его я использую для подсчета количества частиц со спином вверх на i-ом узле (для подсчет элементов со спином вниз беру i+1)
И вот задача тогда, скорее как быстрее трехдиагонализировать матрицу с фиксированным первым базисным вектором.
Используя эту матрицу я выписываю ряд уравнений и представляю
в виде цепной дроби, которая заканчивается на
члене, либо обрывается при первом нулевом
, потому что все остальные члены зануляются. То есть операцию можно прекращать раньше.