Это часть курса Линейная алгебра с JavaScript.

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

Сложение и вычитание

Операции сложения и вычитания принимают пары матриц в качестве входных данных и создают матрицы в качестве выходных данных. Сложение и вычитание выполняются покомпонентно, и матрицы должны иметь одинаковые размеры для сложения или вычитания.

Чтобы не повторять один и тот же код при сложении и вычитании, мы сначала пишем метод, который принимает операцию, функцию, которая будет делать что-то с двумя компонентами и другой матрицей. Затем мы можем вызывать его как в методах сложения, так и в методах вычитания с разными операциями.

Скалярно-матричное умножение

Скалярное умножение матриц определяется так же, как и для векторов, и выполняется путем умножения каждого элемента матрицы на скаляр.

Матрица-матричное умножение

Мы можем перемножить две матрицы A и B при условии, что их размеры совместимы, что означает количество столбцов A равно количеству строк B. Матричное произведение AB матриц состоит из вычисления скалярного произведения между каждой строкой A и каждым столбцом B:

Мы можем рассматривать результат матричного произведения AB как линейное преобразование, которое сначала применяет линейное преобразование B, а затем A. Чтобы лучше понять эту концепцию, обратимся к проекту линейная алгебра-демо.

Желтая фигура на рисунке ниже - результат применения линейного преобразования C к красному квадрату. Преобразование C является результатом умножения матрицы на матрицу. Где A - матрица отражения, а B - матрица сдвига.

Если мы изменим порядок матриц A и B в умножении матрицы на матрицу, мы получим другой результат, потому что сначала будет применено преобразование B , а затем A.

Транспонировать

Матрица транспонирования Aᵀ определяется формулой aᵀᵢⱼ = aⱼᵢ. Другими словами, мы получаем транспонирование, «переворачивая» матрицу по ее диагонали. Обратите внимание, что на элементы диагонали матрицы операция транспонирования не влияет.

Детерминант

Определитель матрицы - это вычисление, в котором участвуют все коэффициенты матрицы, а на выходе получается одно число. Определитель описывает относительную геометрию векторов, составляющих строки матрицы. В частности, определитель матрицы A сообщает вам объем коробки со сторонами, заданными строками A. Определитель матрицы 2 × 2 равен:

Определитель матрицы 3 × 3 равен:

Наш метод вычисляет определитель для матрицы любого размера, если в ней одинаковое количество строк и столбцов.

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

На рисунке ниже мы видим, что после применения области линейного преобразования к красному квадрату 1 × 1 мы получаем прямоугольник 3 × 2 с площадью, равной 6 , точно такое же число, как определитель матрицы.

Если мы применим трансформацию сдвига, мы увидим, что квадрат стал параллелограммом, а площадь осталась прежней. Определитель равен единице.

Определитель будет отрицательным, если после применения линейного преобразования ориентация пространства будет изменена на обратную. На рисунке ниже мы видим, что до преобразования ĵ находится слева от î, а после преобразования ĵ справа от î.

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

В трехмерном пространстве определитель сообщает вам, сколько объемов масштабируется.

Определитель 0 будет означать, что все пространство сжато на что-то с нулевым объемом. Если в двухмерном пространстве это будет означать, что результат преобразования сдавлен на линию или точку, в трехмерном случае это также может означать, что объекты сдавлены на плоскости, как в примере ниже.

Следующая часть -›

Достигните нового уровня сфокусированности и продуктивности с Increaser.org.