Многочлен Жегалкина

К.ф.-м.н.
Алексей Юрьевич Виноградов

Февраль
2010.

Таблица истинности. Эквивалентность формул

Построить таблицы соответствующих функций и выяснить,
эквивалентны ли формулы  и .

а)

Составим таблицу истинности для функции U:

x

y

z

отрицание

x

отрицание
у

дизъюк
ция

конъюнк
ция

имплика
ция

импликация

()

импликация

0

0

0

1

1

1

0

1

1

1

0

0

1

1

1

1

1

1

1

1

0

1

0

1

0

1

0

1

1

1

0

1

1

1

0

1

1

1

1

1

1

0

0

0

1

1

0

0

1

1

1

0

1

0

1

1

1

0

1

1

1

1

0

0

0

0

0

1

0

1

1

1

1

0

0

0

0

1

0

1

Мы получили формулу U(11111111).

Составим таблицу истинности для функции V:

x

y

z

импликация

отрицание

у

отрицание

x

импликация

импликация

0

0

0

1

1

1

1

1

0

0

1

1

1

1

1

1

0

1

0

1

0

1

1

1

0

1

1

1

0

1

1

1

1

0

0

0

1

0

0

1

1

0

1

0

1

0

0

1

1

1

0

1

0

0

1

1

1

1

1

1

0

0

1

1

Мы получили формулу V(11111111)

Сравнивая таблицы функций U и V, видим, что U = V.

Значит, формулы U и V эквивалентны.

б)

Составим таблицу истинности для функции U:

x

y

z

отрицание

x

отрицание

у

конъюнкция

отрица

ние
z

конъюнк

ция

имплика

ция

импликация

импликация

0

0

0

1

1

1

1

1

0

1

0

0

0

1

1

1

1

0

0

0

1

0

0

1

0

1

0

0

1

1

1

0

1

0

1

1

1

0

0

0

0

1

0

1

1

0

0

0

1

0

1

0

1

0

1

1

0

1

0

1

0

0

0

1

0

1

1

1

0

0

0

0

1

0

1

0

1

1

1

1

0

0

0

0

0

1

0

1

импликация

1

1

0

0

1

1

1

1

Мы получили формулу U(11001111).

Составим таблицу истинности для функции V:

x

y

z

отрицание
z

импликация

конъюнкция

отрицание
конъюнкции

0

0

0

1

1

0

1

0

0

1

0

1

0

1

0

1

0

1

1

0

1

0

1

1

0

0

0

1

1

0

0

1

1

1

0

1

0

1

0

1

1

0

1

1

0

1

1

1

0

1

1

1

0

0

0

1

Мы получили формулу V(11110001)

Сравнивая таблицы функций U и V, видим, что U ¹ V.

Значит, формулы U и V неэквивалентны.

в)

Составим таблицу истинности для функции U:

x

y

z

отрицание
z

эквивалентность

импликация

импликация

отрицание
импликации

Сумма
по модулю 2

дизъюнкция

0

0

0

1

1

1

1

0

1

1

0

0

1

0

1

1

1

0

0

 0

0

1

0

1

0

1

1

0

1

1

0

1

1

0

0

1

1

0

0

0

1

0

0

1

0

1

1

0

0

0

1

0

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

0

0

0

1

1

1

0

1

0

0

1

1

1

Мы получили формулу U(10100101).

Составим таблицу истинности для функции V:

x

y

z

импликация

эквивалентность

0

0

0

1

0

0

0

1

0

1

0

1

0

1

0

0

1

1

1

0

1

0

0

1

1

1

0

1

0

0

1

1

0

1

1

1

1

1

1

1

Мы получили формулу V(01001011)

Сравнивая таблицы функций U и V, видим, что U ¹ V.

Значит, формулы U и V неэквивалентны.

Методом неопределенных коэффициентов построить полином
Жегалкина для следующих функций.

а)

Сначала составим таблицу истинности для функции

x

y

z

отрицание

x

отрицание

у

конъюнкция

дизъюнкция

0

0

0

1

1

1

1

0

0

1

1

1

1

1

0

1

0

1

0

0

0

0

1

1

1

0

0

1

1

0

0

0

1

0

0

1

0

1

0

1

0

1

1

1

0

0

0

0

0

1

1

1

0

0

0

1

Полином Жегалкина для нее представляется в виде:

Последовательно подставляя значения переменных из
таблицы, получаем:

Следовательно функция  представляется полиномом Жегалкина как .

б)

Сначала составим таблицу истинности для функции .

x

y

z

конъюнкция

импликация

0

0

0

0

1

0

0

1

0

1

0

1

0

0

1

0

1

1

0

1

1

0

0

0

1

1

0

1

1

0

1

1

0

0

1

1

1

1

1

1

Полином Жегалкина для нее представляется в виде:

Последовательно подставляя значения переменных из
таблицы, получаем:

Следовательно функция  представляется полиномом Жегалкина как .

Список литературы

Для подготовки данной работы были использованы
материалы с сайта http://referat.ru/

Методы для решения краевых задач,

в том числе «жестких» краевых задач.

1. Введение.

На примере системы дифференциальных уравнений
цилиндрической оболочки ракеты – системы обыкновенных дифференциальных
уравнений 8-го порядка (после разделения частных производных).

Система линейных обыкновенных дифференциальных
уравнений имеет вид:

Y(x) = A(x) ∙
Y(x) + F(x),

где Y(x) – искомая вектор-функция задачи размерности
8х1, Y(x) –
производная искомой вектор-функции размерности 8х1, A(x) – квадратная матрица
коэффициентов дифференциального уравнения размерности 8х8, F(x) –
вектор-функция внешнего воздействия на систему размерности 8х1.

Здесь и далее вектора обозначаем жирным шрифтом вместо
черточек над буквами

Краевые условия имеют вид:

U∙Y(0) = u,

V∙Y(1) = v,

где

Y(0) – значение искомой вектор-функции на левом крае
х=0 размерности 8х1, U – прямоугольная горизонтальная матрица коэффициентов
краевых условий левого края размерности 4х8, u – вектор внешних воздействий на
левый край размерности 4х1,

Y(1) – значение искомой вектор-функции на правом крае
х=1 размерности 8х1, V – прямоугольная горизонтальная матрица коэффициентов краевых
условий правого края размерности 4х8, v – вектор внешних воздействий на правый
край размерности 4х1.

В случае, когда система дифференциальных уравнений
имеет матрицу с постоянными коэффициентами A=const, решение задачи Коши имеет
вид [Гантмахер]:

Y(x) = e∙ Y(x) + e∙ e∙ F(t)
dt,

где

e= E + A(x-x) + A (x-x)/2! + A (x-x)/3! + …,

где E это единичная матрица.

Матричная экспонента ещё может называться матрицей
Коши и может обозначаться в виде:

K(x←x) = K(x – x) = e.

Тогда решение задачи Коши может быть записано в виде:

Y(x) = K(x←x) ∙ Y(x) + Y*(x←x) ,

где Y*(x←x) = e∙ e∙ F(t)
dt это вектор частного решения неоднородной системы дифференциальных уравнений.

2. Случай переменных коэффициентов.

Из теории матриц [Гантмахер] известно свойство
перемножаемости матричных экспонент (матриц Коши):

e= e∙ e ∙ … ∙
e ∙ e,

K(x←x) = K(x←x) ∙ K(x←x) ∙ … ∙
K(x←x) ∙ K(x←x).

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

K(x←x) = K(x←x) ∙ K(x←x) ∙ … ∙
K(x←x) ∙ K(x←x),

где матрицы Коши приближенно вычисляются по формуле:

K(x←x) = e, где ∆x= x- x.

3. Формула для вычисления вектора частного решения
неоднородной системы дифференциальных уравнений.

Вместо формулы для вычисления вектора частного решения
неоднородной системы дифференциальных уравнений в виде [Гантмахер]:

Y*(x←x) = e∙ e∙ F(t)
dt

предлагается использовать следующую формулу для каждого
отдельного участка интервала интегрирования и тогда вектор частного решения на
всем интервале будет складываться из векторов, вычисленных по формуле:

Y*(x←x) = Y*(x- x) = K(x- x) ∙K(x- t) ∙
F(t) dt .

