по плану семинара «Яндекс A'. Линейная алгебра» · 16.05.2025

Линейная
алгебра

Линейные пространства и базис, метод Гаусса над \mathbb{Q} и \mathbb{Z}_p, обратная матрица и определитель, xor-базис над \mathbb{Z}_2, матрица Татта, теорема Кирхгофа о числе остовных деревьев. Все матрицы на слайдах приводятся точной арифметикой в браузере; каждый результат сверяется с перебором.

? — помощь · → — дальше
01 · пространства и базис

Оболочка, независимость, базис

Опр. 1. \mathrm{span}(v_1,\dots,v_k) — множество всех линейных комбинаций. Набор независим, если нулевая комбинация только тривиальная; базис — независимый набор, оболочка которого есть всё пространство; его размер — размерность. Щёлкните стрелку — вектор входит в набор или выходит из него; щёлкните поле — переместится w.

оболочка: точка, прямая или вся плоскость
векторов2
dim span2
w ∈ spanда
Утверждение. Координаты вектора в базисе единственны. Если разложение неединственно, набор зависим: разность двух разложений — нетривиальная нулевая комбинация.
01 · пространства и базис

Многочлены — тоже векторы

Задачи 6—7. Многочлен степени \le 2 — это вектор коэффициентов в базисе (x^2, x, 1). Вопрос «выражается ли x^2+2x+3 через данный набор» — это вопрос о совместности СЛУ, столбцы которой суть данные многочлены.

та же СЛУ, решается методом Гаусса

набор

шаги

ранг0
способов
02 · метод Гаусса

Три элементарных преобразования

Опр. 2. Над строками разрешены три операции: перестановка двух строк, умножение строки на ненулевой скаляр, прибавление к строке другой строки с коэффициентом. Каждая из них есть умножение слева на элементарную матрицу E — единичную, к которой применили ту же операцию.

E · A — операция над строками A

операция

операция
Следствие. Все три матрицы обратимы, поэтому Ax = b и EAx = Eb равносильны: элементарные преобразования не меняют множество решений. На этом и стоит метод Гаусса.
02 · метод Гаусса

Алгоритм: ступенчатый и улучшенный вид

Опр. 3. Ступенчатый вид (СВ). Ведущий (первый ненулевой) элемент каждой строки стоит строго правее ведущего предыдущей строки; под ведущим — нули; нулевые строки внизу.
Опр. 4. Улучшенный ступенчатый вид (УСВ). Ступенчатый вид, в котором каждый ведущий равен 1 и является единственным ненулевым элементом своего столбца. УСВ матрицы определён однозначно, СВ — нет.
что для чего хватает
ранг, определитель, совместность — СВ
готовый ответ СЛУ, обратная матрица — УСВ
СВ: под ведущими нули ■ * * * | * 0 ■ * * | * 0 0 0 ■ | *
УСВ: ведущие = 1, столбцы чисты 1 0 * 0 | * 0 1 * 0 | * 0 0 0 1 | *
Стоимость. Прямой ход: для каждого из \min(n,m) ведущих обнуляется до n строк длины m, итого O(n^2m); для квадратной системы — O(n^3). Обратный ход той же оценки не превосходит.
\blacksquare — ведущий элемент, * — произвольное число. Третий столбец в примере не содержит ведущего: соответствующая переменная свободна.
// прямой ход: приведение к СВ r = 0 для c = 0 .. m-1: найти i ≥ r с A[i][c] ≠ 0 нет такого — столбец свободный, дальше поменять строки i и r для i = r+1 .. n-1: k = A[i][c] / A[r][c] строка i -= k · строка r r += 1 // обратный ход: из СВ в УСВ для каждого ведущего (r, c) снизу вверх: строка r /= A[r][c] для i = 0 .. r-1: строка i -= A[i][c] · строка r
Замечание. Выбор ведущего влияет только на устойчивость и на рост чисел. Над \mathbb{Z}_p годится любой ненулевой элемент; в вещественных вычислениях берут максимальный по модулю.
02 · метод Гаусса

Метод Гаусса по шагам

Задача 5. Элементарные преобразования строк не меняют множество решений. На каждом шаге видно, из какой строки, с каким коэффициентом и во что вычитают: дуга подписана коэффициентом, под каждым новым числом — его арифметика.

расширенная матрица · одно преобразование на шаг

система

до какого вида

шаги

ранг0
решение
02 · метод Гаусса

Сколько решений и почему

теорема Кронекера—Капелли
Ax = b совместна \iff \mathrm{rk}\,A = \mathrm{rk}\,(A\mid b)
число свободных переменных = m - \mathrm{rk}\,A
ступенчатый видрешений
строка 0\ \dots\ 0 \mid c\ne 0нет
ведущих во всех столбцахровно одно
есть свободные переменные\infty (над \mathbb{R}), p^{\,f} (над \mathbb{Z}_p)
Множество решений совместной системы есть x_0 + \ker A: частное решение плюс линейное подпространство размерности m - \mathrm{rk}\,A. Отсюда и ответы задач 6—7: ноль, один или континуум способов разложения.
стоимость
прямой ход: \sum_{i} (n-i)(m-i) = O(n^2 m)
для квадратной системы — O(n^3)
обратный ход (доведение до УСВ) той же оценки не превосходит
Замечание. Над \mathbb{Q} наивная реализация страдает от роста числителей и знаменателей; в олимпиадных задачах считают над \mathbb{Z}_p, где деление — умножение на обратный элемент, а размер числа фиксирован.
Вопрос. Система над \mathbb{Z}_5 имеет ранг 2 при трёх неизвестных и совместна. Сколько у неё решений?
02 · метод Гаусса

Та же система в другом поле

Задача 8. Метод Гаусса использует только четыре арифметических действия, поэтому работает над любым полем. Ниже — система из плана по модулю 5; переключение поля меняет ответ, но не алгоритм.

деление = умножение на обратный по модулю

поле

шаги

полеZ5
решение
03 · обратная и определитель

Обратная матрица: [A | E] → [E | A⁻¹]

Задачи 9—11. Приписываем к A единичную матрицу и приводим левую половину к E. Те же элементарные преобразования превращают E в A^{-1}: их произведение и есть обратная матрица. Стоимость — O(n^3).

слева A → E, справа E → A⁻¹

матрица

шаги

ранг0
существует
случай 2×2
\begin{pmatrix}a&b\\c&d\end{pmatrix}^{-1} = \frac{1}{ad-bc}\begin{pmatrix}d&-b\\-c&a\end{pmatrix}
03 · обратная и определитель

Определитель: определение

Опр. 5. \det A = \sum_{\sigma\in S_n}\mathrm{sgn}(\sigma) \prod_{i} a_{i\sigma(i)}: из каждой строки и каждого столбца берётся ровно один элемент, знак — чётность перестановки. Ниже все 3! = 6 слагаемых.

одно слагаемое — одна перестановка

слагаемые

сумма0
det0
Свойства. Определитель линеен по каждой строке, меняет знак при перестановке двух строк и равен нулю при двух одинаковых строках. Отсюда: прибавление кратного другой строки его не меняет — именно это делает метод Гаусса законным способом вычисления.
03 · обратная и определитель

Определитель элементарных матриц

Определитель мультипликативен: \det(EA) = \det E \cdot \det A. Поэтому достаточно знать определитель каждой из трёх элементарных матриц — и становится ясно, как каждая операция метода Гаусса меняет ответ.

det (E · A) считается заново при каждом изменении

операция

det E1
det A0
det E·A0
операцияdet Eэффект
перестановка-1знак
умножение на kk\times k
прибавление кратного1не меняется
03 · обратная и определитель

Определитель за O(n³)

Задачи 12—15. Приводим матрицу к ступенчатому виду, не нормируя строки: определитель равен произведению ведущих элементов, умноженному на (-1) в степени числа перестановок строк.

рядом — та же величина по определению, n! слагаемых

матрица

шаги

Гаусс0
по опр.0
04 · xor-базис

Пространство \mathbb{Z}_2^n

Задачи 16—17. Над \mathbb{Z}_2 сложение — это xor, а линейная комбинация — xor подмножества. Поэтому «сколько различных чисел получается как xor подмножеств» — вопрос о размере линейной оболочки. Щёлкните вершину куба, чтобы проверить принадлежность.

оболочка {110, 011, 101} на кубе из восьми векторов
dim2
|span|4
лежит
Ответ к задаче 17. Числа 3, 5, 6 — это 011, 101, 110; ранг равен 2, значит различных xor ровно 2^2 = 4.
04 · xor-базис

xor-базис: вставка числа

