Правая часть
задается аналитически? А то в этом случае математические пакеты могут считать и со ста знаками.
Исходная система (1):
Уравнения линериазации
(2), где
. Здесь
- перидиоческая вектор функция, задающая цикл. То есть правая часть аналитически не задается. Более того все начинается с того, что 1. надо знать начальное условие для цикла с точностью х знаков, 2. найти численный метод для решения дифур, который бы выдавал на гора решения хотя бы в течение одного периода с точностью х.
Если положить в системе (1)
, то получим автономную нелинейную систему, в которой есть только одна седловая бифуркация. Аналогично из уравнений линеаризации, для тех же значений параметров, я определила, что система асимтотически устойчива. Собственные значения
Код:
lambda =
1.0e+02 *
-0.001287080938828 + 0.027858096249451i
-0.001287080938828 - 0.027858096249451i
-1.359373451767490
То есть первых два и третий отличаются на два порядка и отсуюда растут ноги(!). Насколько я понимаю, система с косинусом будет как бы соответствовать движению этой фиксированной точки со временем. И оценка точности:
Код:
exp(lambda(3))
ans =
9.186733228133013e-60
Matlab сдался без боя, Mathematica просто не интегрирует численно уравнения (Рунге-Кутта 4-5 не хватает и на 35 знаков).. Короче, пришлось мне поставить arbitrary precision libraries, вбить Рунге-Кутта 7-8 и на данный момент я пытаюсь найти более точные начальные условия для цикла, а сходимость надо сказать совсем не быстрая и работать надо уже не с double... Пока что для 35 знаков только один элемент
периодический, в остальных - мусор (в конце периода так точно). Пробовала находить
, решая матричное дифференциальное уравнение
- результат тот же. Пробовала перейти к каноническим переменным, тогда фундаментальная матрица будет
, где
,
,
- матрица собственных векторов
. В таком представлении элементы в первых двух столбцах
периодические, а третий - мусор.
Для сведения к двумерной системе надо знать собственное подпространство для двух других показателей. Типа матрица после линейного преобразования будет
, где
- блок два на два. Весь вопрос, с какой точностью. Возможно, в задании подпространства нужна точность порядка обратной к этому большому множителю растяжения.
То есть надо перейти от
к новым коодинатам
, таким что уравнения станут
, где
,
- третий показатель? Я не знаю, как это сделать, пока даже "геометрически" представляю приблизительно
Можно попробовать зарешать систему в обратном направлении с единичной начальной матрицей, чтобы найти собственный вектор, который будет сильно растягиваться. Поскольку с каких начальных данных не начинай, почти наверняка только он и останется. А потом, начав с него, получить и собственное значение.
А поподробнее? Тоже что-то подобное мне в голову приходило, потому я и начала этот топик, спрашивая по поводу устойчивости цикла в обратную сторону.