2008年11月24日月曜日

Трёхдиагональная матрица

Текущая версия (не проверялась)

Трёхдиагональной матрицей называют матрицу следующего вида:

A = begin{pmatrix} C_1 & B_1 & 0   & 0   & cdots & 0 & 0                           A_2 & C_2 & B_2 & 0   & cdots & 0 & 0                           0   & A_3 & C_3 & B_3 & cdots & 0 & 0                            cdots & cdots & cdots & cdots & cdots & cdots & cdots                            cdots & cdots & cdots & cdots & cdots & cdots & cdots                            cdots & cdots & cdots & cdots & cdots & cdots & B_{n-1}                           0 & 0 & 0 & 0 & cdots & A_{n} & C_{n}             end{pmatrix}   .

Системы линейных алгебраических уравнений с такими матрицами встречаются при решении многих задач математики и физики. Краевые условия x1 и xn, которые берутся из контекста задачи, задают первую и последнюю строки. Так краевое условие первого рода F(x = x1) = F1 определит перую строку в виде C1 = 1, B1 = 0, а условие второго рода dF / dx(x = x1) = F1 будет соответствовать значениям C1 = − 1, B1 = 1.

Метод прогонки

Для решения систем вида ~A*x=F используется метод прогонки, основанный на предположении, что искомые неизвестные связаны рекуррентным соотношением:

x_i = alpha_{i+1}x_{i+1} + beta_{i+1},!        , где ~i=1,n-1                                     (1)

Используя это соотношение, выразим xi-1 и xi через xi+1 и подставим в i-e уравнение:

    left(A_ialpha_ialpha_{i+1} + C_ialpha_{i+1} + B_iright)x_{i+1} + A_ialpha_ibeta_{i+1} + A_ibeta_i + C_ibeta_{i+1} - F_i = 0   ,

где Fi - правая часть i-го уравнения. Это соотношение будет выполняться независимо от решения, если потребовать

begin{matrix}    A_ialpha_ialpha_{i+1} + C_ialpha_{i+1} + B_i = 0end{matrix} begin{matrix}    A_ialpha_ibeta_{i+1} + A_ibeta_i + C_ibeta_{i+1} - F_i = 0   end{matrix}

Отсюда следует:

    alpha_{i+1} = {-B_i over A_ialpha_i + C_i},!


    beta_{i+1} = {F_i - A_ibeta_i over A_ialpha_i + C_i}   ,!

Из первого уравнения получим:

    alpha_2 = {-B_1 over C_1}   ,!.     beta_2 = {F_1 over C_1}   ,!.

После нахождения прогоночных коэффициентов α и β, используя уравнение (1), получим решение системы. При этом,

    x_n = {F_n-A_nbeta_n over C_n+A_nalpha_n} ,!

Ссылки

Алгоритм метода прогонки
Костомаров Д.П., Фаворский А.П. "Вводные лекции по численным методам"

0 件のコメント: