Метод Рунге — Кутты

Поделись знанием:
Перейти к: навигация, поиск

Ме́тоды Ру́нге — Ку́тты (распространено неправильное название Ме́тоды Ру́нге — Ку́тта или же Ме́тоды Ру́нге — Кутта́) — важное семейство численных алгоритмов решения обыкновенных дифференциальных уравнений и их систем. Данные итеративные методы явного и неявного приближённого вычисления были разработаны около 1900 года немецкими математиками К. Рунге и М. В. Куттой.

Формально, методом Рунге — Кутты является модифицированный и исправленный метод Эйлера, они представляют собой схемы второго порядка точности. Существуют стандартные схемы третьего порядка, не получившие широкого распространения. Наиболее часто используется и реализована в различных математических пакетах (Maple, MathCAD, Maxima) стандартная схема четвёртого порядка. Иногда при выполнении расчётов с повышенной точностью применяются схемы пятого и шестого порядков[1][2]. Построение схем более высокого порядка сопряжено с большими вычислительными трудностями[3]. Методы седьмого порядка должны иметь по меньшей мере девять стадий, в схему восьмого порядка входит 11 стадий. Хотя схемы девятого порядка не имеют большой практической значимости, неизвестно, сколько стадий необходимо для достижения этого порядка точности. Аналогичная задача существует для схем десятого и более высоких порядков[3].





Классический метод Рунге — Кутты четвёртого порядка

Метод Рунге — Кутты четвёртого порядка столь широко распространён, что его часто называют просто методом Рунге — Кутты.

Рассмотрим задачу Коши для системы обыкновенных дифференциальных уравнений первого порядка. (Далее <math> \bold y, \bold f, \bold k_i \in \mathbb{R}^n</math>, а <math> x, h \in \mathbb{R}^1 </math>).

<math>\textbf{y}'=\textbf{f}(x,\textbf{y}), \quad \textbf{y}(x_0)=\textbf{y}_0.</math>

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

<math> \textbf{y}_{n+1} = \textbf{y}_n + {h \over 6}(\textbf{k}_1 + 2\textbf{k}_2 + 2\textbf{k}_3 + \textbf{k}_4) </math>

Вычисление нового значения проходит в четыре стадии:

<math> \textbf{k}_1 = \textbf{f} \left( x_n, \textbf{y}_n \right), </math>
<math> \textbf{k}_2 = \textbf{f} \left( x_n + {h \over 2}, \textbf{y}_n + {h \over 2} \textbf{k}_1 \right), </math>
<math> \textbf{k}_3 = \textbf{f} \left( x_n + {h \over 2}, \textbf{y}_n + {h \over 2} \textbf{k}_2 \right), </math>
<math> \textbf{k}_4 = \textbf{f} \left( x_n + h, \textbf{y}_n + h\ \textbf{k}_3 \right). </math>

где <math>h</math> — величина шага сетки по <math>x</math>.

Этот метод имеет четвёртый порядок точности. Это значит, что ошибка на одном шаге имеет порядок <math>O(h^5)</math>, а суммарная ошибка на конечном интервале интегрирования имеет порядок <math>O(h^4)</math> .

Прямые методы Рунге — Кутты

Семейство прямых методов Рунге — Кутты является обобщением метода Рунге — Кутты четвёртого порядка. Оно задаётся формулами

<math> \textbf{y}_{n+1} = \textbf{y}_n + h\sum_{i=1}^s b_i \textbf{k}_i, </math>

где <math>h</math> — величина шага сетки по <math>x</math> и вычисление нового значения проходит в <math>s</math> этапов:

<math>\begin{array}{ll}

\textbf{k}_1 =& \textbf{f}(x_n, \textbf{y}_n),\\ \textbf{k}_2 =& \textbf{f}(x_n+c_2h, \textbf{y}_n+a_{21}h\textbf{k}_1),\\ \cdots&\\ \textbf{k}_s =& \textbf{f}(x_n+c_sh, \textbf{y}_n+a_{s1}h\textbf{k}_1+a_{s2}h\textbf{k}_2+\cdots+a_{s,s-1}h\textbf{k}_{s-1}) \end{array} </math>

Конкретный метод определяется числом <math>s</math> и коэффициентами <math>b_i, a_{ij}</math> и <math>c_i</math>. Эти коэффициенты часто упорядочивают в таблицу (называемую таблицей Бутчера)

<math>\begin{array}{c|ccccc}
 0      &&&&&\\
 c_2    & a_{21} &&&&\\
 c_3    & a_{31} & a_{32} &&&\\
 \vdots & \vdots & \vdots& \ddots&&\\
 c_s    & a_{s1} & a_{s2}& \dots & a_{ss-1}&\\
 \hline & b_1    & b_2   & \dots & b_{s-1} & b_s

\end{array} </math>

Для коэффициентов метода Рунге — Кутты должны быть выполнены условия <math>\sum_{j=1}^{i-1} a_{ij} = c_i</math> для <math> i=2, \ldots, s</math>. Если требуется, чтобы метод имел порядок <math>p</math>, то следует также обеспечить условие

<math>\bar{\textbf{y}}(h+x_0)- {\textbf{y}}(h+x_0)=O(h^{p+1}),</math>

где <math>\bar{\textbf{y}}(h+x_0)</math> — приближение, полученное по методу Рунге — Кутты. После многократного дифференцирования это условие преобразуется в систему полиномиальных уравнений относительно коэффициентов метода.

Неявные методы Рунге — Кутты

Все до сих пор упомянутые методы Рунге — Кутты являются [en.wikipedia.org/wiki/Explicit_and_implicit_methods явными методами]. К сожалению, явные методы Рунге-Кутты, как правило, непригодны для решения жестких уравнений, из-за малой области абсолютной устойчивости. В частности, это описано в [4]. Неустойчивость метода создаёт наибольшие проблемы при решении [en.wikipedia.org/wiki/Numerical_partial_differential_equations дифференциальных уравнений в частных производных].

Нестабильность явных методов Рунге — Кутты мотивировало развитие неявных методов. Неявный метод Рунге — Кутты имеет вид

<math> y_{n+1} = y_n + h\sum_{i=1}^s b_i k_i, </math>

где

<math> k_i = f\bigl( x_n + c_i h, y_n + h\sum_{j=1}^s a_{ij} k_j \bigr), \quad i = 1, \ldots, s.</math> [5]

Явный метод характерен тем, что матрица коэффициентов <math>a_{ij}</math> для него имеет нижний треугольный вид, в отличие от неявного метода, где матрица имеет произвольный вид. Это также видно по таблице Бутчера.

<math>

\begin{array}{c|cccc} c_1 & a_{11} & a_{12}& \dots & a_{1s}\\ c_2 & a_{21} & a_{22}& \dots & a_{2s}\\ \vdots & \vdots & \vdots& \ddots& \vdots\\ c_s & a_{s1} & a_{s2}& \dots & a_{ss} \\ \hline

      & b_1    & b_2   & \dots & b_s\\

\end{array} =

\begin{array}{c|c} \mathbf{c}& A\\ \hline

         & \mathbf{b^T} \\

\end{array} </math>

Следствием этого различия является необходимость на каждом шагу решать систему уравнений для <math>k_i, i=1,2,...,s</math>, где <math>s</math> число стадий. Это увеличивает вычислительные затраты, однако при достаточно малом <math> h</math> эту систему можно представить в виде сжимающего отображения и решать методом простой итерации[6]. В случае одной итерации это увеличивает вычислительные затраты всего лишь в два раза.

С другой стороны, Ж. Кунцман (1961) и Дж. Бутчер (1964) показали, что при любом количестве стадий <math>s</math> существует неявный метод с порядком точности <math>p=2s</math>. Это значит, что для описанного выше явного четырехстадийного метода четвёртого порядка существует неявный аналог с вдвое большим порядком точности.

Неявный метод Рунге—Кутты второго порядка

