In [1]:
%pylab inline
from nesode import *
import itertools
Populating the interactive namespace from numpy and matplotlib

Дифференциальные уравнения

Совместный бакалавриат ВШЭ-РЭШ, 2013-14 учебный год

И. В. Щуров, П. Ф. Соломатин, И. А. Хованская, А. Петрин, Н. Солодовников

Лекция 15. Бифуркации

Структурная устойчивость

Одномерный пример

Рассмотрим дифференциальное уравнение на прямой $$\dot x=-x$$

Динамика такой системы очень простая: все траектории приближаются к особой точке.

Что будет, если мы немножко его возмутим («пошевелим»), добавив к правой части некоторое небольшое слагаемое?

$$\dot x=-x+\varepsilon h(x)$$

Если нас интересует в первую очередь окрестность особой точки (можно считать, например, отрезок $[-1,1]$), и $\varepsilon$ достаточно мало, то можно сказать, что ничего не случится. Нетрудно видеть, что особая точка никуда не денется.

In [2]:
rcParams['figure.figsize']=(6,6)
axes4x4()
mplot(linspace(-4,4),lambda x:-x)
mplot(linspace(-4,4),lambda x:-x+0.2*(cos(x)+x+(x/4.)**2))
mplot(linspace(-4,4),lambda x:-x+0.4*(cos(x)+x+(x/4.)**2))
scatter([0,1./5,3./5],[0,0,0])
Out[2]:
<matplotlib.collections.PathCollection at 0x43596d0>

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

Уравнение на особую точку в зависимости от $\varepsilon$ имеет вид: $v(x,\epsilon ) =0$, и поскольку $\left.\frac{\partial v}{\partial x}\right|_{x=0, \varepsilon =0}\neq 0$, существует функция $x(\epsilon)$, являющаяся решением этого уравнения.

Заметим, что особая точка останется устойчивой и динамика в целом не изменится.

Такая система называется «структурно устойчивой».

Attention! Структурную устойчивость не следует путать с устойчивостью по Ляпунову или асимптотической. Это принципиально разные понятия. Устойчивость по Ляпунову (или асимптотическая) относится к какой-то конкретной особой точке и малым изменениям начального условия. Структурная устойчивость относится к системе целиком, и малым изменениям системы целиком.

Примеры на плоскости

Возмущение нелинейными функциями

Возмущаем нашу систему так, чтобы не менялась матрица Якоби. Посмотрим на: узел, фокус, седло. Собственные значения матрицы Якоби не поменяются, поэтому в линейном приближении система останется прежней. Оказывается, что в этом случае линейное приближение определяет фазовый портрет «на качественном уровне». Например, в случае седла останутся 4 сепаратрисы, стремящиеся к особой точке в прямом или обратном времени; в случае узла сохранится его устойчивость (или неустойчивость) и направления, которых касаются траектории, стремясь к особой точке, в случае фокуса траектории останутся спиралями. При этом фазовый портрет все-таки как-то поменяется: например сепаратриссы могут вместо прямых стать кривыми. Но в окрестности особой точки динамика «примерно такая же» (строгие определения ниже).

Рассмотрим теперь центр. Его фазовый портрет состоит из замкнутых траекторий. Тот факт, что все траектории замыкаются, составляет достаточно сильное условие. Можно представить себе, что все векторы можно чуть-чуть повернуть на некоторый угол, так, что траектории разомкнутся и поменяется тополгический тип особой точки, даже с сохранением линейной части. (Подробный пример мы рассмотрим в следующей лекции.)

Определение структурной устойчивости

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

Определение 1. Две системы называются орбитально топологически эквивалентными, если их фазовые портреты переходят друг в друга с помощью отображения, непрерывного вместе со своим обратным (с сохранением направления движения по траекториям).

Хорошая визуализация: представить себе фазовый портрет системы на пластилиновой плоскости. Если мы можем так сжать, повернуть, скрутить этот пластилин, чтобы один фазовый портрет перешёл в другой, то системы орбитально топологически эквивалентные.

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

Определение 2. Система называется структурно устойчивой, если её малые возмущения орбитально топологически эквивалентны ей самой.

