УДК 519.622 ЯВНО-НЕЯВНЫЙ АЛГОРИТМ С ПРИМЕНЕНИЕМ СХЕМ ЧЕТВЕРТОГО ПОРЯДКА1 А.Е. Новиков Введение. Во многих важных приложениях возникает проблема численного решения задачи Коши для обыкновенных дифференциальных уравнений. В современных методах решения жестких задач при вычислении стадий применяется LU-разложение матрицы Якоби. В случае достаточно большой размерности исходной системы быстродействие алгоритма интегрирования фактически полностью определяется временем декомпозиции этой матрицы. Для повышения эффективности расчетов в ряде алгоритмов используется замораживание матрицы Якоби, то есть применение одной матрицы на нескольких шагах интегрирования [1]. В алгоритмах интегрирования на основе известных безытерационных численных схем, к которым относятся методы типа Розенброка [2] и их различные модификации, проблема замораживания более трудная. Некоторым аналогом замораживания матрицы Якоби является применение в расчетах алгоритмов интегрирования на основе явных и L-устойчивых методов с автоматическим выбором численной схемы [3]. Эффективность алгоритма может быть повышена за счет расчета переходных участков явным методом. В качестве критерия выбора эффективного метода применяется неравенство для контроля устойчивости. Здесь на основе L-устойчивого (4,2)-метода и схемы Мерсона четвертого порядка точности построен алгоритм переменной структуры. Приведены результаты расчетов. Исследование (4,2)-метода. Рассмотрим задачу Коши вида y f ( y ) , y (t0 ) y0 , t0 t tk , (1) где y и f − вещественные N-мерные вектор-функции, t − независимая переменная. Для решения задачи (1) рассмотрим численную формулу [4] yn1 yn p1k1 p1k4 , Dn E ahf n , Dn k1 hf ( yn ) , Dn k2 k1 , (2) Dn k3 hf ( yn β31k1 β32 k2 ) α32 k2 , Dn k4 k3 α42 k2 , где h – шаг интегрирования, a, pi, βij и αij − числовые коэффициенты, ki, 1≤i≤4, − стадии метода, E − единичная матрица, f′n=∂f/∂y − матрица Якоби задачи (1). Подставим разложения ki в виде рядов Тейлора в первую формулу (2). Полагая yn= y(tn) и сравнивая полученное представление с рядом Тейлора для точного решения, запишем условия четвертого порядка точности 1) p1 p2 (1 α32 ) p3 (1 α32 α 42 ) p 4 1 , 2) ap1 2ap2 (a β31 β32 3aα32 ) p3 (2a β31 β32 4aα32 3aα42 ) p4 05 , 3) a 2 p1 3a 2 p2 (a 2 2aβ31 3aβ32 6a 2α32 ) p3 1 Работа выполнена при частичной финансовой поддержке РФФИ (проект 14-01-00047) 1 (3a 2 3aβ31 4aβ32 10a 2α32 6a 2α42 ) p4 1 6 , 4) a3 p1 4a3 p2 (a3 3a 2 β31 6a 2 β32 10a3α32 ) p3 (4a3 6a 2 β31 10a 2 β32 20a3α32 10a3α42 ) p4 1 24 , 5) ( β31 β32 )2 ( p3 p4 ) 13 , 6) a( β31 β32 )( β31 2 β32 )( p3 p4 ) 18 , (3) 7) a( β31 β32 )2 (05 p3 p4 ) 1 24 , 8) ( β31 β32 )3 ( p3 p4 ) 1 4 . Применяя (2) для решения тестовой задачи y λy , y (0) y0 , t 0 , имеем условие L-устойчивости численной формулы (2) вида a(a p1 ) ( β31 a) p3 0 . Исследуя совместность этого соотношения и (3), запишем 32a 4 76a 2 29a 3 146a 2 89a 12 , p2 , p3 , p1 2 2 27 a 27a 27a 4 16a 48a 9 9 24a , β31 , β32 , (4) p4 27 a 32a 32a 864a 3 828a 2 288a 36 54a 2 57a 12 , α42 , α32 a (4 16a) 2 8a 32a 2 где a определяется из условия L-устойчивости 24a 4 96a3 72a 2 16a 1 0 . Данное уравнение имеет четыре вещественных корня. Для расчетов рекомендуется a=0.57281606248213, потому что в этом случае схема (2) дополнительно является A-устойчивой. Для контроля точности вычислений метода (2) четвертого порядка будем применять метод третьего порядка вида yn1,1 yn b1k1 b2k2 b3k3 b4k5 , где Dnk5=k4, а ki, 1≤i≤3, определены в (2). Нетрудно видеть, что требования третьего порядка имеют вид b1 b2 (1 α32 )b3 (1 α32 α42 )b4 1, ab1 2ab2 (a β31 β32 3aα32 )b3 (3a β31 β32 5aα32 4aα42 )b4 1/ 2 , a 2b1 3a 2b2 (a 2 2aβ31 3aβ32 6a 2α32 )b3 (6a 2 4aβ31 5aβ32 15a 2α32 10a 2α42 )b4 1/ 6 , ( β31 β32 )2 (b3 b4 ) 1/ 3 , где коэффициенты a, β31, β32, α32 и α42 заданы в (4). Данная система линейна относительно параметров bi, 1≤i≤4. При применении коэффициентов (4), имеем b1 1.203100567018353 , b2 6.552116304144386 10 1 , b3 7.115271884598151 101 , b4 1.189345958672225 10 1 . Теперь оценку ошибки εn,0 можно вычислить по формуле εn,0=||yn+1− yn+1,1||, а при выборе шага проверять неравенство εn,0≤ε, где ||∙|| – некоторая норма в RN, ε – точность расчетов. 2 Оценку максимального собственного числа vn,0=h|λn,max| матрицы Якоби системы (1), необходимую для перехода на явную формулу, оценим через ее норму по формуле N vn,0 || f / y || max1i N j 1| fi ( yn ) / y j | . Контроль точности и устойчивости метода Мерсона. Одним из самых эффективных явных методов типа Рунге-Кутты четвертого порядка точности является метод Мерсона [5] 1 2 1 yn1 yn k1 k4 k5 , 6 3 6 1 1 1 k1 hf ( yn ) , k2 hf ( yn k1 ) , k3 hf ( yn k1 k2 ) , (5) 3 6 6 1 3 1 3 k4 hf ( yn k1 k3 ) , k5 hf ( yn k1 k3 2k4 ) . 8 8 2 2 Пятое вычисление функции f не дает увеличение порядка до пятого, но позволяет расширить интервал устойчивости до 3.5 и оценить величину локальной ошибки δn,4 с помощью ki, то есть δn4 (2k1 9k3 8k4 k5 ) /30 . Для контроля точности будем применять неравенство ||δn,4||≤5ε5/4, которое получено с учетом накопления глобальной ошибки из локальных ошибок [5]. Несмотря на то, что обоснование неравенства проведено на линейном уравнении, оно с достаточно высокой надежностью использовалось для решения нелинейных задач. Теперь построим неравенство для контроля устойчивости. Применяя к разности k3−k2 формулу Тейлора с остаточным членом в форме Лагранжа первого порядка, имеем k3 k2 h[f ( μn ) / y](k2 k1 ) / 6 , где вектор μn вычислен в некоторой окрестности решения y(tn). Учитывая, что k2 k1 h2 f n f n / 3 O(h3 ) , для контроля устойчивости (5) можно использовать неравенство vn,4 6max | (k3 k2 )i /(k2 k1 )i | 35 , 1i N где числу 3.5 равна длина интервала устойчивости. Отметим, что по мнимой оси область устойчивости также ограничена числом 3.5. Введем обозначения εn,4=δn,4/5. Тогда для контроля точности схемы (5) можно применять неравенство εn,4≤ε5/4, а для контроля устойчивости следующее – vn,4≤3.5. Так как оценка максимального собственного числа vn,4=h|λn,max| является грубой, то контроль устойчивости используется как ограничитель на размер шага интегрирования. В результате прогнозируемый шаг hn+1 вычисляется следующим образом. Новый шаг hac по точности определим по формуле hac=q1hn, где hn есть последний успешный шаг, а q1, учитывая соотношение εn,4=O(h5n), задается уравнением q51εn,4≤ε. Шаг hst по устойчивости зададим формулой hst=q2hn, где q2, учитывая соотношение vn,4=O(hn), определяется из равенства q2vn,4=3.5. Тогда прогнозируемый шаг hn+1 вычисляется по формуле 3 hn1 max[hn ,min(hac , h st )] . Данная формула стабилизирует шаг на участке установления решения, где определяющую роль играет устойчивость. Алгоритм интегрирования. На основе построенных методов легко сформулировать алгоритм переменного шага, в котором на каждом шаге выбирается наиболее эффективная численная схема. Расчеты всегда начинаются явным методом потому, что в нем не используется матрица Якоби. Нарушение неравенства vn,4≤3.5 вызывает переход на L-устойчивую схему. Передача управления явным методам происходит в случае выполнения неравенства vn,0≤3.5, где оценка vn,0 вычисляется через норму матрицы Якоби. Норма ||ξ|| в неравенствах для контроля точности вычисляется по формуле (6) || ξ || max{ ξi /( yni r )} , 1i N где i – номер компоненты, r – положительный параметр. Если по i-й компоненте решения выполняется неравенство ||yni||<r, то контролируется абсолютная ошибка rε, в противном случае – относительная ошибка ε. Ниже построенный алгоритм переменного порядка и шага, а также с автоматическим выбором явной или L-устойчивой численной схемы будем называть RKMK4. Результаты расчетов. В качестве примера выбрана модель кольцевого модулятора [6]. Получая на входе низкочастотный сигнал Uin1 и высокочастотный сигнал Uin2, кольцевой модулятор генерирует на выходе смешанный сигнал U2. Математическая модель состоит из пятнадцати уравнений y1 C 1( y8 05 y10 05 y11 y14 R1 y1) , y2 C 1( y9 05 y12 05 y13 y15 R1 y2 ) , y3 Cs1( y10 q(U D1) q(U D4 )) , y4 Cs1( y11 q(U D2 ) q(U D3 )) , y5 Cs1( y12 q(U D1) q(U D3 )) , y6 Cs1( y13 q(U D2 ) q(U D4 )) , y7 C p1( R p1 y7 q(U D1) q(U D 2 ) q(U D3 ) q(U D 4 )) , y8 Lh1 y1 , y9 Lh1 y2 , y10 Ls 21 (05 y1 y3 Rg 2 y10 ) , y11 Ls31 (05 y1 y4 Rg 3 y11) , y12 Ls 21 (05 y2 y5 Rg 2 y12 ) , y13 Ls31 (05 y2 y6 Rg 3 y13 ) , y14 Ls11( y1 U in1 (t ) ( Ri Rg1) y14 , y15 Ls11( y2 ( Rc Rg1) y15 , y R15 y (0) 0 0 t 103 . Вспомогательные функции задаются формулами 4 (7) U D1 y3 y5 y7 U in 2 (t ) U D 2 y4 y6 y7 U in 2 (t ) U D3 y4 y5 y7 U in 2 (t ) U D 4 y3 y6 y7 U in 2 (t ) q (U ) (e U 1) U in1 (t ) 05sin(2000 t ) U in 2 (t ) 2sin(20000 t ) Расчеты проводились со следующим параметрами: C=1.6·10–8, Cs=2·10–12, Cp=10–8, Lh=4.45, Ls1=0.002, Ls2=Ls3=5·10–4, γ=40.67286402·10–9, R=25000, Rp=Ri=50, Rg1=36.3, Rg2=Rg3=17.3, Rc=600, δ=17.7493332. Вычисления проводились на Intel Core 2 Quad CPU с численной матрицей Якоби с требуемой точностью ε=10-4. Для решения задачи построенному алгоритму потребовалось 77 687 вычислений правой части и 2 212 декомпозиций матрицы Якоби. Фактическая точность вычислений не хуже задаваемой точности. Заключение. В построенном алгоритме с помощью признака можно задавать различные режимы расчета: 1) явным методом с контролем или без контроля устойчивости; 2) L-устойчивым методом с аналитической или численной матрицей Якоби; 3) с автоматическим выбором численной схемы. Все это позволяет применять данный алгоритм для решения как жестких, так и нежестких задач. При расчетах с автоматическим выбором численной схемы вопрос о том, является ли задача жесткой или нет, перекладывается на алгоритм интегрирования. Список литературы [1] Хайрер Э., Ваннер Г. Решение обыкновенных дифференциальных уравнений. Жесткие и дифференциально-алгебраические задачи. – М.: Мир, 1999. – 685 c. [2] Rosenbrock H.H. Some general implicit processes for the numerical solution of differential equations // Computer. 1963. №5. P. 329–330. [3] Новиков A.E., Новиков E.A. Численное решение жестких задач с небольшой точностью // Математическое моделирование. 2010. Т.22, №1. С.46– 56. [4] Новиков Е.А., Шитов Ю.А., Шокин Ю.И. Одношаговые безытерационные методы решения жестких систем // ДАН СССР. 1988. Т. 301, №6. С. 1310– 1314. [5] Merson R.H. An operational methods for integration processes // Proc. of Symp. on Data Processing. Weapons Research Establishment, Salisbury, Australia. 1957. P. 331. [6] Kampowski W., Rentrop P., Schmidt W. Classication and numerical simulation of electric circuits // Surveys on Mathematics for Industry. – 1992. – №2(1). – P. 23–65. 5