Простейшим неявным методом Рунге—Кутты является модифицированный метод Эйлера "с пересчетом". Он задаётся формулой:

<math>\bold y_{n+1} =\bold y_{n}+h\frac{\bold f(x_n,\bold y_n)+\bold f(x_{n+1},\bold y_{n+1})}{2}</math>.

Для его реализации на каждом шаге необходимы как минимум две итерации (и два вычисления функции).

Прогноз:

<math>\tilde \bold y_{n+1}=\bold y_n+h\bold f(x_n,\bold y_n)</math>.

Коррекция:

<math>\bold y_{n+1}=\bold y_n+h\frac{\bold f(x_n,\bold y_n)+\bold f(x_{n+1},\tilde \bold y_{n+1})}{2}</math>.

Вторая формула — это простая итерация решения системы уравнений относительно <math>\bold y_{n+1}</math>, записанной в форме сжимающего отображения. Для повышения точности итерацию-коррекцию можно сделать несколько раз, подставляя <math>\tilde\bold y_{n+1}=\bold y_{n+1}</math>. Модифицированный метод Эйлера "с пересчетом" имеет второй порядок точности.

Устойчивость

Преимуществом неявных методов Рунге-Кутты в сравнении с явными является их большая устойчивость, что особенно важно при решении жестких уравнений. Рассмотрим в качестве примера линейное уравнение y' = λy. Обычный метод Рунге-Кутты, примененный к этому уравнению сведется к итерации <math> y_{n+1} = r(h\lambda) \, y_n </math>, с r равным

<math> r(z) = 1 + z b^T (I-zA)^{-1} e = \frac{\det(I-zA+zeb^T)}{\det(I-zA)}, </math> [7]

где <math>e</math> обозначает вектор единиц. Функция <math>r</math> называется функцией устойчивости [8] Из формулы видно, что <math>r</math> является отношением двух полиномов степени <math>s</math>, если метод имеет <math>s</math> стадий. Явные методы имеют строго нижнюю треугольную матрицу <math>A,</math> откуда следует, что <math> \textrm{det} (I - z A) =1 </math> и что функция устойчивости является многочленом.[9]

Численное решение данного примера дает чистый ноль при условии <math>| r(z) | < 1</math> с <math>z = h\lambda</math>. Множество таких <math>r</math> называется областью абсолютной устойчивости. В частности , метод называется A-стабильным если все <math>r</math> с <math>\textrm{Re}(z) < 0</math> находятся в области абсолютной стабильности. Функция устойчивости явного метода Рунге-Кутта является многочленом, поэтому явные методы Рунге-Кутты в принципе не могут быть стабильными.[9]

Если метод имеет порядок <math>p</math>, то функция стабильности удовлетворяет условию <math> r(z) = \textrm{e}^z + O(z^{p+1}) </math> при <math> z \to 0 </math>. Таким образом, представляет интерес отношение многочленов данной степени, приближающее экспоненциальную функцию наилучшим образом. Эти отношения известны как аппроксимации Паде. Аппроксимация Паде с числителем степени <math>m</math> и знаменателем степени <math>n</math> А-устойчива, тогда и только тогда, когда <math>m \le n \le m + 2</math>.[10]

<math>s</math>-стадийный метод Гаусса - Лежандра с имеет порядок <math>2s</math>, поэтому его функция устойчивости является приближением Паде <math>m=n=s</math>. Отсюда следует, что метод является A-устойчивым.[11] Это показывает, что A-устойчивые методы Рунге-Кутты могут иметь сколь угодно высокий порядок. В отличие от этого, порядок А-устойчивости метода Адамса не может превышать два.

Произношение

Согласно грамматическим нормам русского языка, фамилия Ку́тта склоняется, поэтому говорят: «Метод Ру́нге — Ку́тты». Правила русской грамматики предписывают склонять все фамилии (в том числе и мужские), оканчивающиеся на -а, -я, которым предшествует согласный. Единственное исключение — фамилии французского происхождения с ударением на последнем слоге типа Дюма́, Золя́[12]. Однако, иногда встречается несклоняемый вариант «Метод Ру́нге — Ку́тта» (например, в книге [13]).

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

