Перейти к содержимому
ПереводыMIT, Berkeley, CMU

MIT 18.06SC, часть 1: матрицы как преобразования

Перевод конспектов лекций Стрэнга 1, 3 и 30: три взгляда на систему уравнений, четыре способа перемножить матрицы, обратная матрица и линейные преобразования с их матрицами.

Это перевод официальных конспектов (lecture summaries) к трём лекциям Гилберта Стрэнга из курса MIT 18.06SC. Карта всего курса — в путеводителе. Перевод распространяется под лицензией CC BY-NC-SA 4.0, © MIT OpenCourseWare.

Основная задача линейной алгебры — решить nn линейных уравнений с nn неизвестными, например:

2x−y=0−x+2y=3.\begin{aligned} 2x - y &= 0 \\ -x + 2y &= 3. \end{aligned}

В этой первой лекции по линейной алгебре мы посмотрим на эту задачу тремя способами.

Система выше двумерная (n=2n = 2). Добавив третью переменную zz, мы могли бы расширить её до трёх измерений.

Нарисуйте точки, которые удовлетворяют каждому уравнению. Пересечение графиков (если они пересекаются) и есть решение системы. По рисунку 1 видно, что решение системы — x=1x = 1, y=2y = 2.

Рисунок 1: прямые 2x−y=02x - y = 0 и −x+2y=3-x + 2y = 3 пересекаются в точке (1,2)(1, 2). На рисунке на плоскости xyxy проведены две прямые: первая проходит через начало координат, вторая — через точку (0; 1,5)(0;\,1{,}5); они встречаются в точке (1,2)(1, 2).

Подставим решение в исходную систему, чтобы проверить себя:

2⋅1−2=0−1+2⋅2=3.\begin{aligned} 2 \cdot 1 - 2 &= 0 \\ -1 + 2 \cdot 2 &= 3. \end{aligned}

Решение трёхмерной системы уравнений — общая точка пересечения трёх плоскостей (если такая есть).

В картине по столбцам мы переписываем систему линейных уравнений как одно уравнение: коэффициенты из столбцов системы превращаются в векторы:

x[2−1]+y[−12]=[03].x \begin{bmatrix} 2 \\ -1 \end{bmatrix} + y \begin{bmatrix} -1 \\ 2 \end{bmatrix} = \begin{bmatrix} 0 \\ 3 \end{bmatrix}.

Для двух векторов cc и dd и чисел xx и yy сумма xc+ydxc + yd называется линейной комбинацией векторов cc и dd. Линейные комбинации важны на протяжении всего курса.

Геометрически мы хотим найти такие числа xx и yy, чтобы xx копий вектора [2−1]\begin{bmatrix} 2 \\ -1 \end{bmatrix}, сложенные с yy копиями вектора [−12]\begin{bmatrix} -1 \\ 2 \end{bmatrix}, дали вектор [03]\begin{bmatrix} 0 \\ 3 \end{bmatrix}. Как видно на рисунке 2, x=1x = 1 и y=2y = 2, что совпадает с картиной по строкам.

Рисунок 2: линейная комбинация векторов-столбцов равна вектору bb. На рисунке из начала координат отложен вектор (2,−1)(2, -1), к его концу пристроены две копии вектора (−1,2)(-1, 2), и цепочка приходит в точку (0,3)(0, 3).

В трёх измерениях картина по столбцам требует найти линейную комбинацию трёх трёхмерных векторов, равную вектору bb.

Систему уравнений

2x−y=0−x+2y=3\begin{aligned} 2x - y &= 0 \\ -x + 2y &= 3 \end{aligned}

запишем одним уравнением с помощью матриц и векторов:

[2−1−12][xy]=[03].\begin{bmatrix} 2 & -1 \\ -1 & 2 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} 0 \\ 3 \end{bmatrix}.

Матрица A=[2−1−12]A = \begin{bmatrix} 2 & -1 \\ -1 & 2 \end{bmatrix} называется матрицей коэффициентов. Вектор x=[xy]x = \begin{bmatrix} x \\ y \end{bmatrix} — вектор неизвестных. Значения в правых частях уравнений образуют вектор bb:

Ax=b.Ax = b.

Трёхмерная матричная картина очень похожа на двумерную, только векторы и матрицы становятся больше.

Как умножить матрицу AA на вектор xx?

[2513][12]=  ?\begin{bmatrix} 2 & 5 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} 1 \\ 2 \end{bmatrix} = \; ?

Первый способ — считать элементы xx коэффициентами линейной комбинации векторов-столбцов матрицы:

[2513][12]=1[21]+2[53]=[127].\begin{bmatrix} 2 & 5 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} 1 \\ 2 \end{bmatrix} = 1 \begin{bmatrix} 2 \\ 1 \end{bmatrix} + 2 \begin{bmatrix} 5 \\ 3 \end{bmatrix} = \begin{bmatrix} 12 \\ 7 \end{bmatrix}.

Этот приём показывает, что AxAx — линейная комбинация столбцов AA.

Произведение AxAx можно посчитать и иначе: взять скалярное произведение каждой строки AA с вектором xx:

[2513][12]=[2⋅1+5⋅21⋅1+3⋅2]=[127].\begin{bmatrix} 2 & 5 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} 1 \\ 2 \end{bmatrix} = \begin{bmatrix} 2 \cdot 1 + 5 \cdot 2 \\ 1 \cdot 1 + 3 \cdot 2 \end{bmatrix} = \begin{bmatrix} 12 \\ 7 \end{bmatrix}.

В картинах по столбцам и матричной правая часть уравнения — вектор bb. Можно ли для данной матрицы AA решить

Ax=bAx = b

при любом векторе bb? Иначе говоря, заполняют ли линейные комбинации столбцов всю плоскость xyxy (или всё пространство в трёхмерном случае)?

Если ответ «нет», матрица AA называется вырожденной (singular). В вырожденном случае её столбцы линейно зависимы: все их линейные комбинации лежат в точке или на прямой (в двумерном случае) либо в точке, на прямой или в плоскости (в трёхмерном). Комбинации не заполняют всё пространство.

Лекция 3. Умножение матриц и обратные матрицы

Заголовок раздела «Лекция 3. Умножение матриц и обратные матрицы»

Разберём четыре разных способа думать о произведении AB=CAB = C двух матриц. Если AA — матрица размера m×nm \times n, а BB — размера n×pn \times p, то CC — матрица m×pm \times p. Через cijc_{ij} обозначаем элемент матрицы CC в строке ii и столбце jj.

Обычно произведение матриц описывают так: cijc_{ij} равно скалярному произведению строки ii матрицы AA и столбца jj матрицы BB. Иначе говоря,

cij=∑k=1naikbkj.c_{ij} = \sum_{k=1}^{n} a_{ik} b_{kj}.

Произведение матрицы AA на столбец jj матрицы BB равно столбцу jj матрицы CC. Значит, столбцы CC — комбинации столбцов AA.

Произведение строки ii матрицы AA на матрицу BB равно строке ii матрицы CC. Значит, строки CC — комбинации строк BB.

Столбец AA — вектор размера m×1m \times 1, строка BB — вектор размера 1×p1 \times p. Их произведение — матрица:

[234][16]=[212318424].\begin{bmatrix} 2 \\ 3 \\ 4 \end{bmatrix} \begin{bmatrix} 1 & 6 \end{bmatrix} = \begin{bmatrix} 2 & 12 \\ 3 & 18 \\ 4 & 24 \end{bmatrix}.

Столбцы этой матрицы кратны столбцу из AA, а строки кратны строке из BB. Если считать строки этой матрицы координатами точек (2,12)(2, 12), (3,18)(3, 18), (4,24)(4, 24), то все эти точки лежат на одной прямой; то же верно и для двух векторов-столбцов. Позже мы увидим, что это равносильно утверждению: пространство строк этой матрицы — одна прямая, и пространство столбцов тоже.

Произведение AA и BB — сумма таких матриц «столбец на строку»:

AB=∑k=1n[a1k⋮amk][bk1⋯bkp].AB = \sum_{k=1}^{n} \begin{bmatrix} a_{1k} \\ \vdots \\ a_{mk} \end{bmatrix} \begin{bmatrix} b_{k1} & \cdots & b_{kp} \end{bmatrix}.

Примечание переводчика: в PDF-оригинале последний элемент строки записан как bknb_{kn}; у матрицы BB размера n×pn \times p строка заканчивается элементом bkpb_{kp}.

Если разбить AA и BB на блоки подходящих размеров, произведение AB=CAB = C можно записать через произведения блоков:

[A1A2A3A4][B1B2B3B4]=[C1C2C3C4].\begin{bmatrix} A_1 & A_2 \\ A_3 & A_4 \end{bmatrix} \begin{bmatrix} B_1 & B_2 \\ B_3 & B_4 \end{bmatrix} = \begin{bmatrix} C_1 & C_2 \\ C_3 & C_4 \end{bmatrix}.

Здесь C1=A1B1+A2B3C_1 = A_1 B_1 + A_2 B_3.

