Алгоритм построения характеристического многочлена заключается в следующем. Выберем некоторый узел сетки с индексами
Полученное выражение, после упрощения, следует трактовать как полином относительно
BuildPoly[sh_] :=Module[{p}, | |
p=sh /. u[ii_, nn_] ->Exp[(i - ii)*I*w]*q^(nn - n + 1); | (* подстановка гармоники *) |
If[Coefficient[p, q, 0] == 0, p = p/q]; | (* убираем тривиальное решение *) |
Return @Numerator@Together @ p; | (* избавляемся от знаменателя *) |
]; |
Для рассматриваемых схем характеристические полиномы будут либо линейными (для двуслойных по времени схем), либо квадратичными (для трехслойных схем). Корень линейных полиномов
Квадратичные полиномы имеют два корня. Представив полином в виде
где