{{{2}}}

производя замену <math>y'=z</math> и перенося <math>4y</math> в правую часть, получаем систему:

{{{2}}}


В программе на С# используется абстрактный класс RungeKutta, в котором следует переопределить абстрактный метод F, задающий правые части уравнений.

Пример решения в среде MATLAB

Решение систем дифференциальных уравнений методом Рунге — Кутты является одним из самых распространённых численных методов решений в технике. В среде MATLAB реализована его одна из разновидностей — метод Дорманда — Принса. Для решения системы уравнений необходимо сначала записать функцию, вычисляющую производные, т.е. функции y = g(x,y,z) и z = cos(3x) - 4y = f(x,y,z), о чём сказано выше. В одном из каталогов, к которому имеется доступ из системы MATLAB нужно создать текстовый файл с именем (например) runge.m со следующим содержимым (для MATLAB версии 5.3):

Имя файла и имя функции должно совпадать, но оно может быть любым неиспользуемым ранее.

Затем необходимо создать главный файл c именем, например, main.m, который будет выполнять основные вычисления. Этот главный файл будет содержать следующий текст:

Так как MATLAB ориентирован на работу с матрицами, решение по методу Рунге — Кутты очень легко выполняется для целого ряда x как, например, в приведенном примере программы. Здесь решение - график функции в пределах времён от 0 до x_fin. Переменные x и y, полученные в результате работы функции ODE45, есть векторы значений. Очевидно, что решение конкретно заданного выше примера - второй элемент x, так как первое значение 0, шаг интегрирование h = 0,1, а интересуемое значение x = 0,1. Следующая запись в командном окне MATLAB даст искомое решение:

Ответ: y1 = 0,98768

Напишите отзыв о статье "Метод Рунге — Кутты"

Ссылки

  1. Бахвалов Н. С., Жидков Н. П., Кобельков Г. М. Численные методы. — М.: Бином, 2001 — с. 363—375.
  2. Ильина В. А., Силаев П. К. Численные методы для физиков-теоретиков. т. 2. — Москва-Ижевск: Институт компьютерных исследований, 2004. — с. 16-30.
  3. 1 2 J. C. Butcher. Numerical Methods for Ordinary Differential Equations. The University of Auckland, New Zealand.
  4. Süli & Mayers 2003, pp. 349–351
  5. Iserles 1996, С. 41; Süli & Mayers 2003, pp. 351–352
  6. Неявные методы Рунге — Кутты
  7. Hairer & Wanner 1996, pp. 40–41
  8. Hairer & Wanner 1996, С. 40
  9. 1 2 Iserles 1996, С. 60
  10. Iserles 1996, pp. 62–63
  11. Iserles 1996, С. 63
  12. [new.gramota.ru/spravka/letters/71-rubric-482 Как склонять фамилии (трудные случаи) - «Грамота.ру» – справочно-информационный Интернет-портал «Русский язык»]
  13. Б. П. Демидович, И. А. Марон, Э. З. Шувалова. Численные методы анализа, 3-е изд. — М.: Наука, 1967.

Отрывок, характеризующий Метод Рунге — Кутты