Правильность приведенной формулы подтверждается следующим:

Y*(x- x) = e∙e∙ F(t)
dt ,

Y*(x- x) = e∙e∙ F(t)
dt ,

Y*(x- x) = e∙ F(t)
dt ,

Y*(x- x) = e∙ F(t)
dt ,

Y*(x- x) = e∙ e∙ F(t)
dt ,

Y*(x←x) = e∙ e∙ F(t) dt,

что и требовалось подтвердить.

Вычисление вектора частного решения системы
дифференциальных уравнений производиться при помощи представления матрицы Коши
под знаком интеграла в виде ряда и интегрирования этого ряда поэлементно:

Y*(x←x) = Y*(x- x) = K(x- x) ∙K(x- t) ∙
F(t) dt =

= K(x- x) ∙ (E + A(x- t) + A (x- t)/2! + … ) ∙
F(t) dt =

= K(x- x) ∙ (EF(t) dt + A∙(x- t) ∙
F(t) dt + A/2! ∙(x- t) ∙ F(t)
dt + … ) .

Эта формула справедлива для случая системы
дифференциальных уравнений с постоянной матрицей коэффициентов A=const.

Для случая переменных коэффициентов A=A(x) можно
использовать прием разделения участка (x- x) интервала
интегрирования на малые подучастки, где на подучастках коэффициенты можно
считать постоянными A(x)=const и
тогда вектор частного решения неоднородной системы дифференциальных уравнений
Y*(x←x) будет на
участке складываться из соответствующих векторов подучастков, на которых
матрицы Коши приближенно вычисляются при помощи формул с постоянными матрицами
в экспонентах.

4. Метод переноса краевых условий в произвольную точку
интервала интегрирования.

Полное решение системы дифференциальных уравнений
имеет вид

Y(x) = K(x←x) ∙ Y(x) + Y*(x←x) .

Или можно записать:

Y(0) = K(0←x) ∙ Y(x) + Y*(0←x) .

Подставляем это выражение для Y(0) в краевые условия
левого края и получаем:

U∙Y(0) = u,

U∙[ K(0←x) ∙ Y(x) + Y*(0←x) ] = u,

[ U∙ K(0←x) ] ∙
Y(x) = u – U∙Y*(0←x) .

Или получаем краевые условия, перенесенные в точку x:

U∙ Y(x) = u ,

где U= [ U∙
K(0←x) ] и u = u – U∙Y*(0←x) .

Далее запишем аналогично

Y(x) = K(x←x) ∙ Y(x) + Y*(x←x)

И подставим это выражение для Y(x) в
перенесенные краевые условия точки x

U∙ Y(x) = u,

U∙ [ K(x←x) ∙ Y(x) + Y*(x←x) ] = u ,

[ U∙ K(x←x) ] ∙
Y(x) = u – U∙ Y*(x←x) ,

Или получаем краевые условия, перенесенные в точку x:

U∙ Y(x) = u ,

где U= [ U∙ K(x←x) ] и u = u – U∙ Y*(x←x) .

И так в точку x переносим
матричное краевое условие с левого края и таким же образом переносим матричное
краевое условие с правого края и получаем:

U∙ Y(x) = u ,

V∙ Y(x) = v .

Из этих двух матричных уравнений с прямоугольными
горизонтальными матрицами коэффициентов очевидно получаем одну систему линейных
алгебраических уравнений с квадратной матрицей коэффициентов:

 ∙ Y(x) = .

А в случае «жестких» дифференциальных уравнений
предлагается применять построчное ортонормирование матричных краевых условий в
процессе их переноса в рассматриваемую точку. Для этого формулы
ортонормирования систем линейных алгебраических уравнений можно взять в [Березин,
Жидков].

То есть, получив

U∙ Y(x) = u,

применяем к этой группе линейных алгебраических
уравнений построчное ортонормирование и получаем эквивалентное матричное
краевое условие:

U∙ Y(x) = u.

И теперь уже в это проортонормированное построчно
уравнение подставляем

Y(x) = K(x←x) ∙ Y(x) + Y*(x←x) .

И получаем

