Часть V · Линейная алгебра Глава 36 из 60
Метод Гаусса
Как по нескольким наблюдениям найти потерянную планету: систему из многих уравнений превращаем в лесенку и читаем ответ снизу вверх. По ступенькам сразу видно, одно у системы решение, бесконечно много или ни одного.
Опирается на: 35 · Матрицы как преобразования
Вы научитесь
- приводить систему к ступенчатому виду и выписывать по нему все решения
- находить ранг и по теореме Кронекера — Капелли узнавать, одно у системы решение, бесконечно много или ни одного
- оценивать, сколько действий стоит метод Гаусса, и понимать, зачем компьютер выбирает главный элемент
В прошлой главе матрица превратилась в преобразование: $A$ берёт вектор $\mathbf x$ и переносит его в $A\mathbf x$. Решить систему $A\mathbf x = \mathbf b$ — значит пройти этот путь обратно и узнать, какой вектор преобразование отправило в $\mathbf b$. Для двух неизвестных хватает формулы обратной матрицы. Но у астронома, который ищет орбиту планеты, неизвестных шесть, а у инженера, который рассчитывает каркас моста, их сотни тысяч. Нужен способ, которому всё равно, сколько уравнений, и который никогда не отказывает.
Такой способ знали задолго до матриц, а знаменитым его сделала одна пропажа. В первую ночь XIX века, 1 января 1801 года, Джузеппе Пьяцци в обсерватории Палермо заметил слабую звёздочку, которой не было в каталоге. Следующей ночью она сдвинулась. Пьяцци принял её за комету, хотя для кометы она ползла слишком медленно и ровно. Он наблюдал её 24 раза, пока 11 февраля не заболел, а потом новое светило, позже названное Церерой, ушло в сияние Солнца. Чтобы осенью найти его снова, нужна была орбита, а шесть недель наблюдений давали лишь крошечный кусок пути.
Орбиту задают шесть чисел — элементы орбиты: размер и вытянутость эллипса, наклон его плоскости и линия, по которой эта плоскость пересекает плоскость земной орбиты, поворот эллипса внутри своей плоскости и положение планеты в выбранный момент. Восстановить их по наблюдениям Пьяцци взялся двадцатичетырёхлетний Карл Фридрих Гаусс. Чем кончилась охота, расскажем в конце главы. Сначала — инструмент, без которого Гаусс не обошёлся бы.
Уточняя орбиту по многим наблюдениям, вычислитель берёт приближённые элементы и ищет к ним маленькие поправки. Для малых поправок уравнения становятся линейными — так касательная из главы о производной заменяет кривую вблизи точки. Выходит система линейных уравнений с шестью неизвестными, и решать её приходится вручную, раз за разом. Гаусс решал такие системы последовательным исключением неизвестных. Посмотрим, как устроен этот способ, почему он работает всегда и сколько стоит.
Три разрешённых хода
Начнём с игрушечной версии задачи астронома. Точку наблюдали трижды: в моменты $t = 1$, $2$ и $3$ она была на высоте $6$, $11$ и $18$. Допустим, высота меняется по закону $y = a + bt + ct^2$, как у брошенного камня. Каждое наблюдение даёт уравнение на неизвестные коэффициенты:
$$\left\{\begin{aligned} a + b + c &= 6, \\ a + 2b + 4c &= 11, \\ a + 3b + 9c &= 18. \end{aligned}\right.$$
Вычтем первое уравнение из второго и из третьего. Неизвестное $a$ пропадает из обоих: остаются $b + 3c = 5$ и $2b + 8c = 12$. Из последнего вычтем удвоенное предпоследнее и получим $2c = 2$. Теперь поднимаемся обратно: $c = 1$, затем $b = 5 - 3c = 2$, затем $a = 6 - b - c = 3$. Закон движения $y = 3 + 2t + t^2$, и в момент $t = 4$ точка будет на высоте $3 + 8 + 16 = 27$. Мы предсказали следующее наблюдение — в миниатюре то же, что предстояло сделать Гауссу.
Буквы в этих выкладках только занимают место: всю работу делают коэффициенты. Выпишем их таблицей, отделив чертой правые части. Каждое действие над уравнениями становится действием над строками таблицы:
$$\left(\begin{array}{ccc|c} 1 & 1 & 1 & 6 \\ 1 & 2 & 4 & 11 \\ 1 & 3 & 9 & 18 \end{array}\right) \xrightarrow{\substack{R_2 - R_1 \\ R_3 - R_1}} \left(\begin{array}{ccc|c} 1 & 1 & 1 & 6 \\ 0 & 1 & 3 & 5 \\ 0 & 2 & 8 & 12 \end{array}\right) \xrightarrow{R_3 - 2R_2} \left(\begin{array}{ccc|c} 1 & 1 & 1 & 6 \\ 0 & 1 & 3 & 5 \\ 0 & 0 & 2 & 2 \end{array}\right).$$
Матрицу коэффициентов системы, к которой справа приписан столбец правых частей, называют расширенной матрицей и обозначают $(A \mid \mathbf b)$. Строку номер $i$ будем обозначать $R_i$ (от английского row — «строка»). Элементарные преобразования строк — это три хода: переставить две строки ($R_i \leftrightarrow R_j$), умножить строку на ненулевое число ($R_i \to kR_i$, $k \ne 0$) и прибавить к строке другую строку, умноженную на любое число ($R_i \to R_i + kR_j$, $j \ne i$).
Над уравнениями ходы делают то же, что мы делали руками: переставляют уравнения, умножают уравнение на число, прибавляют к одному уравнению другое. Но почему после таких ходов решения не теряются и не появляются лишние? Это нужно доказать, и доказательство здесь — самое наглядное место всего метода.
Если расширенная матрица $(A' \mid \mathbf b')$ получена из $(A \mid \mathbf b)$ элементарными преобразованиями строк, то у систем $A\mathbf x = \mathbf b$ и $A'\mathbf x = \mathbf b'$ одни и те же решения.
Хитрость в том, что каждый ход можно отменить другим ходом. Поэтому достаточно проверить одно: после хода старые решения остаются решениями.
В системе два уравнения: $x + y = 3$ и $x - y = 1$. Второе уравнение умножили на $0$. Что стало с множеством решений?
Уравнение $0x + 0y = 0$ верно при любых $x$ и $y$, так что от системы осталось одно уравнение $x + y = 3$ — целая прямая решений. Умножать можно только на ненулевое число: такой ход обратим, и решения не меняются.
Лестница
Ходы есть — нужна стратегия. Цель — матрица, в которой под «лестницей» стоят одни нули, а каждая следующая ступенька начинается правее предыдущей:
$$\left(\begin{array}{cccc|c} \boxed{2} & 1 & 0 & 3 & 5 \\ 0 & 0 & \boxed{-1} & 4 & 1 \\ 0 & 0 & 0 & \boxed{7} & 14 \\ 0 & 0 & 0 & 0 & 0 \end{array}\right)$$
Матрица имеет ступенчатый вид, если нулевые строки стоят внизу, а первый ненулевой элемент каждой ненулевой строки стоит строго правее, чем у строки над ней. Эти первые ненулевые элементы — ступеньки лестницы (выше они обведены рамкой) — называют ведущими элементами.
Ступенчатую систему решают снизу вверх, как мы уже делали: последнее ненулевое уравнение содержит меньше всего неизвестных, его решаем первым и подставляем найденное выше. Это обратный ход. А получают лестницу прямым ходом. Идём по столбцам слева направо. В очередном столбце ищем ненулевой элемент среди строк, которые ещё не стали ступеньками; если его нет, столбец пропускаем. Найденный элемент перестановкой поднимаем на верх оставшейся части — это новый ведущий. Из каждой строки ниже вычитаем ведущую строку с таким множителем, чтобы под ведущим получился ноль: если ведущий равен $p$, а под ним стоит $q$, множитель равен $\frac qp$. Затем опускаемся на строку ниже и переходим к следующему столбцу.
Любую матрицу элементарными преобразованиями строк можно привести к ступенчатому виду. Прямой ход, описанный выше, всегда заканчивается ступенчатой матрицей.
Доказываем индукцией по числу столбцов: прямой ход устраивает первый столбец и дальше работает с матрицей поменьше.
Лестницу можно отполировать. Разделим каждую ведущую строку на её ведущий элемент, чтобы ступеньки стали единицами, и обратным ходом по столбцам обнулим всё над ними. Для нашей системы про параболу получится
$$\left(\begin{array}{ccc|c} 1 & 1 & 1 & 6 \\ 0 & 1 & 3 & 5 \\ 0 & 0 & 2 & 2 \end{array}\right) \longrightarrow \left(\begin{array}{ccc|c} 1 & 0 & 0 & 3 \\ 0 & 1 & 0 & 2 \\ 0 & 0 & 1 & 1 \end{array}\right),$$
и ответ $a = 3$, $b = 2$, $c = 1$ стоит прямо в последнем столбце.
Ступенчатую матрицу, у которой все ведущие элементы равны $1$, а над ними стоят нули, называют матрицей приведённого ступенчатого вида. Прямой ход вместе с таким обратным называют методом Гаусса — Жордана.
Назван он по Вильгельму Йордану, немецкому геодезисту, который описал этот вариант в учебнике геодезии в конце XIX века. По-русски его фамилию обычно пишут на французский лад, и метод нередко по ошибке связывают с Камилем Жорданом, чья нормальная форма матриц встретится в главе 38.
Иногда на месте очередного ведущего оказывается ноль. Возьмём систему $x + y + 2z = 5$, $2x + 2y + 5z = 11$, $3x + 4y + 7z = 17$. После вычитаний $R_2 - 2R_1$ и $R_3 - 3R_1$ из второго уравнения пропали сразу и $x$, и $y$: оно стало $z = 1$. Ведущий второго столбца надо искать ниже — он в третьей строке, $y + z = 2$. Меняем строки местами, и лестница готова. Попробуйте провести это сами.
Решите систему $x + y + z = 4$, $2x + 3y + z = 4$, $x - y + 2z = 9$. Ответ запишите тройкой $(x;\,y;\,z)$.
$R_2 - 2R_1$ даёт $y - z = -4$, $R_3 - R_1$ даёт $-2y + z = 5$. Прибавим к третьему удвоенное второе: $-z = -3$, то есть $z = 3$. Тогда $y = -4 + z = -1$, а $x = 4 - y - z = 2$. Проверка по третьему уравнению: $2 + 1 + 6 = 9$.
Одно, бесконечно много или ни одного
До сих пор лестница выходила полной: сколько неизвестных, столько и ступенек. Так бывает не всегда. Возьмём систему
$$\left\{\begin{aligned} x + 2y + z &= 4, \\ 2x + 4y + 3z &= 9, \\ 3x + 6y + 4z &= 13. \end{aligned}\right.$$
Вычитания $R_2 - 2R_1$ и $R_3 - 3R_1$ дают одинаковые строки $z = 1$, и после $R_3 - R_2$ третье уравнение превращается в $0 = 0$. Обратный ход приводит к приведённому ступенчатому виду:
$$\left(\begin{array}{ccc|c} 1 & 2 & 0 & 3 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 0 \end{array}\right), \qquad\text{то есть}\qquad x + 2y = 3, \quad z = 1.$$
Ступенька во втором столбце так и не появилась, и неизвестное $y$ ничем не ограничено. Задайте его как угодно — остальные подстроятся: $x = 3 - 2y$, $z = 1$. Решений бесконечно много, и все они лежат на одной прямой в пространстве.
Неизвестные, в столбцах которых стоят ведущие элементы, называют главными (или базисными), остальные — свободными. Систему, у которой есть хотя бы одно решение, называют совместной, а систему без решений — несовместной.
Если свободных неизвестных два, в общем решении два параметра, и решения заполняют плоскость. А если в третьем уравнении справа стоит не $13$, а $14$, та же цепочка ходов закончится строкой $0 = 1$. Это уравнение неверно при любых $x$, $y$, $z$, и система несовместна.
Всё решает число ступенек. Посчитать его можно только после того, как лестница построена, и тут возникает законный вопрос: не зависит ли оно от того, какими ходами мы шли? Разные вычислители выбирают ведущие по-разному и получают разные ступенчатые матрицы. Оказывается, после полировки до приведённого вида все дороги приводят в одно место.
Как бы ни приводили матрицу $A$ к приведённому ступенчатому виду, результат получится один и тот же. В частности, число ведущих элементов определено самой матрицей.
Идея: приведённый вид можно прочитать по связям между столбцами матрицы, а эти связи ходы не меняют.
Число ведущих элементов в ступенчатом виде матрицы называют её рангом и обозначают $\operatorname{rank} A$.
Любой ступенчатый вид дополировывается до приведённого, не меняя числа ступенек, поэтому ранг можно считать по любой лестнице. У системы про параболу $\operatorname{rank} A = 3$, у системы со свободным $y$ ранг равен $2$. Теперь можно сказать, когда у системы есть решения, одним сравнением двух чисел.
Система $A\mathbf x = \mathbf b$ совместна тогда и только тогда, когда $\operatorname{rank} A = \operatorname{rank}\,(A \mid \mathbf b)$. Если оба ранга равны $r$, а неизвестных $n$, то при $r = n$ решение единственно, а при $r < n$ решений бесконечно много, и в общем решении $n - r$ параметров.
Хитрость в том, что прямой ход не отличает последний столбец от остальных: всё решает, окажется ли там ступенька.
В разных странах эту теорему называют по-разному. У нас и в Польше — по Леопольду Кронекеру и Альфредо Капелли, в Италии и в англоязычных книгах — теоремой Руше — Капелли, во Франции — Руше — Фонтене, в Испании — Руше — Фробениуса.
В пространстве каждое уравнение с тремя неизвестными задаёт плоскость, и теорема превращается в каталог того, как могут расположиться три плоскости:
| $\operatorname{rank} A$ | $\operatorname{rank}\,(A \mid \mathbf b)$ | Решения | Что видно |
|---|---|---|---|
| $3$ | $3$ | одно | плоскости сходятся в точке |
| $2$ | $2$ | прямая | «книжка»: общая прямая |
| $2$ | $3$ | нет | «призма» или две параллельны |
| $1$ | $1$ | плоскость | все три совпали |
| $1$ | $2$ | нет | плоскости параллельны |
Строка «книжка» включает и случай, когда две плоскости совпали, а третья их пересекает. «Призма» — это три плоскости, которые попарно пересекаются по трём параллельным прямым; другой несовместный случай того же ранга — две параллельные плоскости и третья, секущая обе. В последней строке параллельны все три, и хотя бы две из них различны.
Особенно простой случай — однородная система, у которой все правые части нули. Она всегда совместна: нулевой столбец её решает. Интересно, есть ли у неё другие решения.
Однородная система, в которой неизвестных больше, чем уравнений, имеет ненулевое решение.
Пусть уравнений $m$, неизвестных $n > m$. Ступенек в ступенчатом виде не больше, чем строк, поэтому $\operatorname{rank} A \le m < n$, и хотя бы одно неизвестное свободно. Система совместна (у неё есть нулевое решение), значит, по теореме Кронекера — Капелли главные неизвестные находятся обратным ходом при любых значениях свободных. Дадим одному свободному неизвестному значение $1$, остальным — $0$. Получится решение, у которого одна координата равна $1$, то есть ненулевое.
Это невзрачное следствие ещё сработает в следующей главе: на нём держится доказательство того, что у пространства есть размерность.
В системе три уравнения и четыре неизвестных. Может ли у неё быть ровно одно решение?
Ранг не больше числа строк, то есть $3 < 4$, так что свободное неизвестное есть всегда. Если система совместна, оно принимает любые значения. Но совместной она может и не быть: например, если два уравнения отличаются только правой частью.
Найдите ранг матрицы $\begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix}$.
$R_2 - 4R_1$ и $R_3 - 7R_1$ дают строки $(0;\,-3;\,-6)$ и $(0;\,-6;\,-12)$. Вторая из них — удвоенная первая, и после $R_3 - 2R_2$ остаётся нулевая строка. Ступенек две: ранг равен $2$.
При каком $a$ система $x + y + z = 1$, $x + 2y + 3z = 2$, $2x + 3y + (a + 6)z = 4$ не имеет решений?
$R_2 - R_1$ даёт $y + 2z = 1$, $R_3 - 2R_1$ даёт $y + (a + 4)z = 2$. Вычтем одно из другого: $(a + 2)z = 1$. При $a \ne -2$ отсюда находится $z$, и решение единственно. При $a = -2$ получается $0 = 1$: ранг матрицы $2$, ранг расширенной $3$, решений нет.
Сколько стоит решение
Гаусс считал вручную, и каждое умножение отнимало время. Сколько действий нужно, чтобы решить методом Гаусса систему из $n$ уравнений с $n$ неизвестными?
Если система $n \times n$ имеет единственное решение и перестановки строк не понадобились, прямой и обратный ход вместе требуют $\frac{n^3}{3} + n^2 - \frac n3$ умножений и делений и $\frac{n^3}{3} + \frac{n^2}{2} - \frac{5n}{6}$ сложений и вычитаний.
Хитрость в том, чтобы увидеть, где работа сосредоточена: в квадратах, которые с каждым шагом уменьшаются.
Много это или мало? Сравните с формулами Крамера из главы о системах: каждое неизвестное — отношение двух определителей. Если считать определитель раскрытием по строке, в нём $n!$ слагаемых. Для $n = 20$ это около $10^{21}$ умножений: при миллиарде операций в секунду — тридцать тысяч лет. Метод Гаусса решает ту же систему за $5910$ действий, то есть за несколько микросекунд.
Кубический рост — главный закон этого раздела. Удвоили размер сетки в инженерной модели — работа выросла в восемь раз. Поэтому для огромных систем, где почти все коэффициенты нули, придумано множество обходных путей, которые пользуются этими нулями. Но плотную систему без особой структуры по-прежнему решают методом Гаусса. Им же измеряют мощь суперкомпьютеров: в рейтинге TOP500, который ведут с 1993 года, машины соревнуются в одном упражнении — решить огромную плотную систему линейных уравнений.
Сколько умножений и делений понадобится методу Гаусса для системы из $10$ уравнений с $10$ неизвестными (с единственным решением и без перестановок)?
По формуле $\frac{n^3}{3} + n^2 - \frac n3$ при $n = 10$: $\frac{1000}{3} + 100 - \frac{10}{3} = \frac{990}{3} + 100 = 330 + 100 = 430$.
Тонкий лёд
Компьютер хранит числа с конечным числом значащих цифр — обычно около шестнадцати. После каждого действия результат округляется, и ошибки накапливаются. Для метода Гаусса это не мелочь: неудачный ведущий элемент может погубить весь ответ. Покажем это на калькуляторе, который помнит только три значащие цифры. Решим систему
$$\left\{\begin{aligned} 0{,}0001x + y &= 1, \\ x + y &= 2. \end{aligned}\right.$$
Её точное решение $x = \frac{10\,000}{9999} \approx 1{,}0001$, $y = \frac{9998}{9999} \approx 0{,}9999$. Ведущий — $0{,}0001$, множитель $10\,000$. Вычитаем: $(1 - 10\,000)y = 2 - 10\,000$, то есть $-9999y = -9998$. Три цифры калькулятора превращают обе части в $-10\,000$, и выходит $y = 1$. Подставляем в первое уравнение: $0{,}0001x = 1 - 1 = 0$, то есть $x = 0$. Ответ неверен целиком. Двойка из второго уравнения утонула в огромном $10\,000$, а потом крошечный ведущий раздул оставшуюся ошибку.
Поменяем уравнения местами. Ведущий теперь $1$, множитель $0{,}0001$: $(1 - 0{,}0001)y = 1 - 0{,}0002$, после округления $y = 1$, и $x = 2 - y = 1$. Ответ верен с точностью до третьей цифры.
Выбор главного элемента по столбцу — правило, по которому на каждом шаге ведущим делают наибольший по модулю элемент столбца среди оставшихся строк. Тогда все множители по модулю не больше единицы, и числа в процессе не разрастаются.
Выбор главного элемента исправляет ошибки алгоритма, но не может исправить саму задачу. Вспомните систему из главы о системах: $x + y = 2$, $x + 1{,}01y = 2{,}01$ с решением $(1;\,1)$. Сдвиньте правую часть на сотую, до $2{,}02$, и решение уедет в $(0;\,2)$. Правая часть изменилась на полпроцента, а решение — на сто процентов. Прямые почти параллельны, и никакой порядок действий этого не исправит: так устроены сами данные.
Число обусловленности обратимой матрицы — $\kappa(A) = \|A\| \cdot \|A^{-1}\|$, где $\|A\|$ — наибольший коэффициент, с которым $A$ может удлинить вектор. Относительная погрешность решения системы $A\mathbf x = \mathbf b$ может превзойти относительную погрешность правой части не больше чем в $\kappa(A)$ раз.
У матрицы из нашего примера $\kappa \approx 402$, и полпроцента превратились в сотню процентов — в двести раз больше, в пределах обещанного. Грубое правило вычислителей: при $\kappa \approx 10^k$ в ответе теряется около $k$ верных знаков. У матрицы Гильберта $10 \times 10$ с элементами $\frac{1}{i + j - 1}$ число обусловленности около $1{,}6 \cdot 10^{13}$, и из шестнадцати знаков компьютера верными останутся лишь два-три.
Записать ходы: LU-разложение
Астроном получает новые наблюдения, а моменты времени, в которые он их делает, те же. В нашей игрушке это значит: матрица $A$ та же, меняются только правые части. Ходы прямого хода выбираются по матрице и от правых частей не зависят. Их стоит записать один раз.
Пусть прямой ход для квадратной матрицы $A$ прошёл без перестановок строк и дал ступенчатую матрицу $U$. Составим нижнюю треугольную матрицу $L$: на диагонали единицы, а на месте $(i, j)$ под диагональю — множитель $\ell_{ij}$, с которым строку $j$ вычитали из строки $i$. Тогда $A = LU$.
Проследим за строкой $i$. Прямой ход менял её только вычитаниями: на шаге $j < i$ из неё вычли строку $j$ с множителем $\ell_{ij}$. Какой была строка $j$ в тот момент? На шаге $j$ она ведущая, а после этого прямой ход меняет только строки ниже ведущей. Значит, вычитали уже окончательную строку $j$ матрицы $U$. Обозначив строки через $\mathbf a_i$ и $\mathbf u_j$, получаем $\mathbf u_i = \mathbf a_i - \ell_{i1}\mathbf u_1 - \dots - \ell_{i,i-1}\mathbf u_{i-1}$, то есть $\mathbf a_i = \ell_{i1}\mathbf u_1 + \dots + \ell_{i,i-1}\mathbf u_{i-1} + 1 \cdot \mathbf u_i$. Справа стоит $i$-я строка произведения $LU$: по правилу умножения матриц она складывается из строк $U$ с коэффициентами из $i$-й строки $L$. Равенство верно для каждой строки, и $A = LU$.
Две треугольные системы решаются примерно за $2n^2$ действий против $\frac23 n^3$ у полного метода. Для тысячи неизвестных это два миллиона действий вместо почти семисот миллионов. Если перестановки нужны, разложение записывают как $PA = LU$: матрица $P$ переставляет строки $A$ так, как это сделал бы выбор главного элемента, после чего прямой ход идёт без перестановок. Именно в таком виде метод Гаусса живёт в вычислительных библиотеках. LU-разложение описал в 1938 году польский астроном Тадеуш Банахевич. В 1948 году Алан Тьюринг разобрал, как в нём накапливаются ошибки округления, и ввёл термин «число обусловленности».
Церера найдена
Вернёмся в 1801 год. Гаусс придумал, как восстановить орбиту по трём наблюдениям, вычислил, где искать Цереру, и отправил результат астроному Францу Ксаверу фон Цаху. 31 декабря 1801 года фон Цах, а следующей ночью и Генрих Ольберс нашли её меньше чем в полуградусе от места, указанного Гауссом. Двадцатичетырёхлетний математик в одночасье стал знаменитым астрономом. Через несколько лет он возглавил обсерваторию в Гёттингене.
Свой способ он изложил в 1809 году в книге «Теория движения небесных тел, обращающихся вокруг Солнца по коническим сечениям». Там же — метод наименьших квадратов: как согласовать десятки наблюдений, каждое со своей погрешностью. О нём и о споре Гаусса с Лежандром за первенство расскажет глава 39. Метод наименьших квадратов приводит к системам линейных уравнений, и Гаусс объяснил, как решать их последовательным исключением. В 1810 году, рассчитывая орбиту Паллады — второго астероида, открытого Ольберсом весной 1802-го, — он придумал для исключения компактную запись. Профессиональные вычислители пользовались ею весь XIX век.
Сам способ старше Гаусса почти на два тысячелетия: исключение неизвестных описано в восьмой главе китайской «Математики в девяти книгах», и счётную доску со столбцами палочек мы видели в главе о системах. В Европе ему учили по «Всеобщей арифметике» Исаака Ньютона, изданной в 1707 году по его лекциям. К концу XVIII века исключение неизвестных стало обычным уроком алгебры. Имя Гаусса прикрепилось к школьному алгоритму лишь в 1950-х годах, в эпоху первых компьютеров, — во многом по путанице в его истории.
Сегодня Церера — карликовая планета, самое крупное тело пояса астероидов между Марсом и Юпитером. В 2015–2018 годах вокруг неё летал зонд Dawn и фотографировал её яркие пятна — отложения солей. Траекторию зонда уточняли по измерениям методом наименьших квадратов, прямым потомком расчётов Гаусса.
Куда дальше
В этой главе складывались очень разные вещи. Строки матрицы мы прибавляли одну к другой, как векторы. Решения однородной системы можно сложить или умножить на число — и снова получится решение. Параболы $y = a + bt + ct^2$ складываются коэффициентами: сумма парабол из наших двух примеров, $3 + 2t + t^2$ и $2 - t + t^2$, снова многочлен той же формы, и он проходит через точки, высоты которых равны суммам высот. Звуковые сигналы складываются, когда играют два инструмента, и умножаются на число, когда крутят ручку громкости. Стрелки, строки, многочлены, сигналы — почему все они ведут себя одинаково, и что можно понять сразу про все такие миры? Ответ — одно определение на восемь строк. С него начинается глава 37.