Если AA — квадратная матрица, самый важный вопрос о ней — есть ли у неё обратная A−1A^{-1}. Если есть, то A−1A=I=AA−1A^{-1} A = I = A A^{-1}, и мы говорим, что AA обратима, или невырожденна.

Если AA вырожденна, то есть обратной у неё нет, её определитель равен нулю, и найдётся ненулевой вектор xx, для которого Ax=0Ax = 0. Например:

[1326][3−1]=[00].\begin{bmatrix} 1 & 3 \\ 2 & 6 \end{bmatrix} \begin{bmatrix} 3 \\ -1 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix}.

В этом примере первый столбец, умноженный на три, минус второй столбец дают нулевой вектор: два вектора-столбца лежат на одной прямой.

Поиск обратной матрицы тесно связан с решением систем линейных уравнений:

[1327]⏟A[acbd]⏟A−1=[1001]⏟I\underbrace{\begin{bmatrix} 1 & 3 \\ 2 & 7 \end{bmatrix}}_{A} \underbrace{\begin{bmatrix} a & c \\ b & d \end{bmatrix}}_{A^{-1}} = \underbrace{\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}}_{I}

можно прочитать так: «AA, умноженная на столбец jj матрицы A−1A^{-1}, равна столбцу jj единичной матрицы». Это просто частный случай уравнения Ax=bAx = b.

Методом исключения можно решать сразу два и больше уравнений. Достаточно дописать к матрице справа всю единичную матрицу II:

[13102701]⟶[131001−21]⟶[107−301−21].\left[\begin{array}{cc|cc} 1 & 3 & 1 & 0 \\ 2 & 7 & 0 & 1 \end{array}\right] \longrightarrow \left[\begin{array}{cc|cc} 1 & 3 & 1 & 0 \\ 0 & 1 & -2 & 1 \end{array}\right] \longrightarrow \left[\begin{array}{cc|cc} 1 & 0 & 7 & -3 \\ 0 & 1 & -2 & 1 \end{array}\right].

(Когда метод исключения Гаусса привёл исходную матрицу к верхнетреугольному виду, мы продолжаем по идее Жордана и исключаем элементы в правой верхней части матрицы.)

A−1=[7−3−21].A^{-1} = \begin{bmatrix} 7 & -3 \\ -2 & 1 \end{bmatrix}.

Как и в прошлой лекции, результат исключения можно записать как произведение нескольких матриц исключения EijE_{ij} на матрицу AA. Обозначив через EE произведение всех EijE_{ij}, запишем итог исключения Гаусса — Жордана блочными матрицами: E[ A∣I ]=[ I∣E ]E[\,A \mid I\,] = [\,I \mid E\,]. Но раз EA=IEA = I, то E=A−1E = A^{-1}.

Лекция 30. Линейные преобразования и их матрицы

Заголовок раздела «Лекция 30. Линейные преобразования и их матрицы»

В старых курсах линейной алгебры линейные преобразования вводили раньше матриц. Такой геометрический подход поначалу обходится без координат. Но рано или поздно координаты и матрицы нужны — когда доходит до вычислений.

Проекцию можно описать как линейное преобразование TT, которое переводит каждый вектор из R2\mathbb{R}^2 в другой вектор из R2\mathbb{R}^2. Иначе говоря,

T:R2⟶R2.T : \mathbb{R}^2 \longrightarrow \mathbb{R}^2.

Правило этого отображения: каждый вектор vv проецируется в вектор T(v)T(v) на прямой проекции. Проекция — линейное преобразование.

Преобразование TT линейно, если

T(v+w)=T(v)+T(w)иT(cv)=c T(v)T(v + w) = T(v) + T(w) \quad\text{и}\quad T(cv) = c\,T(v)

для всех векторов vv и ww и всех чисел cc. Равносильно:

T(cv+dw)=c T(v)+d T(w)T(cv + dw) = c\,T(v) + d\,T(w)

для всех векторов vv, ww и чисел cc, dd. Стоит заметить, что T(0)=0T(0) = 0: иначе не могло бы выполняться T(c⋅0)=c T(0)T(c \cdot 0) = c\,T(0).

Рассмотрим преобразование T(v)=v+v0T(v) = v + v_0, которое сдвигает каждый вектор плоскости, прибавляя к нему фиксированный вектор v0v_0. Это преобразование не линейно, потому что T(2v)=2v+v0≠2T(v)T(2v) = 2v + v_0 \neq 2T(v).

Преобразование T(v)=∥v∥T(v) = \lVert v \rVert, которое переводит любой вектор в его длину, не линейно, потому что T(cv)≠c T(v)T(cv) \neq c\,T(v) при cc меньше нуля.

