Очередной семинар -
==Аппроксимация матрицы суммой одноранговых матриц==
~~TOC~~
===Постановка задачи==
Скалярное произведение в вещественном пространстве $ (m \times n) $-матриц будем считать заданным равенством
$$
\langle A, B \rangle := \sum_{j,k} a_{jk} b_{jk} \ \mbox{при} \ \{A,B\} \subset \mathbb R^{m\times n}.
$$
как если бы эти матрицы были предварительно ((:algebra2#vektorizacija векторизованы)), и затем перемножены скалярно как векторы. Эквивалентное определение --- через ((:algebra2#sled след)) матрицы:
$$
\langle A, B \rangle = \operatorname{Sp} (A \cdot B^{\top}) = \operatorname{Sp} (A^{\top} \cdot B) \, .
$$
Как следствие такого способа определения евклидова пространства, вводится понятие
евклидовой нормы (или нормы Фробениуса)
$$ \| B \|:=\sqrt{\sum_{j,k} b_{jk}^2} = \sqrt{\operatorname{Sp}(B^{\top} B)} = \sqrt{\operatorname{Sp}(B\cdot B^{\top})} \, . $$
Естественно, что расстояние между матрицами $ A $ и $ B $ это обобщение расстояния между точками в стандартном его определении:
$$
\|A-B \|:= \sqrt{\sum_{j,k} (a_{jk}-b_{jk})^2} = \sqrt{\operatorname{Sp}((A-B)^{\top}(A- B))} \, .
$$
**Задача.** Для заданной матрицы $ A \in \mathbb R^{m\times n} $ и натурального числа
$ \mathfrak r < \operatorname{rank} (A) $ построить матрицу $ \widetilde A \in \mathbb R^{m\times n} $ ранга $ \mathfrak r $
наилучшим образом приближающую матрицу $ A $ в ((:norm_space#норма_матрицы евклидовой норме (норме Фробениуса))):
$$
\min_{\widetilde A\in \mathbb R^{m\times n}, \operatorname{rank} (\widetilde A)= \mathfrak r} || A- \widetilde A|| \, .
$$
Иными словами, среди всех матриц ранга $ \mathfrak r $ найти матрицу, ближайшую к матрице $ A $ (иными словами: найти ортогональную проекцию матрицы $ A $ на множество всех матриц ранга $ \mathfrak r $).
В чем важность этой задачи? --- Дело в том, что если произвольная матрица $ A \in \mathbb R^{m\times n} $ задается $ m\cdot n $ элементами, то ((:algebra2/rank#matricy_ranga_1 одноранговая матрица)) того же порядка задается $ (m+n-1) $ элементами, двухранговая --- $ (m+n-1)+ (m+n-3) $ элементами, и т.д. Чем меньше $ \mathfrak r $ --- тем меньше требуется ресурсов для хранения.
В чем сложности? ---
1. При фиксированном $ \mathfrak r $ найти матрицу $ \widetilde A $.
2. Определить оптимальную величину $ \mathfrak r $, т.е., с одной стороны, чтобы эта величина была поменьше, но, с другой стороны, чтобы соответствующая матрица $ \widetilde A $ давала хорошее приближение матрицы $ A $. Например, чтобы по построенным приближениям $ \widetilde A $ и $ \widetilde B $ матриц $ A $ и $ B $ можно было бы с большой вероятностью правильно идентифицировать эти матрицы.
===Рабочий аппарат==
Представление матрицы $ A $ в виде суммы линейно независимых одноранговых матриц. Такое представление всегда существует в количестве слагаемых равном $ \operatorname{rank} (A) $. К примеру, см. ((:algebra2/rank#matricy_ranga_1 ЗДЕСЬ)). И подобных представлений можно привести бесконечно много. Наша цель: найти такое представление, где слагаемые будут ранжированы по "объему вклада" в матрицу $ A $: первая матрица ранга $1$ должна быть максимально близка к матрице $ A $,
вторая матрица --- максимально близка к разности $ A $ и первой матрицы и т.д.
Требуемое представление получается посредством **сингулярного разложения матрицы** $ A $. Формальный подход к изложению теории
см.
☞
((:algebra2/svd ЗДЕСЬ)). Это разложение используется не только для решения поставленной в настоящем разделе задачи.
Если бегло посмотреть на ((:algebra2/svd#singuljarnoe_razlozhenie основной результат)) теории, то увидеть представление
матрицы $ A $ в виде //суммы// каких-то матриц затруднительно: там стоит чистое //произведение//, т.е. разложение матрицы $ A $ на три сомножителя, из которых один (средний) --- простой структуры (диагональная матрица). На самом деле, можно показать
(см.
☟
((#singuljarnoe_razlozhenie_v_vide_proizvedenija_matric НИЖЕ)) )эквивалентность этого произведения именно сумме одноранговых матриц.
Обратим внимание на похожесть упоминаемого результата на уже пройденный в курсе алгебры результат о представлении квадратной матрицы $ A $ также в виде произведения трех матриц
$$ A=C^{-1} A_{diag} C \, , $$
где матрица $ A_{diag} $ --- диагональная, с собственными числами матрицы $ A $ на главной диагонали. Не акцентируем пока внимания на то, что такое представление не для всех матриц возможно; считаем, что случайным образом выбранная матрица $ A $ ((:mapping/operator#diagonalizuemost_matricy_operatora диагонализуема)). Нас, в первую очередь, интересует другое: является ли этот результат частью общего результата о сингулярном разложении?
Для некоторого класса матриц ответ оказывается положительным. Вот именно на основе этих матриц мы и сделаем сначала "заготовку" для общей теории.
===Квадратные матрицы==
Как произведении $ A=C^{-1} A_{diag} C $ "перегнать" в сумму одноранговых матриц?
!!Т!! **Теорема 1.** //Если все собственные числа// $ \lambda_{1},\dots,\lambda_n $
//матрицы// $ A \in \mathbb C^{n\times n} $ //различны, то для произвольного полинома// $ g_{}(x) $ //справедлива формула//
$$
g(A)= \sum_{k=1}^n \frac{g(\lambda_k)}{f_k(\lambda_k)}f_k(A)
= \sum_{k=1}^n \frac{g(\lambda_k)}{f'(\lambda_k)}f_k(A)
$$
//где// $ f_k(x) $ //означает частное от деления характеристического полинома//
$ f_{}(x):=\det (A-xE_{n\times n}) $ //на// $ x- \lambda_k $.
Поскольку этот результат справедлив для произвольного полинома $ g(x) $, то он выполняется и для частного случая
$ g(x) \equiv x $:
$$
A = \sum_{k=1}^n \lambda_k \frac{f_k(A)}{f_k(\lambda_k)} = \sum_{k=1}^n \lambda_k \frac{f_k(A)}{f^{\prime}(\lambda_k)} \, .
$$
То есть мы получили представление матрицы $ A $ в виде линейной комбинации матриц
$$
\left\{ M_k(A):=\frac{f_k(A)}{f_k(\lambda_k)} \right\}_{k=1}^n \, .
$$
Теперь исследуем свойства этих матриц --- они называются **ковариантами Фробениуса матрицы** $ A $.
!!Т!! **Теорема 2.** //Если алгебраическая кратность собственного числа// $ \lambda_k $ //равна// $ 1 $, //то//
$$ \operatorname{rank} (M_k(A)) = 1 \, . $$
Любая одноранговая $m\times n $-матрица ((:algebra2/rank#matricy_ranga_1 представима в виде произведения)) столбца $ U \in \mathbb C^{m\times 1} $ на строчку $ V\in \mathbb C^{1\times n} $:
$$ \left(\begin{array}{c}
u_1\\
u_2\\
\vdots \\
u_m
\end{array}
\right) (v_1,\dots,v_n)=\left[u_jv_k\right]_{j=1,\dots,m;k=1,\dots,n} $$
при хотя бы одной паре индексов $ j_{} $ и $ k_{} $ таких, что $ u_j\ne 0, v_k \ne 0 $. Для матрицы $ f_k(A) $ такое представление обеспечивается собственными векторами матрицы $ A $.
!!Т!!** Теорема 3.** //Матрица// $ M_k(A) $ //представима в виде произведения//
$$ M_k(A) = X_k \cdot Y_k \, , $$
где столбец $ X_k $ ---// ((:algebra2/charpoly#sobstvennyj_vektor правый собственный вектор)), а строка $ Y_k $ --- ((:algebra2/charpoly#sobstvennyj_vektor левый собственный вектор)) матрицы// $A $,
//принадлежащие// $ \lambda_k $.
**Доказательство** следует из теоремы Гамильтона-Кэли:
$$ f(A)=\mathbb O_{n\times n} \quad \Rightarrow \ (A-\lambda_k E) f_k(A)= \mathbb O_{n\times n} \, . $$
То есть любой ненулевой столбец матрицы $ f_k(A) $ должен быть правым собственным вектором матрицы $ A $,
принадлежащим $ \lambda_k $. Аналогично --- для любой строки матрицы $ f_k(A) $.
!!Т!!** Теорема 4.** //Если// $ \lambda_{j} \ne \lambda_k $, то
$$ M_j(A)M_k(A) = M_k(A)M_j(A) = \mathbb O_{n\times n} \, . $$
**Доказательство.**
$$ M_j(A) = X_j Y_j \, , M_k(A) = X_k Y_k \, . $$
Результат теоремы следует из равенства $ Y_j X_k = 0 $. Оно справедливо поскольку из определений собственных векторов
$$ Y_jA=\lambda_j Y_j,\ AX_k=\lambda_k X_k \, , $$
вытекает
$$
Y_jAX_k = \left\{\begin{array}{ll} \lambda_j Y_jX_k ;\\
\lambda_k Y_jX_k \end{array} \right.
$$
При условии $ \lambda_{j} \ne \lambda_k $ должно выполняться заявленное равенство.
!!Т!! **Теорема 5.** //Матрицы// $ M_k(A) $ ((:mapping/operator#osnovnye_opredelenija идемпотентны)), т.е.
$$ [M_k(A)]^2=M_k(A) \, . $$
//Кроме того, система матриц// $ \{M_k(A)\}_{k=1}^n $ //линейно независима и//
$$
\sum_{k=1}^n M_k(A) =E_{n\times n} \, .
$$
Таким образом, представление
$$
A=\sum_{k=1}^n \lambda_k M_k(A)
$$
можно интерпретировать как разложение матрицы $ A $ по базису $ \{M_k(A)\}_{k=1}^n $, где собственные числа играют роль координат.
Причем, ввиду теоремы 4, можно предполагать ортогональность этого базиса... На самом деле, в смысле формального ((#postanovka_zadachi определения)) скалярного произведения
$$
\langle M_j(A), M_k(A) \rangle = \operatorname{Sp} (M_j(A) \cdot [M_k(A)]^{\top})
$$
здесь нет ортогональности. Имеется разве что //похожесть на ортогональность//.
Теперь проанализируем полученное разложение на предмет ответа на вопрос: какие именно слагаемые вносят в него наибольший вклад? Какие из них
наилучшим образом аппроксимируют матрицу $ A $?
!!П!! **Пример 1.**
$$
A=
\left[ \begin {array}{rrrr} -19873&40167&14897&28232
\\ -11466&23174&8594&16288\\ 14522
&-29351&-10886&-20632\\ -5349&10812&4011&7601
\end {array} \right]
$$
**Решение.** $ f(\lambda):=\det (A-\lambda E) = {\lambda}^{4}-16\,{\lambda}^{3}-27\,{\lambda}^{2}+178\,\lambda-136 $. Спектр матрицы:
$$
\lambda_1 =1,\ \lambda_2=2,\ \lambda_3=17,\ \lambda_4=-4 \, .
$$
Не вдаваясь пока в вычислительные детали, приведем выражения для матриц $ M_k(A) $
$$
M_1(A) \approx
\left[ \begin {array}{rrrr}
356.3&- 757.4&- 370.3& - 705.6\\
203.6&- 432.8&- 211.6&- 403.2\\
- 254.5& 541& 264.5& 504\\
95.4375&- 202.875&- 99.1875&- 189
\end {array} \right] ,
$$
$$
\ M_2(A) \approx
\left[ \begin {array}{rrrr}
- 751.66& 1469.16& 587.66& 1239.11\\
- 432.66& 845.66& 338.26& 713.24\\
539.0&- 1053.5&- 421.4&- 888.53\\
- 198.0& 387.0& 154.8& 326.4
\end {array} \right] , \ \dots
$$
Теперь оценим разности $ A-\lambda_k M_k $ для каждого $ k \in \{1,2,3,4\} $ вычислив ((:norm_space#norma_matricy евклидовы нормы)) (нормы Фробениуса):
$$
\| A-\lambda_1 M_1 \| \approx 75041.7, \ \| A-\lambda_2 M_2 \| \approx 82542.5,\ \| A-\lambda_3 M_3 \| \approx 6632.4,\
\| A-\lambda_4 M_4 \| \approx 65668.2
$$
Видим, что наилучшее приближение дает слагаемое, соответствующее максимальному собственному числу. А следующим за ним, в плане качества приближения, оказывается слагаемое, соответствующее собственному числу, абсолютная величина (модуль) которого является максимальной из модулей оставшихся собственных чисел. Возникает гипотеза, что за качество приближения отвечают именно модули собственных чисел. Эта гипотеза тут же опровергается следующим по убыванию модуля собственным числом, но... Делаем скидку на то, что $ \lambda_1 $ и $ \lambda_2 $ близки.
А если взять пару наилучших слагаемых, то ошибка аппроксимации уменьшается еще значительнeй
$$
\| A-\lambda_3 M_3 -\lambda_4 M_4 \| \approx 4348.4 \, .
$$
♦
А сколько таких слагаемых можно оставить в сумме $ \sum_{k=1}^n \lambda_k M_k(A) $ чтобы матрица $ A $ стала распознаваемой?
Именно эту задачу мы будем решать в дальнейшем. Поиск решения будет производиться по уже намеченному выше пути. Но придется
принять во внимание несколько нетривиальных аспектов.
1. Как правило, возникающие в приложениях матрицы вещественны. И аппроксимировать их требуется также вещественными матрицами.
А собственные числа вещественных квадратных матриц не обязательно вещественны (как случилось в предыдущем примере).
2. Собственные числа квадратных матриц не обязательно различны. А все предшествующие рассуждения были справедливы именно в предположении простоты всех собственных чисел.
3. Возникающие в приложениях матрицы не обязательно квадратные. А для неквадратных матриц отсутствует понятие собственного числа.
4. Задача для таких матриц ставится в постановке: аппроксимировать их наилучшим образом матрицами меньшего ранга.
Можно ли как-то предсказать ошибку этого наилучшего приближения (без явного построения самого этого приближения)?
===Симметричные матрицы==
$$ A= A^{\top} $$
Среди общего случая квадратных матриц, симметричные матрицы выделяются рядом хороших свойств для собственных чисел и собственных векторов.
1.
Все собственные числа $ \lambda_1,\dots, \lambda_n $ вещественны (
☞
((:algebra2/charpoly/symm доказательство))).
2.
Если $ X_k $ --- правый собственный вектор матрицы, принадлежащий собственному числу $ \lambda_k $, то $ X_k^{\top} $ --- левый собственный вектор, принадлежащий тому же собственному числу:
$$ A X_k = \lambda_k X_k \quad \Rightarrow \quad (A X_k)^{\top} = (\lambda_k X_k)^{\top} \quad \Leftrightarrow \quad X_k^{\top} A^{\top} = \lambda_k X_k^{\top} \quad \Leftrightarrow \quad X_k^{\top} A = \lambda_k X_k^{\top} \, .
$$
3.
Если $ \lambda_j \ne \lambda_k $, то $ X_j^{\top} X_k = 0 $; говорят, что эти собственные векторы **ортогональны** (
☞
((algebra2/symmetric#xarakteristicheskij_polinom_sobstvennye_chisla_sobstvennye_vektory доказательство))).
4.
Симметричная матрица всегда диагонализуема, т.е. ее ЖНФ диагональна даже в случае наличия кратных собственных чисел (
☞
((algebra2/symmetric/vspom1 доказательство))). Более того, матрица, приводящая к диагональному виду может быть выбрана во множестве ортогональных матриц:
$$ \exists P \in \mathbb R^{n\times n} \quad \mbox{такая, что} \ P^{\top}P=E,\ P^{\top}A P=
\left( \begin{array}{cccc}
\lambda_1 & & & \mathbb O \\
& \lambda_2 & & \\
&& \ddots & \\
\mathbb O&& & \lambda_n
\end{array}
\right) \, .
$$
!!Т!! **Теорема 6.** //Симметричную матрицу// $ A \ne \mathbb O_{n\times n} $ //всегда можно представить в виде линейной комбинации//:
$$
A=\sum_{k=1}^{\operatorname{rank}(A)} \lambda_k M_k(A)
$$
//одноранговых симметричных матриц//
$$
\{M_k(A):=X_k \cdot X_k^{\top}\}_{k=1}^{\operatorname{rank}(A)}
$$
//Здесь// $ X_k $ --- //нормированный собственный вектор//:
$$ AX_k=\lambda_k X_k,\ X_k^{\top}X_k=1 \, . $$
// Матрицы// $ \{M_k(A)\}_{k=1}^{\operatorname{rank}(A)} $ //удовлетворяют условиям//
$$ \left[ M_k(A) \right]^2= M_k(A),\ \operatorname{Sp} ( M_k(A) ) =1, \ \operatorname{Sp} ( M_j(A) M_k(A) ) = 0 \quad \mbox{при} \ \lambda_j \ne \lambda_k \, . $$
!!П!! **Пример 2.** Представить матрицу
$$
A= \left[ \begin {array}{rrr}
0&-1&2\\
-1&3&-1 \\
2&-1&0\end {array} \right]
$$
в виде комбинации матриц из теоремы.
**Решение.** Собственные числа и нормированные собственные векторы матрицы:
$$
\lambda_1=4, X_{1} = \left(
\begin{array}{r}
1/\sqrt{6} \\ -2/\sqrt{6} \\ 1/\sqrt{6}
\end{array}
\right) \ , \ \lambda_2=-2, X_{2} = \left(
\begin{array}{r}
-1/\sqrt{2} \\ 0 \\ 1/\sqrt{2}
\end{array}
\right) \ , \ \lambda_3=1, X_{3}=
\left(
\begin{array}{r}
1/\sqrt{3} \\ 1/\sqrt{3} \\ 1/\sqrt{3}
\end{array}
\right) \, .
$$
Следовательно
$$
A= \lambda_1 X_{1} X_{1}^{\top}+ \lambda_2 X_{2} X_{2}^{\top}+ \lambda_3 X_{3} X_{3}^{\top}=
$$
$$
= 4 \, \left[ \begin {array}{rrr} 1/6&-1/3&1/6\\
-1/3&2/3& -1/3\\
1/6&-1/3&1/6
\end {array} \right] - 2\,
\left[ \begin {array}{rrr}
1/2&0&-1/2\\
0&0&0
\\
-1/2&0&1/2\end {array} \right]
+ 1\, \left[ \begin {array}{rrr}
1/3&1/3&1/3\\
1/3&1/3&1/3 \\
1/3&1/3&1/3
\end {array} \right] \, .
$$
♦
Условия на матрицы $ \{M_k(A)\}_{k=1}^n $ из теоремы 6 означают, что эти матрицы образуют ортонормированный "базис".
Почему ортонормированный --- понятно. А вот почему слово базис приведено в кавычках?
Можно интерпретировать результат теоремы как разложение симметричной матрицы по ортогональному базису подпространства симметричных матриц? Формально это неверно: количество одноранговых матриц в теореме меньше размерности подпространства симметричных матриц ($=n(n-1)/2$). Тем не менее, для конкретной матрицы $ A $ система матриц $ \{M_k(A)\}_{k=1}^n $ может считаться базисной, а собственные числа $\{\lambda_k\}_{k=1}^n $ --- координатами матрицы в этом ортонормированном базисе.
И в этом базисе мы будем искать решение для следующей задачи.
**Задача.** Для натурального числа $ \mathfrak r
♦