И отображение A корректно определено — а тогда у него есть инварианты: собственные значения.
Так вот, эти два ответа совпадают — двойные отношения точек пересечения как раз и есть собственные значения матрицы A.
Более того, в каком-то смысле мне такой подход кажется правильным объяснением того, почему двойное отношение четырёх точек инвариантно относительно проективных преобразований. Можно это, конечно, аккуратно проверять — а можно сказать, что если мы рассмотрим на плоскости четыре прямых через начало координат, и у нас есть только линейная структура, то третья и четвёртая прямые это графики отображения из первой во вторую. А тогда можно взять их композиционное частное — которое будет линейным преобразованием прямой. То есть умножением на константу. И эта константа — инвариант преобразований, которые линейную структуру сохраняют.
А с другой стороны, она и есть двойное отношение, что проверяется совсем мгновенно. Пусть у нас есть прямая, не проходящая через начало координат O, и она пересекает наши четыре прямые в точках A,B,C,D. Если отрезки OA и OB на первой и второй прямых взять за единичные, то прямая OC будет графиком функции умножения на (AC:CB). А прямая OD — умножения на (AD:DB). А их композиционное частное — на частное этих отношений. То есть на двойное отношение.
Кстати — бывают ведь ещё нетипичные случаи. Если матрица A оказывается скалярной, это означает, что каждый вектор для неё собственный. И это значит, что все четыре прямые лежат на одном гиперболоиде.
А если преобразование A это жорданова клетка — матрица вида (c, 1 \\ 0, c) — то собственный вектор у него только один. И это отвечает случаю, когда четвёртая прямая касается гиперболоида (но не лежит на нём).
И из этой конфигурации можно сделать такую забавную задачу: пусть в пространстве заданы четыре попарно скрещивающиеся прямые, и пусть одна из них касается гиперболоида, проходящего через три другие, но не лежит на нём. Докажите, что тогда _любая_ из этих прямых касается гиперболоида, проходящего через три другие.
Вот такой сюжет; ну и на этом я на сегодня хочу прекратить дозволенные речи.
Допустим, мы хотим диагонализовать матрицу A размера 2x2 — и ищем её собственные вектора.
Вот мы нашли собственные значения, λ_1 и λ_2...
... и собираемся решить две системы, чтобы найти собственные вектора. А надо ли это делать?
... и собираемся решить две системы, чтобы найти собственные вектора. А надо ли это делать?
Нет!
Ведь (A-λ_1*Id)(A-λ_2*Id)=0 (aka теорема Гамильтона-Кэли).
Ведь (A-λ_1*Id)(A-λ_2*Id)=0 (aka теорема Гамильтона-Кэли).
Значит, собственный вектор с собственным значением λ_1 можно прочитать в (любом) столбце матрицы A-λ_2*Id. И наоборот, собственный вектор с собственным значением λ_2 — в любом столбце матрицы A-λ_1*Id.
С матрицами 3x3 такое тоже можно применять, но тут уже вопрос, что кому проще: перемножить две матрицы (A-λ_1*Id)(A-λ_2*Id), чтобы в столбце прочитать собственный вектор, или решить систему (A-λ_3*Id) v =0.
(Помнится, этому трюку нас в своё время научил И. А. Дынников. Давно это было!)
(Помнится, этому трюку нас в своё время научил И. А. Дынников. Давно это было!)
Второй трюк — а что, если мы хотим посчитать какую-то функцию от матрицы (скажем, сотую степень, или экспоненту) в исходном базисе. И матрица опять маленькая, 2x2 или 3x3.
Можно, конечно, найдя собственные значения, найти потом собственные вектора, вычислить функцию в собственном базисе (допустим, все собственные значения некратные — так что матрица диагонализуется — и тогда просто поэлементно применить к собственным значениям на диагонали), потом вернуться в исходный (включая обращение матрицы перехода и умножение матриц)...
Но можно — проще!
Пусть мы хотим найти F(A), где F — многочлен.
Пусть мы хотим найти F(A), где F — многочлен.
Поделим F(x) с остатком на характеристический многочлен P(x)=П_j (x-λ_j) матрицы A:
F(x)=P(x)Q(x)+R(x).
Но P(A)=0 (опять теорема Гамильтона-Кэли), значит, F(A)=R(A).
F(x)=P(x)Q(x)+R(x).
Но P(A)=0 (опять теорема Гамильтона-Кэли), значит, F(A)=R(A).
При этом остаток R(x) — штука "простая"; скажем, для матрицы размера 2x2 это просто линейный многочлен, R(x)=ax+b, и
F(A)=R(A)=a*A+b*Id.
F(A)=R(A)=a*A+b*Id.
Для матрицы 3x3 — многочлен второй степени, так что R(A) посчитать тоже не очень сложно, знать бы только R(x) как многочлен. Но вот как его найти?
А очень просто: если мы делим многочлен F с остатком на P, то значения остатка в корнях P совпадают со значениями F.