U∙ [ K(x←x) ∙ Y(x) + Y*(x←x) ] = u ,

[ U∙ K(x←x) ] ∙
Y(x) = u – U∙ Y*(x←x) ,

Или получаем краевые условия, перенесенные в точку x:

U∙ Y(x) = u ,

где U= [ U∙ K(x←x) ] и u = u – U∙ Y*(x←x) .

Теперь уже к этой группе линейных алгебраических
уравнений применяем построчное ортонормирование и получаем эквивалентное
матричное краевое условие:

U∙ Y(x) = u.

И так далее.

И аналогично поступаем с промежуточными матричными
краевыми условиями, переносимыми с правого края в рассматриваемую точку.

В итоге получаем систему линейных алгебраических
уравнений с квадратной матрицей коэффициентов, состоящую из двух независимо
друг от друга поэтапно проортонормированных матричных краевых условий, которая
решается любым известным методом для получения решения Y(x) в
рассматриваемой точке x:

 ∙ Y(x) = .

5. Второй вариант метода переноса краевых условий в
произвольную точку интервала интегрирования.

Предложено выполнять интегрирование по формулам теории
матриц [Гантмахер] сразу от некоторой внутренней точки интервала интегрирования
к краям:

Y(0) = K(0←x) ∙ Y(x) + Y*(0←x) ,

Y(1) = K(1←x) ∙ Y(x) + Y*(1←x) .

Подставим эти формулы в краевые условия и получим:

U∙Y(0) = u,

U∙[ K(0←x) ∙ Y(x) + Y*(0←x) ]
= u,

[ U∙ K(0←x) ] ∙ Y(x) = u – U∙Y*(0←x)
.

и

V∙Y(1) = v,

V∙[ K(1←x) ∙ Y(x) + Y*(1←x) ]
= v,

[ V∙ K(1←x) ] ∙ Y(x) = v – V∙Y*(1←x)
.

То есть получаем два матричных уравнения краевых
условий, перенесенные в рассматриваемую точку x:

[ U∙ K(0←x) ] ∙ Y(x) = u – U∙Y*(0←x)
,

[ V∙ K(1←x) ] ∙ Y(x) = v – V∙Y*(1←x)
.

Эти уравнения аналогично объединяются в одну систему
линейных алгебраических уравнений с квадратной матрицей коэффициентов для
нахождения решения Y(x) в любой рассматриваемой точке x:

 ∙ Y(x) = .

В случае «жестких» дифференциальных уравнений
предлагается следующий алгоритм.

Используем свойство перемножаемости матриц Коши:

K(x←x) =
K(x←x) ∙ K(x←x) ∙ … ∙
K(x←x) ∙ K(x←x)

и запишем выражения для матриц Коши, например, в виде:

K(0←x) = K(0←x) ∙ K(x←x) ∙ K(x←x),

K(1←x) = K(1←x) ∙ K(x←x) ∙ K(x←x) ∙ K(x←x),

Тогда перенесенные краевые условия можно записать в
виде:

[ U∙ K(0←x) ∙ K(x←x) ∙ K(x←x) ] ∙
Y(x) = u – U∙Y*(0←x) ,

[ V∙ K(1←x) ∙ K(x←x) ∙ K(x←x) ∙ K(x←x) ] ∙
Y(x) = v – V∙Y*(1←x)

или в виде:

[ U∙ K(0←x) ∙ K(x←x) ∙ K(x←x) ] ∙
Y(x) = u* ,

[ V∙ K(1←x) ∙ K(x←x) ∙ K(x←x) ∙ K(x←x) ] ∙
Y(x) = v* .

Тогда рассмотрим левое перенесенное краевое условие:

[ U∙ K(0←x) ∙ K(x←x) ∙ K(x←x) ] ∙
Y(x) = u* ,

[ U∙ K(0←x) ] ∙ {
K(x←x) ∙ K(x←x) ∙
Y(x) } = u* ,

[ матрица ] ∙ { вектор } = вектор .

Эту группу линейных алгебраических уравнений можно
подвергнуть построчному ортонормированию, которое сделает строчки [матрицы]
ортонормированными, {вектор} затронут не будет, а вектор получит
преобразование. То есть получим:

[ U∙ K(0←x) ] ∙ { K(x←x) ∙ K(x←x) ∙
Y(x) } = u* .

Далее последовательно можно записать:

[[ U∙ K(0←x) ] ∙ K(x←x) ] ∙ {
K(x←x) ∙
Y(x) } = u* ,

[ матрица ] ∙ { вектор } = вектор .

Аналогично и эту группу линейных алгебраических
уравнений можно подвергнуть построчному ортонормированию, которое сделает
строчки [матрицы] ортонормированными, {вектор} затронут не будет, а вектор
получит преобразование. То есть получим:

[[ U∙ K(0←x) ] ∙ K(x←x) ]  ∙ { K(x←x) ∙
Y(x) } = u* ,

Далее аналогично можно записать:

[[[ U∙ K(0←x) ] ∙ K(x←x) ]  ∙ K(x←x) ] ∙
{ Y(x) } = u* ,

[ матрица ] ∙ { вектор} = вектор .

Аналогично и эту группу линейных алгебраических
уравнений можно подвергнуть построчному ортонормированию, которое сделает
строчки [матрицы] ортонормированными, {вектор} затронут не будет, а вектор
получит преобразование. То есть получим:

[[[ U∙ K(0←x) ] ∙ K(x←x) ]  ∙ K(x←x) ]  ∙ Y(x) = u* .

Аналогично можно проортонормировать матричное
уравнение краевых условий и для правого края независимо от левого края.

Далее проортонормированные уравнения краевых условий:

[ U∙ K(0←x) ] ∙ Y(x)
= u* ,

[ V∙ K(1←x) ] ∙ Y(x)
= v*

как и ранее объединяются в одну обычную систему
линейных алгебраических уравнений с квадратной матрицей коэффициентов для
нахождения искомого вектора Y(x) :

∙ Y(x) =
.

6. Метод дополнительных краевых условий.

Запишем на левом крае ещё одно уравнение краевых
условий:

M ∙ Y(0) = m .

В качестве строк матрицы M можно взять те краевые
условия, то есть выражения тех физических параметров, которые не входят в
параметры краевых условий левого края L или линейно независимы с ними. Это
вполне возможно, так как у краевых задач столько независимых физических
параметров какова размерность задачи, а в параметры краевых условий входит
только половина физических параметров задачи. То есть, например, если рассматривается
задача об оболочке ракеты, то на левом крае могут быть заданы 4 перемещения.
Тогда для матрицы М можно взять параметры сил и моментов, которых тоже 4, так
как полная размерность такой задачи – 8. Вектор m правой части неизвестен и его
надо найти и тогда можно считать, что краевая задача решена, то есть сведена к
задаче Коши, то есть найден вектор Y(0) из выражения:

 ∙ Y(0) = ,

то есть вектор Y(0) находится из решения системы линейных
алгебраических уравнений с квадратной невырожденной матрицей коэффициентов,
состоящей из блоков U и M.

Аналогично запишем на правом крае ещё одно уравнение
краевых условий:

N ∙ Y(0) = n ,

где матрица N записывается из тех же соображений
дополнительных линейно независимых параметров на правом крае, а вектор n
неизвестен.

Для правого края тоже справедлива соответствующая
система уравнений:

 ∙ Y(1) = .

Запишем Y(1) = K(1←0) ∙Y(0) + Y*(1←0)
и подставим в последнюю систему линейных алгебраических уравнений:

 ∙ [ K(1←0) ∙Y(0) + Y*(1←0)
] = ,

 ∙ K(1←0) ∙Y(0) =  –  ∙ Y*(1←0),

 ∙ K(1←0) ∙Y(0) =  ,

 ∙ K(1←0) ∙Y(0) =  .

Запишем вектор Y(0) через обратную матрицу:

Y(0) = ∙

и подставим в предыдущую формулу:

 ∙ K(1←0) ∙ ∙  = .

Таким образом, мы получили систему уравнений вида:

В ∙  = ,

где матрица В известна, векторы u и s известны, а
векторы m и t неизвестны.

Разобьем матрицу В на естественные для нашего случая 4
блока и получим:

∙  = ,

откуда можем записать, что

В11 ∙ u + B12 ∙ m = s,

B21 ∙ u + B22 ∙ m = t.

Следовательно, искомый вектор m вычисляется по
формуле:

m = B12 ∙ (s –
B11∙ u).

А искомый вектор n вычисляется через вектор t:

t = B21 ∙ u + B22 ∙ m,

n = t + N ∙ Y*(1←0).

В случае «жестких» дифференциальных уравнений
предлагается выполнять поочередное построчное ортонормирование.

Запишем приведенную выше формулу

 ∙ K(1←0) ∙ ∙  =

в виде:

 ∙ K(1←x2) ∙ K(x2←x1) ∙
K(x1←0) ∙ ∙  = .

Эту формулу можно записать в виде разделения левой
части на произведение матрицы на вектор:

[ ∙ K(1←x2)
] ∙ { K(x2←x1) ∙ K(x1←0) ∙ ∙  } =

[ матрица ] ∙ { вектор } = вектор

Эту группу линейных алгебраических уравнений можно
подвергнуть построчному ортонормированию, которое сделает строчки [матрицы]
ортонормированными, {вектор} затронут не будет, а вектор получит
преобразование. То есть получим:

[ ∙ K(1←x2)
] ∙ {
K(x2←x1) ∙ K(x1←0) ∙ ∙  } =

Здесь следует сказать, что подвектор t подвергать
преобразованию не нужно, так как невозможно, так как его первоначальное
значение не известно. Но подвектор t нам оказывается и не нужен для решения
задачи.

Далее запишем:

[[ ∙ K(1←x2)
] ∙ K(x2←x1)]
∙ { K(x1←0) ∙ ∙  } =

[ матрица ] ∙ { вектор } = вектор

Аналогично и эту группу линейных алгебраических
уравнений можно подвергнуть построчному ортонормированию, которое сделает
строчки [матрицы] ортонормированными, {вектор} затронут не будет, а вектор
получит преобразование. То есть получим:

[[ ∙ K(1←x2)
] ∙ K(x2←x1)]
 ∙ { K(x1←0) ∙ ∙  } = .

И так далее.

В результате поочередного ортонормирования получим:

В ∙  = ,

∙  =  .

Следовательно, искомый вектор m вычисляется по
формуле:

m = B12 ∙ (s – B11∙ u).

7. Формула для начала счета методом прогонки
С.К.Годунова.

Рассмотрим проблему метода прогонки С.К.Годунова.

Предположим, что рассматривается оболочка ракеты. Это
тонкостенная труба. Тогда система линейных обыкновенных дифференциальных
уравнений будет 8-го порядка, матрица A(x) коэффициентов будет иметь
размерность 8х8, искомая вектор-функция Y(x) будет иметь размерность 8х1, а
матрицы краевых условий будут прямоугольными горизонтальными размерности 4х8.

Тогда в методе прогонки С.К.Годунова для такой задачи
решение ищется в следующем виде:

Y(x) = Y(x) c + Y(x) c + Y(x) c + Y(x) c + Y*(x),

или можно записать в матричном виде:

Y(x) = Y(x) ∙ c
+ Y*(x),

где векторы Y(x), Y(x), Y(x), Y(x) – это
линейно независимые вектора-решения однородной системы дифференциальных
уравнений, а вектор Y*(x) – это вектор частного решения неоднородной системы
дифференциальных уравнений.

Здесь Y(x)=|| Y(x), Y(x), Y(x), Y(x) || это
матрица размерности 8х4, а c это соответствующий вектор размерности 4х1из
искомых констант c, c, c, c.

Но вообще то решение для такой краевой задачи с
размерностью 8 (вне рамок метода прогонки С.К.Годунова) может состоять не из 4
линейно независимых векторов Y(x), а
полностью из всех 8 линейно независимых векторов-решений однородной системы
дифференциальных уравнений:

Y(x)=Y(x)c+Y(x)c+Y(x)c+Y(x)c+

+Y(x)c+Y(x)c+Y(x)c+Y(x)c+Y*(x),

И как раз трудность и проблема метода прогонки
С.К.Годунова и состоит в том, что решение ищется только с половиной возможных
векторов и констант и проблема в том, что такое решение с половиной констант
должно удовлетворять условиям на левом крае (стартовом для прогонки) при всех
возможных значениях констант, чтобы потом найти эти константы из условий на
правом крае.

То есть в методе прогонки С.К.Годунова есть проблема
нахождения таких начальных значений Y(0), Y(0), Y(0), Y(0), Y*(0)
векторов Y(x), Y(x), Y(x), Y(x), Y*(x),
чтобы можно было начать прогонку с левого края x=0, то есть чтобы
удовлетворялись условия U∙Y(0) = u на левом крае при любых значениях
констант c, c, c, c.

Обычно эта трудность «преодолевается» тем, что дифференциальные
уравнения записываются не через функционалы, а через физические параметры и
рассматриваются самые простейшие условия на простейшие физические параметры,
чтобы начальные значения Y(0), Y(0), Y(0), Y(0), Y*(0)
можно было угадать. То есть задачи со сложными краевыми условиями так решать
нельзя: например, задачи с упругими условиями на краях.

Ниже предлагается формула для начала вычислений
методом прогонки С.К.Годунова.

Выполним построчное ортонормирование матричного
уравнения краевых условий на левом крае:

U∙Y(0) = u,

где матрица U прямоугольная и горизонтальная
размерности 4х8.

В результате получим эквивалентное уравнение краевых
условий на левом крае, но уже с прямоугольной горизонтальной матрицей U размерности
4х8, у которой будут 4 ортонормированные строки:

U∙Y(0) =
u,

где в результате ортонормирования вектор u
преобразован в вектор u.

Как выполнять построчное ортонормирование систем
линейных алгебраических уравнений можно посмотреть в [Березин, Жидков].

Дополним прямоугольную горизонтальную матрицу U до квадратной
невырожденной матрицы W:

W = ,

где матрица М размерности 4х8 должна достраивать
матрицу U до
невырожденной квадратной матрицы W размерности 8х8.

В качестве строк матрицы М можно взять те краевые
условия, то есть выражения тех физических параметров, которые не входят в
параметры левого края или линейно независимы с ними. Это вполне возможно, так
как у краевых задач столько независимых физических параметров какова
размерность задачи, то есть в данном случае их 8 штук и если 4 заданы на левом
крае, то ещё 4 можно взять с правого края.

Завершим ортонормирование построенной матрицы W, то
есть выполним построчное ортонормирование и получим матрицу W размерности
8х8 с ортонормированными строками:

W = .

Можем записать, что

Y(x) = (М)транспонированная
= М.

Тогда, подставив в формулу метода прогонки
С.К.Годунова, получим:

Y(0) = Y(0) ∙с +
Y*(0)

или

Y(0) = М∙с +
Y*(0).

Подставим эту последнюю формулу в краевые условия U∙Y(0) =
u и получим:

U∙ [ М∙с +
Y*(0) ]= u.

Отсюда получаем, что на левом крае константы c уже не
на что не влияют, так как

U∙ М = 0 и
остается только найти Y*(0) из выражения:

U∙ Y*(0)
= u.

Но матрица U имеет
размерность 4х8 и её надо дополнить до квадратной невырожденной, чтобы найти
вектор Y*(0) из решения соответствующей системы линейных алгебраических
уравнений:

∙ Y*(0)
= ,

где 0 – любой вектор, в том числе вектор из нулей.

Отсюда получаем при помощи обратной матрицы:

Y*(0) = ∙ ,

Тогда итоговая формула для начала вычислений методом
прогонки С.К.Годунова имеет вид:

Y(0) = М∙с + ∙ .

8. Второй алгоритм для начала счета методом прогонки
С.К.Годунова.

Этот алгоритм требует дополнения матрицы краевых
условий U до квадратной невырожденной:

Начальные значения Y(0), Y(0), Y(0), Y(0), Y*(0)
находятся из решения следующих систем линейных алгебраических уравнений:

∙ Y*(0)
= ,

∙ Y(0) = , где i = , , , ,

где 0 – вектор из нулей размерности 4х1.