Нелинейные преобразования мы изучать не будем. Дальше буквой TT обозначаем только линейные преобразования.

Это преобразование T:R2→R2T : \mathbb{R}^2 \to \mathbb{R}^2 берёт входной вектор vv и выдаёт вектор T(v)T(v), который получается поворотом vv против часовой стрелки на 45° вокруг начала координат. Заметьте: мы можем описать его и убедиться в линейности, не используя никаких координат.

Одно из достоинств геометрического описания преобразований — оно помогает увидеть общую картину, а не следить за действием преобразования на одну точку. Мы сразу понимаем, как поворот на 45° изменит рисунок домика на плоскости. Если бы преобразование было задано матрицей, а не словом «поворот», догадаться, куда перейдёт домик, было бы труднее.

Часто лучший способ понять линейное преобразование — найти матрицу, которая за ним стоит. Для этого нужно выбрать базис и ввести координаты.

Все линейные преобразования, о которых мы говорили, можно описать матрицами. В каком-то смысле линейное преобразование — это абстрактное описание умножения на матрицу, как в следующем примере.

Дана матрица AA; положим T(v)=AvT(v) = Av. Это линейное преобразование:

A(v+w)=Av+AwиA(cv)=c Av.A(v + w) = Av + Aw \quad\text{и}\quad A(cv) = c\,Av.

Пусть A=[100−1]A = \begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}. Как геометрически описать преобразование T(v)=AvT(v) = Av?

Когда мы умножаем AA на вектор vv из R2\mathbb{R}^2, компонента xx вектора не меняется, а знак компоненты yy меняется на противоположный. Преобразование v↦Avv \mapsto Av отражает плоскость xyxy относительно оси xx.

Как найти линейное преобразование T:R3→R2T : \mathbb{R}^3 \to \mathbb{R}^2, которое переводит трёхмерное пространство в двумерное? Возьмите любую матрицу AA размера 2×32 \times 3 и положите T(v)=AvT(v) = Av.

Сколько нужно знать о TT, чтобы найти T(v)T(v) для всех vv? Если мы знаем, как TT действует на один вектор v1v_1, то по линейности можем посчитать T(cv1)T(cv_1) для любого числа cc. Если мы знаем T(v1)T(v_1) и T(v2)T(v_2) для двух независимых векторов v1v_1 и v2v_2, то можем предсказать, как TT преобразует любой вектор cv1+dv2cv_1 + dv_2 в плоскости, натянутой на v1v_1 и v2v_2. Чтобы знать T(v)T(v) для всех векторов vv из Rn\mathbb{R}^n, достаточно знать T(v1),T(v2),…,T(vn)T(v_1), T(v_2), \ldots, T(v_n) для любого базиса v1,v2,…,vnv_1, v_2, \ldots, v_n входного пространства. Дело в том, что любой вектор vv входного пространства записывается как линейная комбинация базисных векторов, а TT линейно:

v=c1v1+c2v2+⋯+cnvnT(v)=c1T(v1)+c2T(v2)+⋯+cnT(vn).\begin{aligned} v &= c_1 v_1 + c_2 v_2 + \cdots + c_n v_n \\ T(v) &= c_1 T(v_1) + c_2 T(v_2) + \cdots + c_n T(v_n). \end{aligned}

Так мы переходим от линейного преобразования (без координат) к матрице (с координатами); числа cic_i и есть наши координаты. Когда базис выбран, каждый вектор пространства записывается как комбинация базисных векторов ровно одним способом. Коэффициенты этой комбинации — координаты vv в этом базисе.

Координаты берутся из базиса; смена базиса меняет координаты векторов. Мы не всегда пользуемся стандартным базисом: иногда удобнее базис из собственных векторов или какой-то другой.

Как по линейному преобразованию TT построить матрицу AA, которая его представляет?

Сначала нужно выбрать два базиса: скажем, v1,v2,…,vnv_1, v_2, \ldots, v_n в Rn\mathbb{R}^n — чтобы задавать координаты входных векторов, и w1,w2,…,wmw_1, w_2, \ldots, w_m в Rm\mathbb{R}^m — чтобы задавать координаты выходных. Мы ищем матрицу AA, для которой T(v)=AvT(v) = Av, где vv и AvAv берут координаты из этих базисов.