– Вы не знаете, Болконский, – обратился Билибин к князю Андрею, – что все ужасы французской армии (я чуть было не сказал – русской армии) – ничто в сравнении с тем, что наделал между женщинами этот человек.
– La femme est la compagne de l'homme, [Женщина – подруга мужчины,] – произнес князь Ипполит и стал смотреть в лорнет на свои поднятые ноги.
Билибин и наши расхохотались, глядя в глаза Ипполиту. Князь Андрей видел, что этот Ипполит, которого он (должно было признаться) почти ревновал к своей жене, был шутом в этом обществе.
– Нет, я должен вас угостить Курагиным, – сказал Билибин тихо Болконскому. – Он прелестен, когда рассуждает о политике, надо видеть эту важность.
Он подсел к Ипполиту и, собрав на лбу свои складки, завел с ним разговор о политике. Князь Андрей и другие обступили обоих.
– Le cabinet de Berlin ne peut pas exprimer un sentiment d'alliance, – начал Ипполит, значительно оглядывая всех, – sans exprimer… comme dans sa derieniere note… vous comprenez… vous comprenez… et puis si sa Majeste l'Empereur ne deroge pas au principe de notre alliance… [Берлинский кабинет не может выразить свое мнение о союзе, не выражая… как в своей последней ноте… вы понимаете… вы понимаете… впрочем, если его величество император не изменит сущности нашего союза…]
– Attendez, je n'ai pas fini… – сказал он князю Андрею, хватая его за руку. – Je suppose que l'intervention sera plus forte que la non intervention. Et… – Он помолчал. – On ne pourra pas imputer a la fin de non recevoir notre depeche du 28 novembre. Voila comment tout cela finira. [Подождите, я не кончил. Я думаю, что вмешательство будет прочнее чем невмешательство И… Невозможно считать дело оконченным непринятием нашей депеши от 28 ноября. Чем то всё это кончится.]
И он отпустил руку Болконского, показывая тем, что теперь он совсем кончил.
– Demosthenes, je te reconnais au caillou que tu as cache dans ta bouche d'or! [Демосфен, я узнаю тебя по камешку, который ты скрываешь в своих золотых устах!] – сказал Билибин, y которого шапка волос подвинулась на голове от удовольствия.
Все засмеялись. Ипполит смеялся громче всех. Он, видимо, страдал, задыхался, но не мог удержаться от дикого смеха, растягивающего его всегда неподвижное лицо.
– Ну вот что, господа, – сказал Билибин, – Болконский мой гость в доме и здесь в Брюнне, и я хочу его угостить, сколько могу, всеми радостями здешней жизни. Ежели бы мы были в Брюнне, это было бы легко; но здесь, dans ce vilain trou morave [в этой скверной моравской дыре], это труднее, и я прошу у всех вас помощи. Il faut lui faire les honneurs de Brunn. [Надо ему показать Брюнн.] Вы возьмите на себя театр, я – общество, вы, Ипполит, разумеется, – женщин.
– Надо ему показать Амели, прелесть! – сказал один из наших, целуя кончики пальцев.
– Вообще этого кровожадного солдата, – сказал Билибин, – надо обратить к более человеколюбивым взглядам.
– Едва ли я воспользуюсь вашим гостеприимством, господа, и теперь мне пора ехать, – взглядывая на часы, сказал Болконский.
– Куда?
– К императору.
– О! о! о!
– Ну, до свидания, Болконский! До свидания, князь; приезжайте же обедать раньше, – пocлшaлиcь голоса. – Мы беремся за вас.
– Старайтесь как можно более расхваливать порядок в доставлении провианта и маршрутов, когда будете говорить с императором, – сказал Билибин, провожая до передней Болконского.
– И желал бы хвалить, но не могу, сколько знаю, – улыбаясь отвечал Болконский.
– Ну, вообще как можно больше говорите. Его страсть – аудиенции; а говорить сам он не любит и не умеет, как увидите.


