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

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

Векторы

На некоторых полях векторы могут интерпретироваться по-разному. Например, как стрелку, как список значений, геометрический объект и т. д. Сейчас представьте это как стрелку, но внутри системы координат xy (декартова плоскость). Хвост вектора находится в начале нашей системы. Координаты вектора в основном говорят нам, как добраться от хвоста вектора до его вершины.

Например, вектор v = [1, 2] будет иметь хвост в начале координат, а конец в точке (1, 2) в нашем декартовом плане.

Важно понимать, что мы можем выполнять операции и с векторами. Например, мы можем добавить векторы v = [1, 2] и w = [3, 4]. Сумма этих векторов равна [1 + 3, 4 + 2] = [4, 6] . Но что это представляет собой визуально?

Попробуйте визуализировать это в уме: добавление двух векторов означает получение хвоста второго вектора, размещение его в вершине нашего первого вектора, а затем создание нового вектора, идущего от начала координат к вершине нашей суммы.

Мы также можем масштабировать вектор. Например, 4 * [1, 2] равно [4*1, 4*2] = [4, 8]. Это визуально легче думать. Если масштабировать вектор в 2 раза, его длина удвоится. Если вы масштабируете его на 1/2, это будет половина начальной длины.

Линейные комбинации

Вы можете думать о векторах по-другому. Подумайте о двух векторах по умолчанию, один из которых направлен вправо, а другой направлен вверх (давайте назовем их â и ê. При этом вы можете предположить, например, что вектор [3, 2] просто означает, что мы растягиваем â в 3 раза, а ê в 2. Вы можете описать таким образом любой возможный двумерный вектор, а также использовать разные базовые векторы, просто убедитесь, что они не пересекаются. и они != 0 (подумайте, почему они не могут выстроиться в линию) Линейные комбинации — это решения для линейных систем!

Охватывать

Набор всех возможных векторов, которых вы можете достичь с помощью линейных комбинаций данной пары векторов, называется «промежутком» этих двух векторов. Если два вектора выстроены в ряд, мы говорим, что они линейно зависимы. Мы говорим это потому, что если мы удалим один из них, диапазон останется прежним. У нас также может быть диапазон в большем количестве измерений, например 3d.

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

Теперь мы переходим к хорошим вещам. Линейные преобразования — это функции (и абстракции, но мы можем обсудить это позже), которые принимают некоторый вектор в качестве входных данных и выдают другой вектор в качестве выходных данных. Линейные преобразования — это движение. У нас есть некоторые математические свойства, которые гарантируют нам, что преобразование является линейным, но визуально говоря, чтобы преобразование было линейным, линии сетки остаются параллельными и равномерно распределенными.

Теперь попробуем вычислить преобразование. Помните наши векторы по умолчанию, â и ê? Мы будем использовать их. Предположим, L(а) = [1, -1], L(р) = [3, 1]. Мы можем вычислить, куда пойдет любой вектор, зная преобразование. Давайте выясним, куда пойдет вектор v =[1, 2].

L(v) = L(1*â + 2*ê)

L(v) = 1* L(â) + 2 * L(ê)

L(v) = (1 * [1, -1]) + (2 * [3, 1])

L(v) = [1, -1] + [6, 1]

L(v) = [7, 0]

Ну вот! Теперь мы знаем, что наш вектор v приземлится на (7,0)! Удивительный!

Если вам дана матрица 2x2, описывающая линейное преобразование, и конкретный вектор, и вы хотите знать, где линейное преобразование берет этот вектор, вы берете координаты этого вектора, умножаете их на соответствующий столбец матрицы, затем сложите то, что вы получите. Это соответствует идее добавления масштабированных версий наших новых базисных векторов.

Хорошо, вычислительная часть хороша, но давайте подумаем о том, что все это означает визуально. Линейные преобразования говорят нам, что мы можем моделировать пространство и представлять это моделирование с помощью матриц и операций. Они не ограничиваются 2D-планами, что означает, что мы также можем преобразовать, например, 3D-планы.

Найдите минутку и подумайте, сколько всего вы можете сделать, линейно преобразовывая пространство. Именно это позволяет нам так хорошо работать с 2d и 3d анимацией, преображая пространство внутри компьютера. Это необходимо для компьютерной графики. Мы можем объединять операции, выполнять композиции и многое другое.

Определяющий

Что, если бы мы могли измерить, что делает преобразование, не зная ничего, кроме матрицы преобразования?

О, мы можем сделать это! Определитель очень полезен, чтобы понять, насколько трансформация растягивает и сжимает вещи. В частности, он измеряет коэффициент по площади области, масштабируемой после преобразования.

Представьте себе матрицу преобразования [2, 0, 0, 2]. Он масштабирует â и ê с коэффициентом 2, и после преобразования область, которая была квадратом 1x1 (из-за â и ê), превратилась в квадрат 2x2. Масштабный коэффициент называется определителем матрицы. Я не буду освещать вычисление, но определитель для нашего примера равен 4 (площадь была 1, превратилась в 4). Определитель может быть отрицательным, но поскольку отрицательное масштабирование не является вещами, отрицательный знак указывает на ориентацию (подумайте об отрицаниях на декартовой плоскости). В трех измерениях определитель представляет собой коэффициент, на который масштабируется объем. Если определитель равен 0, то плоскость превратилась в прямую, у которой нет площади.

Обратные матрицы

Обратная матрица тоже крутая. Инверсия матрицы просто представляет обратную операцию, которую выполняло предыдущее преобразование. Если первый применит поворот по часовой стрелке на 45 градусов, обратным будет поворот против часовой стрелки на 45 градусов.

Зная это, если у нас есть вектор x и матрица, мы всегда можем выполнить обратную операцию, чтобы узнать вектор x перед преобразованием.

Заключение

Линейная алгебра визуально красива, и мы можем понять многое из того, чему научились в школе или в университете, не запоминая доказательства и правила. Я начал изучать это из любопытства, но действительно удивительно, как это влияет на компьютерную графику и линейные системы. Я не стал много рассказывать и говорил только о простых и общих вещах, но я намерен написать об этом больше.

Если вам понравилась эта статья, подписывайтесь на меня в твиттере! @Lorenzoowb

Ресурсы и ссылки

http://linear.ups.edu/html/fcla.html