Н.И. Яцкин - Линейная алгебра (Теоремы и алгоритмы) (1109879), страница 16
Текст из файла (страница 16)
0 000···−na0 000···1(7.24)§7Замена базиса. Матрица перехода85Обратная матрица выглядит проще. Чтобы ее составить, надоразложить старые базисные векторы xk по новому базису Ba :kkx = ((x − a) + a) =kXCkj ak−j (x − a)j ,j=0после чего выписывается матрица1 a a 2 a3 · · ·an 0 1 2a 3a2 · · · nan−1 0 0 1 3a · · · Cn2 an−2 1 · · · Cn3 an−3 .S = 0 0 0 ...................................
0 0 00 ···na0 0 00 ···1(7.25)Вектор-столбец f Ba , отвечающий данному многочлену в новом базисе, уже вычислен выше [см. формулу (7.23)], исходя из независимых соображений. Поэтому формулуf Ba = S · f B(7.26)для пересчета координатного столбца можно использовать теперьдля контроля правильности вычислений. (Попробуйте разобратьсяс этой проверкой самостоятельно.)7.4. Применение системы Maple для решения задач, связанных с заменой базисов.
Читатели первого пособия [A1 ] наверняка помнят, что в нем значительное место уделяется Mapleвычислениям. Мы намерены продолжить эту линию и во второмпособии. Будут, однако, довольно существенные изменения в нашейMaple-стратегии. Прежде всего, мы перейдем от использования пакета linalg, ориентированного на решение задач линейной алгебры, киспользованию другого пакета LinearAlgebra, ориентированного нате же задачи, но более современного. В ранних версиях Maple (заметим, что их вполне достаточно для наших скромных целей) обаупомянутых пакета фигурировали как равноправные.
В последнихверсиях пакет linalg характеризуется как "замещенный": работать внем можно, но рекомендуется переходить на использование модуляLinearAlgebra.86Линейные пространства. Базисы и размерностиГл. 1Разумеется, здесь не место для подробного описания организации и функционировании вновь привлекаемого программного средства. Но на некоторых особенностях интерфейса пакета LinearAlgebra остановиться придется. Начинаются нововведения с имени пакета: оно стало длиннее, содержит целые слова, которые записываютсяс большой буквы и слитно.
Аналогичный характер будут иметь всекоманды, входящие в пакет. Это довольно удобно для англоязычныхпользователей: аббревиатуры, хотя они и короче, требуют запоминания, а длинные имена из полных слов являются "говорящими" илегко восстанавливаются по смыслу.Читатели данного пособия, скорее всего, не являются англоязычными. Но они собираются стать программистами и должны учитывать то обстоятельство, что представители данной профессии "принимают англоязычие" в числе первых.Пример 7.3.
Перерешаем задачу из примера 7.1 средствами системы Maple. Загружаем пакет:> with ( LinearAlgebra ) :(Если вместо двоеточия в конце строки поставить точку с запятой,то будет выдан перечень команд, доступных в вызванном пакете.)Продемонстрируем, как в новом пакете вводятся матрицы. Первый способ задания вполне аналогичен применявшемуся в пакетеlinalg:> B := Matrix( [ [ 1, 1, 1, 1 ], [ 1, 2, 1, 3 ], [ 1, 1, 2, 2 ], [ 1, 1, 1, 3 ] ] ) :Но при этом определяется объект нового типа ’Matrix’, отличногоот использовавшегося в linalg типа ’matrix’. (Системы компьютерной алгебры, подобные Maple, очень тщательно отслеживают типыданных.
Объекты разных типов не могут использоваться совместно. Скажем, нельзя сложить ’matrix’ и ’Matrix’. Возможна, однако,конвертация одного из этих типов в другой.)Второй способ задания матриц использует укороченные обозначения (по-английски: shortcuts) и для небольших матриц являетсяболее удобным:> C:=<<1, 0, 3, 3>|<−2,−3,−5,−4>|<2, 2, 5, 4>|<−2,−3,−4,−4>>:§7Замена базиса. Матрица перехода87(При этом матрицы вводятся не по строкам, а по столбцам. Номожно сделать и наоборот: вводить матрицы по строкам, поменявролями вертикальную черту | и запятую.)В отличие от пакета linalg, арифметика модуля LinearAlgebra допускает прямое выполнение сложения A + B, вычитания A − B иумножения A . B матриц.
Обратите внимание на то, что для обозначения матричного умножения используется обычная (синтаксическая) точка. Отпадает потребность в использовании ключевой дляlinalg команды evalm (вычислить матрицу). Напомним, что в старом пакете, чтобы перемножить две матрицы, требовалось набратьevalm(A&∗B).В LinearAlgebra имеется особая команда для задания единичнойматрицы:> E := IdentityMatrix ( 4 ) :С помощью shortcuts легко выражается конкатенация матриц:> BE := << B | E >> ;11BE := 111211112113231000010000100001А вот команда gaussjord из linalg, приводящая матрицу к видуЖордана — Гаусса, в пакете LinearAlgebra заменяется на длинноевыражение из четырех слов (приведенная строчно эшелонированнаяформа; такое словосочетание вполне привычно для англоязычногопользователя):> BG := ReducedRowEchelonForm ( BE ) ;10BG := 0001000010000120− 21− 21−1100−10101−1 −1 212Из правой "полуматрицы" матрицы BG можно (с помощью команды SubMatrix) "добыть" матрицу B −1 , но можно и непосредственно, одной командой найти матрицу перехода:88Линейные пространства.
Базисы и размерности> T := MatrixInverse ( B ) . C ;201 −3 1 −2T := 1 −2 21 −1 1Гл. 1−11 −1−1Покажем еще действия с векторами:> aB := Vector ( [ 1, -1, 1, -1 ] ) ; aC := Inverse( T ) . aB ;1 −1 aB := 1−1−2 4 aC := 61§ 8. Сумма и пересечениелинейных подпространств.Формула Грассмана8.1. Линейные подпространства в к.л.п. и действия надними. Понятие линейного подпространства W 6 V в линейном пространстве V (над полем P ) введено в самом начале нашего курса, вп. 1.5.
Там же рассматривалось первое алгебраическое действие надподпространствами — пересечение двух или произвольного (конечного или бесконечного) семейства подпространств, которое, согласнопредложению 1.2, также оказывается подпространством.В то же время, объединение двух линейных подпространств, какправило, подпространством не является. (Исключение составляетслучай, когда одно из объединяемых подпространств содержит второе.)Существует, однако, другое алгебраическое действие над линейными подпространствами — сложение двух или нескольких подпространств, результатом которого снова является подпространство.Переходим к его описанию.§8Сумма и пересечение подпространств89Определение 8.1.
Пусть {Wi }si=1 — конечное семейство линейных подпространств в линейном пространстве V. Сумма этих подпространств определяется как следующее подмножествоW1 + W2 + ... + Ws = { y1 + y2 + ... + ys : yi ∈ Wi (i = 1, ..., s) } (8.1)в пространстве V.PsДля суммы (8.1) используется также обозначение i=1 Wi .PsПредложение 8.1. Сумма W =i=1 Wi линейных подпространств Wi 6 V (i = 1, ..., s) сама является линейным подпространством: W 6 V, причем это подпространство является наименьшим изподпространств в V, содержащих все подпространства-слагаемые.Доказательство. Тот факт, что W действительно является подпространством практически очевиден: взяв два произвольных вектораx = y1 + y2 + ... + ys , x0 = y10 + y20 + ...
+ ys0из подмножества W (yi , yi0 ∈ Wi ; i = 1, ..., s) и произвольный скалярλ ∈ P, мы легко убеждаемся, что векторыx+x0 = (y1 +y10 )+(y2 +y20 )+...+(ys +ys0 ), λx = (λy1 )+(λy2 )+...+(λys )также принадлежат W.Очевидны также включения Wi ⊆ W. Остается установить, что Wявляется наименьшим из подпространств, содержащих все Wi , т. е.доказать, что W содержится в любом линейном подпространстве W 0 ,содержащем Wi (i = 1, ..., s).Но и это не вызывает затруднений, поскольку если подпространство W 0 содержит произвольные векторы yi из Wi , то оно обязаносодержать и всевозможные суммы вида y1 + y2 + ... + ys .
Значит, W 0содержит все векторы из W. ¤Замечание 8.1. Законы коммутативности и ассоциативности длясложения векторов переносятся, разумеется, на сложение (непустых)подмножеств в линейном пространстве, в частности, — на сложение линейных подпространств. Именно поэтому мы, не беспокоясьни о каких скобках и не заботясь о порядке слагаемых, сразу ввели понятие суммы для нескольких подпространств. Однако, другие свойства сложения подпространств все же серьезно отличаются90Линейные пространства.
Базисы и размерностиГл. 1от свойств сложения векторов. Скажем, если одно из двух подпространств содержится в другом: W1 6 W2 , то сумма этих подпространств совпадает с бо́льшим из них: W1 + W2 = W2 . В самом деле,всякий элемент x ∈ W1 + W2 имеет, по определению, вид x = y1 + y2 ,где y2 ∈ W2 и y1 тоже принадлежит (в силу включения) W2 , а значит и x ∈ W2 . Очевидно, верно и обратное: равенство W1 + W2 = W2влечет включение W1 6 W2 .Так что, имеем эквивалентность:[ W1 6 W2 ] ⇔ [ W1 + W2 = W2 ],которая, кстати, является аналогом другой, совершенно очевиднойэквивалентности:[ W1 6 W2 ] ⇔ [ W1 ∩ W2 = W1 ].Замечание 8.2.
Приведем важную для дальнейшего диаграммувключений, демонстрирующую все обязательные включения междуследующими подпространствами в пространстве V :— тривиальные подпространства O и V ;— произвольные подпространства W1 и W2 ;— их сумма W3 = W1 + W2 и пересечение W0 = W1 ∩ W2 .Диаграмма 8.16%OW1&66−→ W0W36&%6−→ V6W2В диаграмме 8.1 стрелки со знаками неравенства обозначают (линейные) отображения вложения, сопоставляющие каждому вектору из некоторого подпространства этот же самый вектор, но рассматриваемый в некотором другом, более широком подпространстве.Любопытно, что если какая-либо из "сторон ромба" тривиализуется(превращается в равенство), то тривиализуется и противоположнаясторона. (Это следует из замечания 8.1.)Замечание 8.3.∗ В бесконечномернойлинейной алгебре вводитсяPопределение для суммы ι∈I Wi произвольного (может быть, бесконечного) семейства W = {Wι }ι∈I линейных подпространств.§8Сумма и пересечение подпространств91И в этом случае W состоит из конечных сумм векторов, каждыйиз которых принадлежит какому-либо одному из подпространствслагаемых.
Остается справедливым утверждение о том, что W является наименьшим из подпространств, содержащих все Wι .Кстати, с учетом предложения 2.1а, это заключение можно высказать в следующих равносильных формах:— сумма семейства подпространств равна пересечению всех подпространств, содержащих все подпространства, входящие в семейство;— сумма равняется линейной оболочке объединения данных подпространств.8.2.
Сумма и пересечение конечномерных линейных подпространств. Формула Грассмана. Если линейное пространство V конечномерно, то, в соответствии с предложением 5.3, конечномерными будут и все линейные подпространства в V, причем, посвойству монотонности размерности (см. предложение 5.6), размерности подпространств не превышают размерность всего пространства.В произвольном линейном пространстве (может быть, бесконечномерном) также можно (и нужно) рассматривать конечномерные подпространства. Совершенно очевидно, что пересечение W0 = W1 ∩ W2двух конечномерных подпространств W1 , W2 6 V является конечномерным подпространством (поскольку оно содержится в каждом изданных).Но конечномерной будет и сумма W3 = W1 + W2 двух конечномерных подпространств.
В самом деле, конечную порождающуюс.в. для суммы можно получить объединением (конкатенацией) конечных порождающих систем для каждого из слагаемых. Так что,размерность суммы не будет превышать сумму размерностей слагаемых. Ниже будет доказана точная формула для размерности суммыдвух конечномерных подпространств.Теорема 8.1 (теорема Грассмана). Пусть V — линейное пространство над полем P , W1 и W2 — два конечномерных линейныхподпространства в пространстве V. Тогда сумма W1 + W2 также является конечномерным подпространством в V и для ее размерностисправедливо следующее соотношение:dim(W1 + W2 ) = dim(W1 ) + dim(W2 ) − dim(W1 ∩ W2 ).(8.2)92Линейные пространства.
Базисы и размерностиГл. 1Доказательство. Обозначим di = dim(Wi ) (где i = 0, 1, 2, 3) размерности задействованных в формуле (8.2) подпространств (напомним, что W3 — это сумма, W0 — пересечение подпространств W1и W2 ). В силу свойства монотонности размерности, имеют местонеравенства: d0 6 d1 , d2 6 d3 . Докажем соотношениеd3 = d1 + d2 − d0 .(8.2a)В таком виде мы будем использовать формулу в дальнейшем (например, при описании алгоритмов построения базисов в следующемпараграфе). В доказательстве, однако, эти обозначения были бы чересчур громоздкими, и мы их временно укоротим: d0 = m; d1 = k;d2 = l; d3 = s.Выберем произвольный базисB0 = [ b1 , ... , bm ](8.3)в подпространстве W0 и, пользуясь предложением 5.5, продолжимего двояко:— до базисаB1 = [ b1 , ... , bm , g1 , ... , gk−m ](8.4)в подпространстве W1 ;— до базисаB2 = [ b1 , ...