Академический Документы
Профессиональный Документы
Культура Документы
Задача Среди векторов v1 , . . . , vm найти базис пространства V и разложить оставшиеся вектора по этому
базису.
Алгоритм
1. Запишем вектора v1 , . . . , vm по столбцам в матрицу A ∈ Mn m (F ). Например, при n = 3, m = 5
v11 v21 v31 v41 v51
A = v12 v22 v32 v42 v52
v13 v23 v33 v43 v53
3. Пусть k1 , . . . , kr – номера главных позиций в матрице A0 . Тогда вектора vk1 , . . . , vkr образуют базис V .
Например, в примере выше это вектора v1 , v2 и v4 .
4. Пусть vi – вектор соответствует неглавной позиции в A0 . Тогда в i-ом столбце A0 записаны координаты
разложения vi через найденный базис выше. Например, в примере выше v3 = a31 v1 + a32 v2 и v5 =
a51 v1 + a52 v2 + a53 v4 .
Пример Пусть
1 1 5 1 −1
v1 = 3 , v2 = 2 , v3 = 12 , v4 = 1 , v5 = 1 ∈ F 3
2 1 7 1 0
Тогда
1 1 5 1 −1 1 1 5 1−1 1 1 5 1 −1
3 2 12 1 1 7→ 0 0 0 −1 2 7→ 0 0 0 −1 2 →7
2 1 7 1 0 2 1 7 1 0 1 0 2 0 1
1 0 2 0 1 1 0 2 0 1 1 0 2 0 1
7→ 1 1 5 1 −1 7 → 0 1 3 1 −2 7→ 0 1 3 0 0
0 0 0 1 −2 0 0 0 1 −2 0 0 0 1 −2
Алгоритм
1. Уложить все вектора vi в строки матрицы A ∈ Mm n (F ).
1
3 Дополнение линейно независимой системы до базиса всего пространства стан-
дартными векторами
Дано Пусть v1 , . . . , vm ∈ F n – линейно независимая система векторов, V = hv1 , . . . , vm i – их линейная
оболочка и ei – стандартные базисные векторы, т.е. на i-ом месте стоит 1, а в остальных 0.
Задача Найти такие вектора ek1 , . . . , ekn−m , что система v1 , . . . , vm , ek1 , . . . , ekn−m является базисом F n .
Алгоритм
Алгоритм
1. Привести матрицу A элементарными преобразованиями строк к улучшенному ступенчатому виду. На-
пример
1 0 a31 0 a51
A0 = 0 1 a32 0 a52
0 0 0 1 a53
2. Пусть k1 , . . . , kr – позиции свободных переменных. Если положить одну из этих переменных равной 1,
а все остальные нулями, то существует единственное решение, которое мы обозначим через ui (всего
r штук). Например, для матрицы A0 выше свободные переменные имеют номера 3 и 5. Тогда вектора
(записанные в строку)
u1 = −a31 −a32 1 0 0 , u2 = −a51 −a52 0 −a53 1
являются ФСР.
Алгоритм
1. Найти ФСР системы Ay = 0. Векторы ФСР будут базисом V .
2
Алгоритм
1. Уложить вектора vi в строки матрицы B ∈ Mk n (F ).
2. Найти ФСР системы Bz = 0.
3. Уложить ФСР в строки матрицы A ∈ Mm n (F ), где m – количество векторов в ФСР. Матрица A и будет
искомой.
Алгоритм
1. Если v = ex, где x ∈ F n , а также v = f y, где y ∈ F n , то y = A−1 x.
Алгоритм
1. A0 = D−1 AC.
Алгоритм
1. Среди векторов v1 , . . . , vk выделить линейно независимые, а остальные разложить по ним.
3
Алгоритм
1. Выделить базис среди столбцов матрицы A. В результате получится базис Im φ.
2. Найти ФСР системы Ax = 0. Полученная ФСР будет базисом ker φ.
Алгоритм
1. Задать подпространство W с помощью базиса. Пусть b1 , . . . , bk – базис W . Определим матрицу B =
(b1 | . . . |bk ).
2. Задать подпространство U системой с линейно независимыми строками U = {y ∈ F n | Ay = 0}.
3. В силу условия dim U +dim W = n матрица A будет иметь столько же строк, сколько столбцов в матрице
B. В этом случае искомое линейное отображение задается матрицей BA.
Алгоритм
1. Надо найти базис линейной оболочки hv1 , . . . , vm , u1 , . . . , uk i.
Алгоритм
1. Найти ФСР системы Dx = 0, где D = (v1 | . . . |vm |u1 | . . . |uk ) и x = α
β , где α ∈ F m , β ∈ F k .
2. Пусть α1
β1 ... αs
βs – ФСР. Далее есть две опции (из них вторая опция предпочтительнее!):
• Множество векторов R = (v1 | . . . |vm )(α1 | . . . |αs ) порождает V ∩ U . Среди (α1 | . . . |αs ) можно выки-
нуть те αi , для которых βi = 0.3
• Множество векторов R0 = (u1 | . . . |uk )(β1 | . . . |βs ) порождает V ∩ U . Причем можно рассматривать
только ненулевые βi .
3. Выделить базис среди столбцов R. Это и будет базис V ∩ U .
• Если векторы u1 , . . . , uk были линейно независимы изначально и βi , . . . , βs – все ненулевые сегменты
ФСР с прошлого шага, то (u1 | . . . |uk )(βi | . . . |βs ) будет базисом V ∩ U .
2 В это задаче можно задать подпространства системами, потом найти пересечение в виде системы, потом задать результат
4
14 Найти пересечение подпространств заданных матричным уравнением
Дано Подпространства V, U ⊆ F n заданные в виде V = {y ∈ F n | Ay = 0}, U = {y ∈ F n | By = 0}, где
A ∈ Mm n (F ) и B ∈ Mk n (F ).
Алгоритм
1. Рассмотреть матрицу D0 = A
.
B
Алгоритм
1. Найти ФСР системы Dx = 0, где D = (At |B t ) и x = α
β , где α ∈ F m и β ∈ F k .
2. Пусть α1
β1 ... αs
βs – ФСР. Далее есть две опции:
Алгоритм
1. Определим матрицу B = (v1 | . . . |vm ) и найдем ФСР для системы ABx = 0. Пусть это будет x1 , . . . , xt .
5
Задача Задать V ∩ U системой линейных уравнений.
Алгоритм
1. Задать подпространство V системой в виде {x ∈ F n | Dx = 0}.
Алгоритм
1. Определим матрицу B = (v1 | . . . |vm ) и найдем ФСР для системы B t At x = 0. Пусть это будет x1 , . . . , xt .
2. Тогда матрица D0 = (x1 | . . . |xt )t A задает V + U системой.
Алгоритм
1. Задать подпространство U с помощью линейной оболочки.
2. Объединить линейные оболочки для V и для U .
Алгоритм
1. Пусть φf = f B, где B – искомая матрица. Тогда B = C −1 AC.
Задача Найти v и u.
5 Всегда можно задать U линейной оболочкой, потом задать V +U линейной оболочкой, а потом найти представление системой.
6
Алгоритм
1. Решить СЛУ Dx = z, где D = (v1 | . . . |vm |u1 | . . . |uk ) и x = β , где α ∈ F
α m
и β ∈ F k.
Задача Найти матрицу отображения φ : V → V такого, что φ(U ) = 0 и φ(v) = v для любого v ∈ V .6
Алгоритм
1. Положим B = (v1 | . . . |vm ) ∈ Mn m (F ).
2. Обязательно получится, что m = k и матрица AB невырождена.
Задача Найти все собственные значения λi для A и для каждого λi найти базис пространства Vλi = {v ∈
F n | Av = λi v}.
Алгоритм
1. Посчитать характеристический многочлен (−1)n χA (λ) = det(A − λE).
2. Найти корни многочлена χA (λ). Корни {λ1 , . . . , λk } будут собственным значениями A.
3. Для каждого λi найти ФСР системы (A − λi E)x = 0. Тогда ФСР будет базисом Vλi .
Если дополнительно найти с каждым собственным значением λi его кратность ni в характеристическом
многочлене, то на последнем шаге размер ФСР для λi оценивается так. Собственных векторов будет не
меньше чем 1 и не больше, чем ni .
Задача Найти все собственные значения λi для A и для каждого λi найти базис пространства V λi = {v ∈
F n | ∃n : (A − λi E)n v = 0}.
Алгоритм
7
25 Поиск инвариантных подпространств
Дано Матрица A ∈ Mn (F ).
Алгоритм
1. Для каждого вектора v ∈ F n найти главное инвариантное подпространство
Обратите внимание, что это «творческий шаг» тут нет общего алгоритма,7 тут придется немного дога-
даться.
2. Описать все инвариантные подпространства, как конечные суммы главных, а именно любое инвари-
антное U будет иметь вид [v1 ]A + . . . + [vk ]A , где v1 , . . . , vk пробегает все возможные конечные наборы
векторов.
Алгоритм
1. В начале надо найти все собственные значения и собственные подпространства. Пусть λ1 , . . . , λk – все
собственные значения с кратностями n1 , . . . , nk . Тогда F n = Vλ1 ⊕ . . . ⊕ Vλk .
2. Надо выбрать произвольное подпространство Ui ⊆ Vλi (включая нулевое и все Vλi целиком). Тогда
U1 , . . . , Uk будут линейно независимыми и U = U1 ⊕ . . . ⊕ Uk будут все возможные инвариантные под-
пространства.
27 Проверка на диагонализуемость
Дано Матрица A ∈ Mn (F ), задающая линейный оператор ϕ : F n → F n .
Задача Выяснить существует ли базис, в котором ϕ задается диагональной матрицей и если задается, то
какой именно. На матричном языке: существует ли невырожденная матрица C ∈ Mn (F ) такая, что C −1 AC
является диагональной и найти эту диагональную матрицу.
Алгоритм
1. Найдем характеристический многочлен χ(t) для ϕ, он же для A по формуле (−1)n χ(t) = det(A − tE).
2. Проверим, раскладывается ли χ(t) на линейные множители над F , то есть представляется ли он в виде
χ(t) = (t−λ1 )d1 . . . (t−λk )dk . Если не представляется, то ϕ (или что то же самое A) не диагонализируется
3. Если χ(t) = (t − λ1 )d1 . . . (t − λk )dk . Найдем для каждого λi базис Vλi как ФСР системы (A − λi E)x = 0.
Если для хотя бы одного i количество элементов в ФСР меньше соответствующей кратности корня di ,
то ϕ не диагонализируется.
4. Если для каждого i мы получили, что размер ФСР совпадает с кратностью корня, то есть dim Vλi = di .
То ϕ диагонализируется. В этом случае матрица C состоит из собственных векторов. Если собственные
векторы для λi есть {vi1 , . . . , vidi }, то C = (v11 | . . . |v1d1 |v21 | . . . |v2d2 | . . . |vk1 | . . . |vkdk ). При этом в новом
базисе будет диагональная матрица C −1 AC = Diag(λ1 , . . . , λ1 , λ2 , . . . , λ2 , . . . , λk , . . . , λk ), где каждое λi
встречается di раз.
7 Если говорить правду, то алгоритм то есть, но он такой геморройный и требует знаний, которых пока у нас нет, так что да
ну его.
8
Заметим, что если поле F алгебраически замкнуто, то первый шаг алгоритма выполнен автоматически, а
именно, над алгебраически замкнутым полем любой многочлен разлагается на линейные множители. Потому
в этом случае вопрос о диагонализируемости – это лишь проверка всех равенств dim Vλi = di .
Задача Определить все собственные значения и размеры клеток в жордановой нормальной форме.
Алгоритм
1. Собственные значения совпадают со спектром их ищем, как корни характеристического многочлена
χA (t) = (−1)n det(A − tE) = 0. Получаем набор корней и их кратности (λ1 , n1 ), . . . , (λk , nk ).
2. Для каждого λi суммарный размер клеток равен ni . Потому надо определить количество клеток для
всех k ∈ [1, ni ]. Количество клеток считается по формуле
Обратите внимание, что если вы нашли m клеток размера k, а кратность была ni , то на оставшиеся клетки
уходит ni − mk мест. Этим можно пользоваться, чтобы не считать все количества клеток подряд.
Алгоритм Общая идея в том, чтобы подобрать инварианты, которые достаточно рассчитать для выбора
из предоставленных вариантов.
1. Найдем характеристический многочлен χA (t) = det(A − tE). И посчитаем его корни. Есть два варианта:
(a) два разных корня λ и µ. В этом случае ЖНФ имеет вид
λ
µ
(b) один корень λ кратности 2. В этом случае, если A = λE, то ЖНФ имеет вид
λ
λ
9
Алгоритм
1. Пусть ЖНФ имеет вид
λ
µ
В этом случае оператор диагонализум, а значит базис выбирается из собственных векторов. Есть два
способа найти их:
(a) Вектор f1 находим как ненулевое решение системы (A−λE)x = 0, а вектор f2 находим как ненулевое
решение системы (A − µE)x = 0.
(b) Вектор f1 находим как ненулевой столбец матрицы A − µE, а вектор f2 находим как ненулевой
столбец матрицы A − λE.
2. Пусть ЖНФ имеет вид
λ
λ
В этом случае подходит любой базис.
3. Пусть ЖНФ имеет вид
λ 1
λ
В этом случае жорданов базис образует цепочку
f_2
A−λE
f_1
A−λE
0
Алгоритм Общая идея в том, чтобы подобрать инварианты, которые достаточно рассчитать для выбора
из предоставленных вариантов.
1. Найдем характеристический многочлен χA (t) = − det(A − tE) и посчитаем его корни. Возможны следу-
ющие варианты:
10
2. Три разных корня. В этом случае ЖНФ имеет вид
λ
µ
γ
3. Два разных корня, λ кратности 2 и µ кратности 1. В этом случае, если rk(A − λE) = 1, то ЖНФ имеет
вид
λ
λ
µ
В противном случае (то есть, если rk(A − λE) = 2) ЖНФ имеет вид
λ 1
λ
µ
Алгоритм
1. Пусть ЖНФ имеет вид
λ
µ
γ
В этом случае оператор диагонализуем, а значит базис выбирается из собственных векторов. Базис
можно найти следующим образом. Вектор f1 – ненулевое решение системы (A − λE)x = 0, вектор f2 –
ненулевое решение системы (A − µE)x = 0, вектор f3 – ненулевое решение системы (A − γE)x = 0.
2. Пусть ЖНФ имеет вид
λ
λ
µ
В этом случае оператор диагонализуем, а значит базис выбирается из собственных векторов. Базис
можно найти одним из двух способов ниже:
11
(a) Вектор f3 берется как решение системы (A − µE)x = 0, векторы f1 , f2 берутся как ФСР системы
(A − λE)x = 0.
(b) Вектор f3 берется как ненулевой столбец матрицы A − λE, векторы f1 , f2 берутся, как линейно
независимые столбцы матрицы A − µE.
3. Пусть ЖНФ имеет вид
λ
λ
λ
В этом случае в качестве жорданова базиса годится любой базис.
4. Пусть ЖНФ имеет вид
λ 1
λ
µ
В этом случае вектор f3 находится как решение системы (A − µE)x = 0. Векторы f1 , f2 можно найти
одним из следующих способов:
(a) Найдем ФСР системы (A − λE)2 x = 0, пусть это будет x1 , x2 . Тогда в качестве f2 берем один из
векторов xi , а f1 = (A − λE)f2 . В итоге выбираем такое xi в качестве f2 , чтобы f1 был не ноль.
(b) В качестве вектора f2 перебираем столбцы матрицы A − µE до тех пор, пока f1 = (A − λE)f2 не
станет ненулевым. Как только f1 будет не ноль, векторы f1 , f2 – искомые.
5. Пусть ЖНФ имеет вид
λ 1
λ
λ
В этом случае жорданов базис имеет конфигурацию
f_2
A−λE
f_1 f_3
A−λE A−λE
0 0
В этом случае базис ищем по следующему алгоритму
(a) Вектор f2 выбираем случайно из всего пространства F 3 . Всегда достаточно выбирать из стандарт-
ных базисных векторов.
(b) Вектор f1 = (A − λE)f2 . Если f1 = 0, то возвращаемся к шагу выбора вектора f2 .
(c) В случае когда f1 6= 0 это будет вектор из ker(A − λE), надо дополнить его до базиса ядра. Это
можно сделать так: находим ФСР для системы (A − λE)x = 0 и дополняем f1 любым вектором из
ФСР, который не пропорционален f1 , это и будет f3 .
6. Пусть ЖНФ имеет вид
λ 1
λ 1
λ
В этом случае жорданов базис имеет конфигурацию
f_3
A−λE
f_2
A−λE
f_1
A−λE
0
12
В этом случае базис ищется по следующему алгоритму
(a) Случайно выбираем f3 из F 3 . Всегда достаточно выбирать из стандартных базисных векторов.
(b) Положим f2 = (A − λE)f3 и f1 = (A − λE)f2 .
(c) Если вектор f1 равен нулю, то возвращаемся к шагу выбора f3 иначе получили нужный базис.
Алгоритм Общая идея в том, чтобы подобрать инварианты, которые достаточно рассчитать для выбора
из предоставленных вариантов.
1. Найдем характеристический многочлен χA (t) = det(A−tE). Нам нужно найти его единственный корень.
Так как многочлен имеет вид (t − λ)4 , то можно найти его 3-ю производную и решить χA (t)(3) = 0 для
нахождения корня. Это работает, если 2 6= 0 и 3 6= 0 в поле F .8, 9
2. Если A = λE, то ЖНФ имеет вид
λ
λ
λ
λ
3. Если rk(A − λE) = 1, то ЖНФ имеет вид
λ 1
λ
λ
λ
5. Если rk(A − λE) = 2, то надо посмотреть на (A − λE)2 . Если (A − λE)2 = 0, то ЖНФ имеет вид
λ 1
λ
λ 1
λ
иначе (если (A − λE)2 6= 0) ЖНФ имеет вид
λ 1
λ 1
λ
λ
8 Действительно,третья производная от (t − λ)4 будет 4!(t − λ). Если 2 и 3 обратимы в F , то можно сократить на 4!.
9 Можно воспользоваться любым другим приемлемым способом по поиску корня многочлена.
13
34 Определить Жорданов базис у матриц 4 на 4 с единственным собственным
значением
Дано Матрица A ∈ M4 (F ) с единственным собственным значением λ, где поле F алгебраически замкнутое.
Алгоритм
1. Пусть ЖНФ имеет вид
λ
λ
λ
λ
В этом случае любой базис годится в качестве жорданова.
2. Пусть ЖНФ имеет вид
λ 1
λ
λ
λ
В этом случае конфигурация жорданова базиса будет следующая
f_2
A−λE
f_1 f_3 f_4
A−λE A−λE A−λE
0 0 0
(a) Вектор f2 выбираем случайно из F 4 . Всегда достаточно выбирать из стандартных базисных век-
торов.
(b) Положим f1 = (A − λE)f2 . Если вектор f1 = 0, то вернемся к шагу выбора вектора f2 .
(c) Вектор f1 будет лежать в ker(A − λE) теперь его надо дополнить до базиса ядра двумя векторами.
Это можно сделать так: находим ФСР системы (A − λE)x = 0 и из трех векторов выберем два
f3 , f4 , которые будут линейно независимы с f1 .
3. Пусть ЖНФ имеет вид
λ 1
λ 1
λ
λ
В этом случае конфигурация жорданова базиса будет следующая
f_3
A−λE
f_2
A−λE
f_1 f_4
A−λE A−λE
0 0
14
(a) Вектор f3 выбираем случайно в F 4 . Всегда достаточно выбирать из стандартных базисных векто-
ров.
(b) Положим f2 = (A − λE)f3 и f1 = (A − λE)f2 . Если f1 = 0, то вернуться к шагу выбора вектора f3 .
(c) Вектор f1 лежит в ker(A − λE), его надо дополнить одним вектором f4 до базиса ядра. Это можно
сделать следующим образом. Найдем ФСР системы (A − λE)x = 0 и дополним вектор f1 одним
вектором из ФСР, чтобы полученная пара была линейно независима.
4. Пусть ЖНФ имеет вид
λ 1
λ 1
λ 1
λ
В этом случае конфигурация жорданова базиса будет следующая
f_4
A−λE
f_3
A−λE
f_2
A−λE
f_1
A−λE
0
f_2 f_4
A−λE A−λE
f_1 f_3
A−λE A−λE
0 0
15
35 Найти матрицу билинейной формы при замене базиса
Дано Векторные пространства V и U над полем F . Пусть e = (e1 , . . . , en ) и e0 = (e01 , . . . , e0n ) – базисы
пространства V , а f = (f1 , . . . , fm ) и f 0 = (f10 , . . . , fm
0
) – базисы пространства U . Кроме того, известны
матрицы перехода от e к e и от f к f , т.е. (e1 , . . . , en ) = (e1 , . . . , en )C и (f10 , . . . , fm
0 0 0 0 0
) = (f1 , . . . , fm )D, где
C ∈ Mn (F ) и D ∈ Mm (F ) две обратимые матрицы. Дана билинейная форма β : V × U → F заданная в
базисах e и f матрицей B ∈ Mn m (F ), т.е. bij = β(ei , fj ).
Алгоритм
1. Пусть в базисах e0 и f 0 мы имеем β(x, y) = xt B 0 y, где B 0 – искомая матрица. Тогда B 0 = C t BD.
Алгоритм
Задача Найти ⊥
V = {x ∈ F n | β(x, V ) = 0}.
Алгоритм
1. Составить вектора vi в столбцы матрицы D ∈ Mn k (F ).
38 Симметричный Гаусс
Дано Симметричная билинейная форма β : F n × F n → F по правилу (x, y) 7→ xt By, где B ∈ Mn (F ) –
симметричная матрица и при этом 2 6= 0 в поле F .
Задача Диагоналзовать β, то есть найти матрицу перехода к новому базису C такую, чтобы B 0 = C t BC
была диагональная, и посчитать саму матрицу B 0 .
Алгоритм
1. Чтобы найти матрицу B 0 будем приводить ее к диагональному виду симметричными элементарными
преобразованиями, то есть допускаются следующие преобразования:
• Прибавить i-ю строку умноженную на λ к j-ой строке и сразу же прибавление i-го столбца умно-
женного на λ к j-ому столбцу.
• Поменять местами i-ю и j-ю строку и тут же поменять местами i-ый и j-ый столбец.
• Умножить i-ю строку на ненулевое λ и тут же умножить i-ый столбец на то же самое λ.
16
Получившаяся диагональная матрица будет искомая B 0 .
2. Если при этом надо восстановить матрицу C, то рассматриваем (B|E) и делаем симметричные элемен-
тарные преобразования над ней в том смысле, что преобразования над строками выполняются над всей
матрицей, а преобразования над столбцами только над часть, где лежит B. Тогда матрица приведется
к виду (B 0 |C t ).
39 Метод Якоби
Дано Симметричная билинейная форма β : V ×V → F , базис e1 , . . . , en пространства V , такой, что det β|he1 ,...,ek i 6=
0.
Задача Найти базис e01 , . . . , e0n такой, что e0i − ei ∈ he1 , . . . , ei−1 i = he01 , . . . , e0i−1 i такой, что β(e0i , e0j ) = 0 при
i 6= j.
Алгоритм
1. В начале положим e01 = e1 .
2. Пусть мы нашли вектора e01 , . . . , e0i−1 . Тогда положим вектор e0i в виде10
Задача Проверить, что все ее угловые подматрицы Bk невырождены и если это так, то найти их значения,
а также найти верхнетреугольную матрицу с единицами на диагонали C ∈ Mn (F ) и диагональную матрицу
D ∈ Mn (F ) такие, что B = C t DC.
Алгоритм
1. Начнем приводить матрицу B к верхнетреугольному виду элементарными преобразованиями первого
типа, когда нам разрешено прибавлять строку с коэффициентом только к более низкой строке. Возмож-
ны два исхода:
• На каком-то этапе получили, что на диагонали на k-ом месте стоит 0, а под диагональю есть
ненулевой элемент. Это значит, что ∆k = 0. Условие на матрицу не выполнено.
• Мы привели матрицу B к верхнетреугольной матрице U . Переходим к следующему шагу.
2. Восстановим все необходимые данные по матрице U следующим образом:
(a) D – диагональ матрицы U .
(b) C = D−1 U .
(c) ∆k – произведение первых k элементов диагонали матрицы D.
Задача Найти разложение вида A = U DU ∗ , где U = (u1 | . . . |un ) ∈ Mn (C) – унитарная матрица и D ∈ Mn (C)
– диагональная матрица с числами равными по модулю 1.
10 В силу условия det β|he1 ,...,ek i 6= 0 выражения вида β(e0k , e0k ) будут всегда отличны от нуля.
17
Алгоритм
1. Найти характеристический многочлен χA (t). Пусть λ1 , . . . , λk – его корни с кратностями n1 , . . . , nk .11
2. Для каждого λi найдем ортонормированный базис собственного подпространства:
(a) найдем базисные собственные векторы, решив систему (A − λi E)x = 0 в Cn .
(b) К полученным векторам применить применим алгоритм Грама-Шмидта используя стандартное
скалярное произведение (x, y) = x̄t y.
(c) Нормируем каждый вектор, поделив на его длину.
3. Тогда матрица D будет diag(λ1 , . . . , λ1 , λ2 , . . . , λ2 , . . . , λk , . . . , λk ), где каждое λi встречается ni раз.
4. Матрица U будет составлена из базисных векторов собственных подпространств. Сначала идут n1 век-
торов для λ1 , потом n2 для λ2 и т.д.
Задача Найти разложение A = U DU t , где U = (u1 | . . . |un ) ∈ Mn (R) – ортогональная матрица и D – блочно
диагональная матрица, где на диагонали стоят:
cos α − sin α
1, −1,
sin α cos α
Алгоритм
1. Найти характеристический многочлен χA (t). Пусть кратность корня 1 равна n1 , кратность корня −1
равна n−1 . Остальные комплексные корни имеют вид λ1 , . . . , λk и λ̄1 , . . . , λ̄k , при этом кратности их
будут m1 , . . . , mk (и у сопряженных такие же).12
18
3. Теперь в качестве матрицы D выберем матрицу такую, что она блочно диагональная. В начале идут 1
в количестве n1 , потом −1 в количестве n−1 . Потом идут блоки 2 на 2 вида
cos αi − sin αi
sin αi cos αi
которые повторяются mi раз.
4. В качестве U надо выбрать матрицу из построенных базисных векторов. Сначала n1 векторов для
1, потом n−1 векторов для −1. А потом векторы соответствующие блокам 2 на 2. Сначала 2m1 пар
полученных из λ1 , потом 2m2 пар полученных из λ2 и т.д.
Задача Найти разложение A = U DU t , где U = (u1 |u2 |u3 ) ∈ M3 (R) – ортогональная матрица и D одна из
следующих матриц15
1 −1
(I) D = cos α − sin α или (II) D = cos α − sin α
sin α cos α sin α cos α
Алгоритм
1. Ищем матрицу U . Начинаем с поиска образующего оси. Решаем систему (A − E)x = 0. Возможны
следующие случаи:
(a) ФСР пустое.
Это значит, что у нас случай (II) и ось надо искать из уравнения (A + E)x = 0. Приведем матрицу
A+E к улучшенному ступенчатому виду (v1 |v2 )t . Тогда ее ФСР будет из одного вектора, нормируем
его и обозначим за u1 – это образующий оси. Векторы v1 , v2 образуют базис hu1 i⊥ . Ортогонализуем
и нормируем векторы v1 , v2 . Полученные векторы будут u2 и u3 .
(b) ФСР из одного вектора u. Нормируем его и обозначим через u1 .
Это значит, что у нас случай (I) и вектор u1 – образующий оси. Когда мы решали (A − E)x = 0
мы привели матрицу A − E к улучшенному ступенчатому виду (v1 |v2 )t . Тогда v1 , v2 – базис hu1 i⊥ .
Ортогонализуем v1 , v2 и потом нормируем. Полученные векторы будут u2 и u3 .
(c) ФСР из двух векторов v1 и v2 .
Это значит, что у нас случай (II). Пусть v – любая ненулевая строка матрицы A − E, тогда нор-
мируем v и обозначим получившийся вектор u1 – это будет образующий оси. Ортогонализуем и
нормируем векторы v1 и v2 . Полученные векторы будут u2 и u3 .
(d) ФСР из трех векторов.
Это значит, что у нас случай (I). Такое возможно только если A = E. В этом случае U = E, α = 0.
2. Теперь найдем cos α. Возможны два случая.
(a) Случай (I). Тогда tr A = 1 + 2 cos α.
(b) Случай (II). Тогда tr A = −1 + 2 cos α.
3. Теперь найдем sin α. Для этого заметим, что (Au2 , u3 ) = sin α.
Задача Найти разложение A = CΛC t , где C ∈ Mn (R) – ортогональная матрица, Λ ∈ Mn (R) – диагональная
матрица.
15 Прямая натянутая на вектор u1 называется осью для A.
19
Алгоритм
1. Найти собственные значения матрицы A.
(a) Составить характеристический многочлен χ(λ) = det(A − λE).
(b) Найти корни χ(λ) с учетом кратностей: {(λ1 , n1 ), . . . , (λk , nk )}, где λi – корни, ni – кратности.
Алгоритм
20
Алгоритм
1. Составим матрицу S = AAt ∈ Mm (R). Тогда S = U Σ2 U t .
2. Так как S t = S. То с помощью алгоритма для симметрических матриц найдем ее разложение S =
CDC t .20 Причем, обязательно получится, что диагональная матрица D = diag(λ1 , . . . , λm ) состоит из
неотрицательных элементов и мы можем выбрать порядок так, чтобы λ1 > λ2 > . . . > λm > 0.
21