Базис хранится в массиве по ведущему разряду. Новое число гасит старшими базисными векторами свои занятые разряды; если что-то осталось — оно встаёт на свой свободный разряд, иначе число линейно зависимо. Одна вставка — O(\log C).

прямой ход Гаусса, записанный в битах

набор

шаги

ранг0
значений0
04 · xor-базис

Максимальный xor

Задачи 18—19. Идём от старшего разряда: базисный вектор берётся, если увеличивает ответ. Приведённый базис (обратный ход) делает проверку излишней и снижает стоимость запроса до O(\log n).

жадный проход по разрядам

вид базиса

шаги

ответ0
перебор0
04 · xor-базис

k-е число и счёт до x

Задача 20. В приведённом базисе значение строго возрастает по номеру: разряд номера отвечает за независимый ведущий бит. Отсюда — и k-е по возрастанию, и количество представимых чисел \le x.

номер ↔ значение: соответствие монотонно

запросы

k-е0
≤ x0
Замечание. Тот же приём даёт и обратную задачу — номер данного значения: по битам разложения восстанавливается k.
05 · матрица Татта

Критерий совершенного паросочетания

Задача 21. Теорема (Татт). Пусть T_{ij} = x_{ij}, T_{ji} = -x_{ij} для каждого ребра и 0 иначе. В графе есть совершенное паросочетание тогда и только тогда, когда \det T \not\equiv 0 как многочлен.

случайные значения по модулю простого

граф

det T0
перебор
06 · теорема Кирхгофа

Число остовных деревьев

Задача 22. Теорема (Кирхгоф). Пусть L = D - A — матрица Кирхгофа. Тогда для любой вершины i число остовных деревьев равно \det L_{\hat i\hat i} — минору порядка n-1. Щёлкните ребро — оно появится или исчезнет; щёлкните вершину — вычеркнется другая строка.

минор считается заново на каждый клик
рёбер6
вычеркнута4
det минора0
перебор0
Вопрос. Почему сам \det L = 0, и вычёркивание строки и столбца необходимо?
06 · теорема Кирхгофа

Почему это верно: L = B·Bᵀ

Ориентируем каждое ребро произвольно и построим матрицу инцидентности B: +1 у начала, -1 у конца. Тогда BB^{T} = L, и минор раскрывается формулой Коши—Бине.

по одному набору из n−1 рёбер за шаг
Коши—Бине
\det(B'B'^{T}) = \sum_{|S| = n-1} \det(B'_S)^2

наборы рёбер

сумма0
остовов0
Лемма. Для набора S из n-1 рёбер \det(B'_S) = \pm 1, если S — остов, и 0 иначе: цикл даёт линейную зависимость столбцов, а дерево разбирается по листьям индукцией.
итог

Одна процедура — семь задач

задачасводится кстоимость
разложение по базису, рангГаусс до СВO(n^3)
СЛУ: ответ целикомГаусс до УСВO(n^3)
обратная матрицаГаусс на [A\mid E]O(n^3)
определительступенчатый видO(n^3)
xor-подмножествабазис над \mathbb{Z}_2O(\log C)
совершенное паросочетаниеdet матрицы ТаттаO(n^3) вероятн.
остовные деревьяминор лапласианаO(n^3)
Все три элементарных преобразования обратимы, поэтому не меняют ни множество решений, ни ранг, а определитель меняют предсказуемо (-1, k, 1). Метод Гаусса требует только четырёх арифметических действий, поэтому одинаково работает над \mathbb{Q}, \mathbb{Z}_p и \mathbb{Z}_2. Смена поля меняет ответ и представление данных (дробь, вычет, машинное слово), но не алгоритм.
Определитель связывает алгебру с перечислением: n! слагаемых по определению сокращаются до O(n^3), и в этих слагаемых удаётся закодировать паросочетания (матрица Татта) и остовные деревья (теорема Кирхгофа).
Все числа на слайдах получены прямым вычислением в браузере и сверены с перебором: определитель — с суммой по перестановкам, число остовов — с перечислением подмножеств рёбер и с формулой Коши—Бине, xor-базис — со всеми 2^k комбинациями.

Управление

пробелследующий слайд
предыдущий
Home Endв начало / в конец
Fполный экран
Tтаймер: пауза / пуск
Rсбросить таймер
?эта справка

Все матрицы считаются в браузере точной арифметикой. Кнопки можно жать при аудитории — ничего не сломается, все числа настоящие.