← Назад Далее →

3.4. Характеристические многочлены

Алгоритм построения характеристического многочлена заключается в следующем. Выберем некоторый узел сетки с индексами \((j, n)\) (здесь для индекса по пространству использована переменная \(j\), а не i, как раньше, чтобы избежать путаницы с мнимой единицей \(i\)). Каждое значение сеточной функции, входящее в разностную схему, следует заменить на решение в виде гармоники:

$$u_{j+k}^{n+m} \to A\cdot q^{m} e^{-ik{\rm\omega }} .$$

Полученное выражение, после упрощения, следует трактовать как полином относительно \(q\). Данный алгоритм реализуется следующим кодом:

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; (* избавляемся от знаменателя *)
];

Для рассматриваемых схем характеристические полиномы будут либо линейными (для двуслойных по времени схем), либо квадратичными (для трехслойных схем). Корень линейных полиномов \(b\cdot x+c=0\)с комплексными коэффициентами также является комплексным:

$$q=-\frac{c}{b} . (3.15)$$

Квадратичные полиномы имеют два корня. Представив полином в виде

$$a\cdot q^{2} +b\cdot q+c=0,$$

где \(a,\; b,\; c\)- некоторые комплексные выражения, решение квадратичного уравнения можно записать в стандартном виде

$$q_{1,2} =\frac{-b\pm \sqrt{b^{2} -4ac} }{2a} (3.16)$$

← Назад Далее →