по плану семинара «Яндекс 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 и является единственным ненулевым элементом
своего столбца. УСВ матрицы определён однозначно, СВ — нет.
что для чего хватает
ранг, определитель, совместность — СВ
готовый ответ СЛУ, обратная матрица — УСВ
Стоимость. Прямой ход: для каждого из
\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
Множество решений совместной системы есть 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 при трёх неизвестных и совместна.
Сколько у неё решений?
Свободная переменная одна,
каждое её значение из \mathbb{Z}_5 даёт своё решение — ровно
5^1 = 5. Над конечным полем «бесконечно много» превращается в
p^{\,m-\mathrm{rk}}.
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
знак
умножение на k
k
\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, и вычёркивание
строки и столбца необходимо?
Сумма элементов каждой
строки L равна нулю, поэтому L\mathbf{1} = 0:
вектор из единиц лежит в ядре и \det L = 0 всегда. Ранг связного
графа равен n-1, и все главные миноры этого порядка равны между собой.
06 · теорема Кирхгофа
Почему это верно: L = B·Bᵀ
Ориентируем каждое ребро произвольно и построим матрицу инцидентности
B: +1 у начала, -1
у конца. Тогда BB^{T} = L, и минор раскрывается формулой Коши—Бине.
Лемма. Для набора 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}_2
O(\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 комбинациями.
Управление
→пробел
следующий слайд
←
предыдущий
HomeEnd
в начало / в конец
F
полный экран
T
таймер: пауза / пуск
R
сбросить таймер
?
эта справка
Все матрицы считаются в браузере точной арифметикой. Кнопки можно
жать при аудитории — ничего не сломается, все числа настоящие.