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

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

Типичный способ составления таких специальных уравнений - собрать все переменные слева и поместить все оставшиеся константы справа.

Это система линейных уравнений. Мы ищем вектор x⃗, который после применения преобразования приземляется на v⃗.

Определитель (рассмотренный в предыдущей части) играет важную роль в системе линейных уравнений. если определитель не равен нулю, всегда будет один и только один вектор, который попадет в v⃗, и мы можем найти его, проиграв преобразование в обратном порядке. Чтобы воспроизвести преобразование в обратном порядке, нам нужно найти обратную матрицу, отменяющую все, что сделал A.

Совокупный эффект умножения на A и его обратное значение эквивалентно преобразованию идентичности - преобразованию, которое ничего не делает.

Если определитель равен нулю, мы не можем растянуть линию, чтобы превратить ее в плоскость. Решение все еще может существовать, но мы должны быть достаточно удачливыми, чтобы вектор v⃗ находился где-то на этой линии.

Одним из наиболее популярных способов решения системы линейных уравнений является процедура исключения Гаусса-Жордана, которая преобразует любую матрицу в ее сокращенную форму эшелона строк, из которой мы можем легко найти решение (или решения) системы уравнений. Возможно, этот алгоритм будет рассмотрен в одной из следующих частей, но не сейчас.

Нахождение обратной матрицы

Общая формула для получения обратного значения на основе сопряженной матрицы:

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

Для каждой записи aᵢⱼ второстепенный Mᵢⱼ является определителем матрицы, которая остается после удаления i-го строка и j-й столбец заданной матрицы.

Знак каждой записи aᵢⱼ определяется как:

кофактор cᵢⱼ для записи a ᵢⱼ является произведением знака этой записи и его второстепенного значения:

Теперь мы готовы описать сопряженную матрицу. Сопряженная матрица определяется как транспонированная матрица сомножителей C. Матрица кофакторов - это матрица тех же размеров, что и исходная матрица A, которая создается путем замены каждой записи a ᵢⱼ на ее кофактор cᵢⱼ .

Наконец, мы готовы реализовать метод, который будет возвращать обратную матрицу, объединив методы, которые мы реализовали ранее.

У нас уже есть анимированные примеры линейных преобразований в проекте linear-algebra-demo, теперь мы можем сделать их более интересными, применив преобразование к исходной матрице, а по окончании анимации применив обратную.

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

Мы применяем тот же подход в примере ниже с преобразованиями «масштаб» / «сжатие».

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