- •Москва, июль 2013
- •1. Введение.
- •2. Случай переменных коэффициентов.
- •4.2. Программа на С++ расчета цилиндрической оболочки.
- •ПРОГРАММА НА С++ (РАСЧЕТ ЦИЛИНДРА):
- •4.3. Программа на С++ расчета сферической оболочки (переменные коэффициенты).
- •5. Второй вариант метода «переноса краевых условий» в произвольную точку
- •6. Метод дополнительных краевых условий.
- •7. Формула для начала счета методом прогонки С.К.Годунова.
- •8. Второй алгоритм для начала счета методом прогонки С.К.Годунова.
- •9. Замена метода численного интегрирования Рунге-Кутта в методе прогонки С.К.Годунова.
- •10. Метод половины констант.
- •11. Применяемые формулы ортонормирования.
- •12. Вывод формул, позаимствованный из «Теории матриц» Гантмахера.
- •ЛИТЕРАТУРА
- •13. Метод Вольтерра. (P.S. 28 февраля 2010):
- •16. 18 сентября 2010: Еще кой о чем вспомнил – вычисление матрицы Коши методами типа Рунге-Кутта.
- •17. 19 сентября 2010: еще об ускорении вычислений – применение «параллельных»
- •19. 02 октября 2011: Авторство.
- •20.2. Программа на С++ расчета цилиндра.
- •ПРОГРАММА НА С++ (ЦИЛИНДР):
- •21. 19 декабря 2012: Случай переменных коэффициентов (ошибка).
- •До статьи моего отца это можно было делать так:
- •Новый материал (ошибка):
- •17 июля 2013: Исправление ошибок.
- •19 июля 2013: Исправление исправленного.
76
21. 19 декабря 2012: Случай переменных коэффициентов (ошибка).
Где-то 2 года назад мой отец доктор физико-математических наук профессор МГТУ им. Баумана показал мне его статью в «Докладах Российской Академии наук» о том, как вычислять матрицу Коши в случае, когда система дифференциальных уравнений
имеет матрицу с переменными коэффициентами A A(x) .
До статьи моего отца это можно было делать так:
Из теории матриц [Гантмахер] известно свойство перемножаемости матричных
экспонент (матриц Коши):
K (xi x0 ) K (xi xi 1 ) K (xi 1 xi 2 ) ... K (x2 x1 ) K (x1 x0 ) .
В случае, когда система дифференциальных уравнений имеет матрицу с переменными коэффициентами A A(x) , решение задачи Коши предлагается искать при помощи свойства перемножаемости матриц Коши. То есть интервал интегрирования разбивается на малые участки и на малых участках матрицы Коши приближенно вычисляются по формуле для постоянной матрицы в экспоненте. А затем матрицы Коши,
вычисленные на малых участках, перемножаются:
K (xi x0 ) K (xi xi 1 ) K (xi 1 xi 2 ) ... K (x2 x1 ) K (x1 x0 ) ,
где матрицы Коши приближенно вычисляются по формуле:
K (xi 1 xi ) e A(xi) xi exp( A(xi ) xi ) , где xi xi 1 xi .
Новый материал (ошибка):
Когда я читал статью своего отца, то я не понял сложный вывод формулы. А сегодня утром мне вдруг (непонятно откуда) отчётливо пришла в голову мысль о том, как можно вывести формулу моего отца почти в одно действие.
K (xi x0 ) K (xi xi 1 ) K (xi 1 xi 2 ) ... K (x2 x1 ) K (x1 x0 )exp(xi xi 1 ) exp(xi 1 xi 2 ) ... exp(x2 x1 ) exp(x1 x0 )
exp( A(xi ) xi ) exp( A(xi 1 ) xi 1 ) ... exp( A(x2 ) x2 ) exp( A(x1 ) x1 )exp( A(xi ) xi A(xi 1 ) xi 1 ... A(x2 ) x2 A(x1 ) x1 ) пусть xi xi xi 1 xi 1 xi 1 xi 2 ... x1 const x
exp[( A(xi ) A(xi 1 ) ... A(x2 ) A(x1 )) x]
exp[(1/ i) ( A(xi ) A(xi 1 ) ... A(x2 ) A(x1 )) (xi x0 )] .
77
17 июля 2013: Исправление ошибок.
В журнале «Математическое моделирование» РАН мне сообщили, что оказывается широко известно, что для матриц А и В: exp(A+B) НЕ РАВНО exp(A)*exp(B).
1) Это означает, что ФОРМУЛА
K (xi x0 ) exp[(1/ i) ( A(xi ) A(xi 1 ) ... A(x2 ) A(x1 )) (xi x0 )]
НЕ ВЕРНА.
2) Также это означает, что следующая ФОРМУЛА ТОЖЕ НЕ ВЕРНА:
x j
Y (x j xi ) Y (x j xi ) K (x j xi ) K (xi t)F (t)dt xi
Но я даже сейчас не очень понимаю, зачем я переусложнял жизнь, когда, по-видимому,
можно для участка (x j xi ) пользоваться формулой из «Теории матриц» Гантмахера:
|
|
x |
|
Y |
|
(x xi ) exp( Ax) exp( At)F (t)dt , где вместо x наверное надо просто подставить |
x j . |
|
|
xi
19 июля 2013: Исправление исправленного.
Формула из пункта 2), приведенная только что, оказывается всё же ВЕРНА. Это я с перепугу подумал, что она тоже НЕ верна. ВЕРНА формула:
x j
Y (x j xi ) Y (x j xi ) K (x j xi ) K (xi t)F (t)dt xi
потому, что у Гантмахера в «Теории матриц» записано, что для матрицы А справедливо: exp( Ax) exp( Ax0 ) exp( A(x x0 )) .
Эта формула из Гантмахера верна по-видимому потому, что тут используется одна и та же матрица А, а не матрицы А и В.