На выходе император Франц только пристально вгляделся в лицо князя Андрея, стоявшего в назначенном месте между австрийскими офицерами, и кивнул ему своей длинной головой. Но после выхода вчерашний флигель адъютант с учтивостью передал Болконскому желание императора дать ему аудиенцию.
Император Франц принял его, стоя посредине комнаты. Перед тем как начинать разговор, князя Андрея поразило то, что император как будто смешался, не зная, что сказать, и покраснел.
– Скажите, когда началось сражение? – спросил он поспешно.
Князь Андрей отвечал. После этого вопроса следовали другие, столь же простые вопросы: «здоров ли Кутузов? как давно выехал он из Кремса?» и т. п. Император говорил с таким выражением, как будто вся цель его состояла только в том, чтобы сделать известное количество вопросов. Ответы же на эти вопросы, как было слишком очевидно, не могли интересовать его.
– В котором часу началось сражение? – спросил император.
– Не могу донести вашему величеству, в котором часу началось сражение с фронта, но в Дюренштейне, где я находился, войско начало атаку в 6 часу вечера, – сказал Болконский, оживляясь и при этом случае предполагая, что ему удастся представить уже готовое в его голове правдивое описание всего того, что он знал и видел.
Но император улыбнулся и перебил его:
– Сколько миль?
– Откуда и докуда, ваше величество?
– От Дюренштейна до Кремса?
– Три с половиною мили, ваше величество.
– Французы оставили левый берег?
– Как доносили лазутчики, в ночь на плотах переправились последние.
– Достаточно ли фуража в Кремсе?
– Фураж не был доставлен в том количестве…
Император перебил его.
– В котором часу убит генерал Шмит?…
– В семь часов, кажется.
– В 7 часов. Очень печально! Очень печально!
Император сказал, что он благодарит, и поклонился. Князь Андрей вышел и тотчас же со всех сторон был окружен придворными. Со всех сторон глядели на него ласковые глаза и слышались ласковые слова. Вчерашний флигель адъютант делал ему упреки, зачем он не остановился во дворце, и предлагал ему свой дом. Военный министр подошел, поздравляя его с орденом Марии Терезии З й степени, которым жаловал его император. Камергер императрицы приглашал его к ее величеству. Эрцгерцогиня тоже желала его видеть. Он не знал, кому отвечать, и несколько секунд собирался с мыслями. Русский посланник взял его за плечо, отвел к окну и стал говорить с ним.
Вопреки словам Билибина, известие, привезенное им, было принято радостно. Назначено было благодарственное молебствие. Кутузов был награжден Марией Терезией большого креста, и вся армия получила награды. Болконский получал приглашения со всех сторон и всё утро должен был делать визиты главным сановникам Австрии. Окончив свои визиты в пятом часу вечера, мысленно сочиняя письмо отцу о сражении и о своей поездке в Брюнн, князь Андрей возвращался домой к Билибину. У крыльца дома, занимаемого Билибиным, стояла до половины уложенная вещами бричка, и Франц, слуга Билибина, с трудом таща чемодан, вышел из двери.
Прежде чем ехать к Билибину, князь Андрей поехал в книжную лавку запастись на поход книгами и засиделся в лавке.
– Что такое? – спросил Болконский.
– Ach, Erlaucht? – сказал Франц, с трудом взваливая чемодан в бричку. – Wir ziehen noch weiter. Der Bosewicht ist schon wieder hinter uns her! [Ах, ваше сиятельство! Мы отправляемся еще далее. Злодей уж опять за нами по пятам.]
– Что такое? Что? – спрашивал князь Андрей.
Билибин вышел навстречу Болконскому. На всегда спокойном лице Билибина было волнение.
– Non, non, avouez que c'est charmant, – говорил он, – cette histoire du pont de Thabor (мост в Вене). Ils l'ont passe sans coup ferir. [Нет, нет, признайтесь, что это прелесть, эта история с Таборским мостом. Они перешли его без сопротивления.]
Князь Андрей ничего не понимал.
– Да откуда же вы, что вы не знаете того, что уже знают все кучера в городе?
– Я от эрцгерцогини. Там я ничего не слыхал.
– И не видали, что везде укладываются?
– Не видал… Да в чем дело? – нетерпеливо спросил князь Андрей.
– В чем дело? Дело в том, что французы перешли мост, который защищает Ауэсперг, и мост не взорвали, так что Мюрат бежит теперь по дороге к Брюнну, и нынче завтра они будут здесь.
– Как здесь? Да как же не взорвали мост, когда он минирован?
– А это я у вас спрашиваю. Этого никто, и сам Бонапарте, не знает.
Болконский пожал плечами.
– Но ежели мост перейден, значит, и армия погибла: она будет отрезана, – сказал он.
– В этом то и штука, – отвечал Билибин. – Слушайте. Вступают французы в Вену, как я вам говорил. Всё очень хорошо. На другой день, то есть вчера, господа маршалы: Мюрат Ланн и Бельяр, садятся верхом и отправляются на мост. (Заметьте, все трое гасконцы.) Господа, – говорит один, – вы знаете, что Таборский мост минирован и контраминирован, и что перед ним грозный tete de pont и пятнадцать тысяч войска, которому велено взорвать мост и нас не пускать. Но нашему государю императору Наполеону будет приятно, ежели мы возьмем этот мост. Проедемте втроем и возьмем этот мост. – Поедемте, говорят другие; и они отправляются и берут мост, переходят его и теперь со всею армией по сю сторону Дуная направляются на нас, на вас и на ваши сообщения.
– Полноте шутить, – грустно и серьезно сказал князь Андрей.
Известие это было горестно и вместе с тем приятно князю Андрею.
Как только он узнал, что русская армия находится в таком безнадежном положении, ему пришло в голову, что ему то именно предназначено вывести русскую армию из этого положения, что вот он, тот Тулон, который выведет его из рядов неизвестных офицеров и откроет ему первый путь к славе! Слушая Билибина, он соображал уже, как, приехав к армии, он на военном совете подаст мнение, которое одно спасет армию, и как ему одному будет поручено исполнение этого плана.
– Полноте шутить, – сказал он.
– Не шучу, – продолжал Билибин, – ничего нет справедливее и печальнее. Господа эти приезжают на мост одни и поднимают белые платки; уверяют, что перемирие, и что они, маршалы, едут для переговоров с князем Ауэрспергом. Дежурный офицер пускает их в tete de pont. [мостовое укрепление.] Они рассказывают ему тысячу гасконских глупостей: говорят, что война кончена, что император Франц назначил свидание Бонапарту, что они желают видеть князя Ауэрсперга, и тысячу гасконад и проч. Офицер посылает за Ауэрспергом; господа эти обнимают офицеров, шутят, садятся на пушки, а между тем французский баталион незамеченный входит на мост, сбрасывает мешки с горючими веществами в воду и подходит к tete de pont. Наконец, является сам генерал лейтенант, наш милый князь Ауэрсперг фон Маутерн. «Милый неприятель! Цвет австрийского воинства, герой турецких войн! Вражда кончена, мы можем подать друг другу руку… император Наполеон сгорает желанием узнать князя Ауэрсперга». Одним словом, эти господа, не даром гасконцы, так забрасывают Ауэрсперга прекрасными словами, он так прельщен своею столь быстро установившеюся интимностью с французскими маршалами, так ослеплен видом мантии и страусовых перьев Мюрата, qu'il n'y voit que du feu, et oubl celui qu'il devait faire faire sur l'ennemi. [Что он видит только их огонь и забывает о своем, о том, который он обязан был открыть против неприятеля.] (Несмотря на живость своей речи, Билибин не забыл приостановиться после этого mot, чтобы дать время оценить его.) Французский баталион вбегает в tete de pont, заколачивают пушки, и мост взят. Нет, но что лучше всего, – продолжал он, успокоиваясь в своем волнении прелестью собственного рассказа, – это то, что сержант, приставленный к той пушке, по сигналу которой должно было зажигать мины и взрывать мост, сержант этот, увидав, что французские войска бегут на мост, хотел уже стрелять, но Ланн отвел его руку. Сержант, который, видно, был умнее своего генерала, подходит к Ауэрспергу и говорит: «Князь, вас обманывают, вот французы!» Мюрат видит, что дело проиграно, ежели дать говорить сержанту. Он с удивлением (настоящий гасконец) обращается к Ауэрспергу: «Я не узнаю столь хваленую в мире австрийскую дисциплину, – говорит он, – и вы позволяете так говорить с вами низшему чину!» C'est genial. Le prince d'Auersperg se pique d'honneur et fait mettre le sergent aux arrets. Non, mais avouez que c'est charmant toute cette histoire du pont de Thabor. Ce n'est ni betise, ni lachete… [Это гениально. Князь Ауэрсперг оскорбляется и приказывает арестовать сержанта. Нет, признайтесь, что это прелесть, вся эта история с мостом. Это не то что глупость, не то что подлость…]
– С'est trahison peut etre, [Быть может, измена,] – сказал князь Андрей, живо воображая себе серые шинели, раны, пороховой дым, звуки пальбы и славу, которая ожидает его.
– Non plus. Cela met la cour dans de trop mauvais draps, – продолжал Билибин. – Ce n'est ni trahison, ni lachete, ni betise; c'est comme a Ulm… – Он как будто задумался, отыскивая выражение: – c'est… c'est du Mack. Nous sommes mackes , [Также нет. Это ставит двор в самое нелепое положение; это ни измена, ни подлость, ни глупость; это как при Ульме, это… это Маковщина . Мы обмаковались. ] – заключил он, чувствуя, что он сказал un mot, и свежее mot, такое mot, которое будет повторяться.
Собранные до тех пор складки на лбу быстро распустились в знак удовольствия, и он, слегка улыбаясь, стал рассматривать свои ногти.
– Куда вы? – сказал он вдруг, обращаясь к князю Андрею, который встал и направился в свою комнату.
– Я еду.
– Куда?
– В армию.
– Да вы хотели остаться еще два дня?
– А теперь я еду сейчас.
И князь Андрей, сделав распоряжение об отъезде, ушел в свою комнату.
– Знаете что, мой милый, – сказал Билибин, входя к нему в комнату. – Я подумал об вас. Зачем вы поедете?
И в доказательство неопровержимости этого довода складки все сбежали с лица.
Князь Андрей вопросительно посмотрел на своего собеседника и ничего не ответил.
– Зачем вы поедете? Я знаю, вы думаете, что ваш долг – скакать в армию теперь, когда армия в опасности. Я это понимаю, mon cher, c'est de l'heroisme. [мой дорогой, это героизм.]
– Нисколько, – сказал князь Андрей.
– Но вы un philoSophiee, [философ,] будьте же им вполне, посмотрите на вещи с другой стороны, и вы увидите, что ваш долг, напротив, беречь себя. Предоставьте это другим, которые ни на что более не годны… Вам не велено приезжать назад, и отсюда вас не отпустили; стало быть, вы можете остаться и ехать с нами, куда нас повлечет наша несчастная судьба. Говорят, едут в Ольмюц. А Ольмюц очень милый город. И мы с вами вместе спокойно поедем в моей коляске.
– Перестаньте шутить, Билибин, – сказал Болконский.
– Я говорю вам искренно и дружески. Рассудите. Куда и для чего вы поедете теперь, когда вы можете оставаться здесь? Вас ожидает одно из двух (он собрал кожу над левым виском): или не доедете до армии и мир будет заключен, или поражение и срам со всею кутузовскою армией.
И Билибин распустил кожу, чувствуя, что дилемма его неопровержима.
– Этого я не могу рассудить, – холодно сказал князь Андрей, а подумал: «еду для того, чтобы спасти армию».
– Mon cher, vous etes un heros, [Мой дорогой, вы – герой,] – сказал Билибин.


В ту же ночь, откланявшись военному министру, Болконский ехал в армию, сам не зная, где он найдет ее, и опасаясь по дороге к Кремсу быть перехваченным французами.
В Брюнне всё придворное население укладывалось, и уже отправлялись тяжести в Ольмюц. Около Эцельсдорфа князь Андрей выехал на дорогу, по которой с величайшею поспешностью и в величайшем беспорядке двигалась русская армия. Дорога была так запружена повозками, что невозможно было ехать в экипаже. Взяв у казачьего начальника лошадь и казака, князь Андрей, голодный и усталый, обгоняя обозы, ехал отыскивать главнокомандующего и свою повозку. Самые зловещие слухи о положении армии доходили до него дорогой, и вид беспорядочно бегущей армии подтверждал эти слухи.