Иными словами, это означает, что малые возмущения не меняют принципиально фазовый портрет системы. Имеется в виду, что существует такой $\varepsilon_0$, что системы $\dot x = v(x)$ и $\dot x = v(x) + \varepsilon f(x)$ орбитально топологически эквивалентны для любого $\varepsilon<\varepsilon_0$.

Покажем, что система типа «центр» структурно неустойчива. Наша система сначала была: $$ \begin{cases} \dot x =-y\\ \dot y = x \end{cases} $$ тогда малое возмущение, например, вот такое: $$ \begin{cases} \dot x =-y + \varepsilon x\\ \dot y = x + \varepsilon y \end{cases} $$ меняет матрицу Якоби на $\begin{pmatrix} \varepsilon & -1 \\ 1 & \varepsilon \end{pmatrix}$, и для любых $\varepsilon$ вещественные части собственных значений не будут нулевыми. У нас принципиально изменилась система: сначала решения были периодическими (траектории были замкнутыми), а после возмущения — нет.

Седлоузловая бифуркация (Fold bifurcation; parabolic bifurcation)

Если две системы имеют разное число особых точек, они точно не являются орбитально топологически эквивалентными. Как могут рождаться и исчезать особые точки?

Рассмотрим пример $$\dot x=\varepsilon-x^2$$

Рассмотрим три случая: $\varepsilon >0$, $\varepsilon =0$, $\varepsilon <0$.

In [4]:
fig = plt.figure()
rcParams['font.family']="Arial"
rcParams['figure.figsize']=(18,6)
fig.suptitle(u"Седлоузловая бифуркация", fontsize=20)
data=[(lambda t,x: -1-x**2, 131, u'ε<0'),
      (lambda t,x: -x**2, 132, u'ε=0'),
      (lambda t,x: 1-x**2, 133, u'ε>0')]
for f,loc,title in data:
    ax=fig.add_subplot(loc)
    axes4x4(('t','x'))
    ax.set_title(title,fontsize=14)
    normdirfield(arange(-4,4,0.5),arange(-4,4,0.5),f,color='red',linewidth=1,length=0.4)
    for t0,x0 in itertools.product(linspace(-4,4,7),[-2,0,2]):
        color=random.rand(3,1)
        eulersplot(f, t0, 4,  x0, linewidth=2, color=color)
        eulersplot(f, t0, -4,  x0, linewidth=2, color=color)
plt.show()

Посмотрим на получившееся решение с точки зрения особых точек:

  1. Особых точек вообще нет.
  2. Всего одна особая точка: траектории правее притягиваются, траектории левее отталкиваются
  3. Одна особая точка устойчивая, одна неустойчивая

Является ли система $\dot x=-x^2$ структурно устойчивой? Нет, потому что малые отклонения меняют количество особых точек.

(См. также статью Седлоузловая бифуркация в Википедии.)

Иллюстрация

Мы говорили, что нормальной моделью роста популяции при ограниченных ресурсах задается уравнением $\dot x = x(1-x)$. Теперь давайте добавим некую квоту отлова (будем считать, что мы разрешаем вылавливать фиксированное количество рыбы за единицу времени). Система приобретает такой вид: $\dot x = x(1-x)-с=x-x^2-c$. Рассмотрим различные квоты отлова. Если $c<1/4$, то у нас две особые точки, динамика стандартная: если рыб много, то их число будет падать; если рыб некое среднее значение, то их число будет расти. Но если рыб будет мало, то отлов приведет к вымиранию. Но мы очевидно хотим максимизировать квоту отлова — рыба содержит много фосфора и полезна населению! Логично поднять $c$ до $1/4$, согда две особые точки «схлопнутся» в одну: если мы выше особой точки, то будет стремление к особой точки; если меньше — рыбы вымрут. Однако, это плохая идея: даже если начальное значение популяции выше положения равновесия, со временем оно станет очень близким к нему, и вылов даже одной рыбы свыше квоты приведет к переключению системы в режим вымирания.

Зато хорошая идея — сделать квоту отлова зависящей от размера популяции, например система $\dot x=x(1-x)-cx$ имеет только устойчивую особую точку при $c=1/4$, дающую максимум возможного улова и не подвергающую популяцию риску вымирания.