Первый столбец AA состоит из коэффициентов a11,a21,…,am1a_{11}, a_{21}, \ldots, a_{m1} разложения T(v1)=a11w1+a21w2+⋯+am1wmT(v_1) = a_{11} w_1 + a_{21} w_2 + \cdots + a_{m1} w_m. Элементы столбца ii матрицы AA определяются из T(vi)=a1iw1+a2iw2+⋯+amiwmT(v_i) = a_{1i} w_1 + a_{2i} w_2 + \cdots + a_{mi} w_m. Раз мы добились T(vi)=AviT(v_i) = Av_i для каждого базисного вектора viv_i, а TT линейно, то T(v)=AvT(v) = Av для всех векторов vv входного пространства.

Примечание переводчика: в PDF-оригинале индексы здесь записаны с опечатками (a1ma_{1m} вместо am1a_{m1}, a1iwma_{1i} w_m вместо amiwma_{mi} w_m); выше они исправлены.

В примере с матрицей проекции n=m=2n = m = 2. Преобразование TT проецирует каждый вектор плоскости на прямую. Здесь разумно взять один и тот же базис для входа и выхода. Чтобы вычисления были как можно проще, выберем v1v_1 — единичный вектор на прямой проекции, а v2v_2 — единичный вектор, перпендикулярный v1v_1. Тогда

T(c1v1+c2v2)=c1v1+0,T(c_1 v_1 + c_2 v_2) = c_1 v_1 + 0,

и матрица преобразования проекции — просто A=[1000]A = \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}:

Av=[1000][c1c2]=[c10].Av = \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} \begin{bmatrix} c_1 \\ c_2 \end{bmatrix} = \begin{bmatrix} c_1 \\ 0 \end{bmatrix}.

Хорошая матрица! Если выбранный базис состоит из собственных векторов, то матрица преобразования будет диагональной матрицей Λ\Lambda с собственными числами на диагонали.

Чтобы увидеть, как важен выбор базиса, возьмём стандартный базис для линейного преобразования, которое проецирует плоскость на прямую под углом 45°. Если выбрать v1=w1=[10]v_1 = w_1 = \begin{bmatrix} 1 \\ 0 \end{bmatrix} и v2=w2=[01]v_2 = w_2 = \begin{bmatrix} 0 \\ 1 \end{bmatrix}, получим матрицу проекции

P=aaTaTa=[1/21/21/21/2].P = \frac{a a^T}{a^T a} = \begin{bmatrix} 1/2 & 1/2 \\ 1/2 & 1/2 \end{bmatrix}.

Нарисовав график, можно убедиться, что матрица верная, но посчитать PP напрямую в этом базисе труднее, чем в базисе из собственных векторов.

Пусть TT — преобразование, которое берёт производную:

T(c1+c2x+c3x2)=c2+2c3x.(1)T(c_1 + c_2 x + c_3 x^2) = c_2 + 2c_3 x. \qquad (1)

Входное пространство — трёхмерное пространство квадратных многочленов c1+c2x+c3x2c_1 + c_2 x + c_3 x^2 с базисом v1=1v_1 = 1, v2=xv_2 = x, v3=x2v_3 = x^2. Выходное пространство — двумерное подпространство входного с базисом w1=v1=1w_1 = v_1 = 1 и w2=v2=xw_2 = v_2 = x.

Это линейное преобразование! Значит, можно найти A=[010002]A = \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 2 \end{bmatrix} и записать преобразование (1) как умножение на матрицу (2):

T([c1c2c3])=A[c1c2c3]=[c22c3].(2)T\left(\begin{bmatrix} c_1 \\ c_2 \\ c_3 \end{bmatrix}\right) = A \begin{bmatrix} c_1 \\ c_2 \\ c_3 \end{bmatrix} = \begin{bmatrix} c_2 \\ 2c_3 \end{bmatrix}. \qquad (2)

Для любого линейного преобразования TT можно найти матрицу AA, такую что T(v)=AvT(v) = Av. Если преобразование обратимо, то у обратного преобразования матрица A−1A^{-1}. Произведению двух преобразований T1:v↦A1vT_1 : v \mapsto A_1 v и T2:w↦A2wT_2 : w \mapsto A_2 w соответствует произведение A2A1A_2 A_1 их матриц. Вот откуда взялось умножение матриц!

ENRU
linear combinationлинейная комбинация
coefficient matrixматрица коэффициентов
singular / nonsingular (invertible) matrixвырожденная / невырожденная (обратимая) матрица
linearly dependent / independentлинейно зависимые / независимые
row picture / column pictureкартина по строкам / по столбцам
inverse matrixобратная матрица
identity matrixединичная матрица
Gauss-Jordan eliminationметод Гаусса — Жордана
linear transformationлинейное преобразование
basis, coordinatesбазис, координаты
projectionпроекция
upper triangularверхнетреугольная

Дальше: часть 2 — ранг и четыре фундаментальных подпространства.