9. Замена метода численного интегрирования Рунге-Кутта
в методе прогонки С.К.Годунова.

В методе С.К.Годунова как показано выше решение ищется
в виде:

Y(x) = Y(x) ∙ c
+ Y*(x).

На каждом конкретном участке метода прогонки
С.К.Годунова между точками ортогонализации можно вместо метода Рунге-Кутта
пользоваться теорией матриц и выполнять расчет через матрицу Коши:

Y(x) = K(x- x) ∙Y(x).

Так выполнять вычисления быстрее, особенно для
дифференциальных уравнений с постоянными коэффициентами.

И аналогично через теорию матриц можно вычислять и
вектор Y*(x) частного решения неоднородной системы дифференциальных уравнений.
Или для этого вектора отдельно можно использовать метод Рунге-Кутта, то есть
можно комбинировать теорию матриц и метод Рунге-Кутта.

10. Метод половины констант.

Выше было показано, что решение системы линейных
обыкновенных дифференциальных уравнений можно искать в виде только с половиной
возможных векторов и констант. Была приведена формула для начала вычислений:

Y(0) = М∙с + ∙ .

Из теории матриц известно, что если матрица
ортонормирована, то её обратная матрица есть её транспонированная матрица.
Тогда последняя формула приобретает вид:

Y(0) = М∙с + U∙u

или

Y(0) = U∙u + М∙с

или

Y(0) =  ∙ ,

Таким образом записана в матричном виде формула для
начала счета с левого края, когда на левом крае удовлетворены краевые условия.

Далее запишем V∙Y(1) = v и Y(1) = K(1←0) ∙Y(0)
+ Y*(1←0) совместно:

V∙ [ K(1←0) ∙Y(0) + Y*(1←0) ]
= v

V∙ K(1←0) ∙Y(0) = v – V∙Y*(1←0)

и подставим в эту формулу выражение для Y(0):

V∙ K(1←0) ∙ ∙ = v – V∙Y*(1←0).

V∙ K(1←0) ∙ ∙ = p.

Таким образом мы получили выражение вида:

D ∙ = p,

где матрица D имеет размерность 4х8 и может быть
естественно представлена в виде двух квадратных блоков размерности 4х4:

 ∙ = p.

Тогда можем записать:

D1∙ u + D2 ∙
c = p.

Отсюда получаем, что:

c = D2 ∙ ( p –
D1∙ u )

Таким образом, искомые константы найдены.

Далее показано как применять этот метод для решения
«жестких» краевых задач.

Запишем

V∙ K(1←0) ∙ ∙ = p.

совместно с K(1←0) = K(1←x2) ∙ K(x2←x1)
∙ K(x1←0) и получим:

V∙ K(1←x2) ∙ K(x2←x1) ∙
K(x1←0) ∙ ∙ = p.

Эту систему линейных алгебраических уравнений можно
представить в виде:

[ V∙ K(1←x2) ] ∙ { K(x2←x1) ∙
K(x1←0) ∙ ∙  } = p.

[ матрица ] ∙ { вектор } = вектор

Эту группу линейных алгебраических уравнений можно
подвергнуть построчному ортонормированию, которое сделает строчки [матрицы]
ортонормированными, {вектор} затронут не будет, а вектор получит
преобразование. То есть получим:

[ V∙ K(1←x2) ]  ∙ { K(x2←x1) ∙ K(x1←0)
∙ ∙  } = p.

И так далее.

В итоге поочередного вычленений матриц слева из
вектора и ортонормирования получим систему:

D ∙ = p,

Отсюда получаем, что:

c = D2 ∙ (p – D1∙ u)

Таким образом, искомые константы найдены.

11. Применяемые формулы ортонормирования.

12. Вывод формул, позаимствованный из «Теории матриц»
Гантмахера.

Список литературы

Гантмахер Ф.Р. Теория матриц. – М.: Наука, 1988. – 548
с.

Березин И.С., Жидков Н.П. Методы вычислений, том II,
Государственное издательство физико-математической литературы, Москва, 1962 г., 635 с.

Для подготовки данной работы были использованы
материалы с сайта http://referat.ru/

Дата добавления: 08.08.2011