Это часть курса Линейная алгебра с JavaScript.
Одна из основных причин того, что линейная алгебра более широко применима и требуется практически для любой технической дисциплины, заключается в том, что она решает определенные системы уравнений.
Типичный способ составления таких специальных уравнений - собрать все переменные слева и поместить все оставшиеся константы справа.
Это система линейных уравнений. Мы ищем вектор x⃗, который после применения преобразования приземляется на v⃗.
Определитель (рассмотренный в предыдущей части) играет важную роль в системе линейных уравнений. если определитель не равен нулю, всегда будет один и только один вектор, который попадет в v⃗, и мы можем найти его, проиграв преобразование в обратном порядке. Чтобы воспроизвести преобразование в обратном порядке, нам нужно найти обратную матрицу, отменяющую все, что сделал A.
Совокупный эффект умножения на A и его обратное значение эквивалентно преобразованию идентичности - преобразованию, которое ничего не делает.
Если определитель равен нулю, мы не можем растянуть линию, чтобы превратить ее в плоскость. Решение все еще может существовать, но мы должны быть достаточно удачливыми, чтобы вектор v⃗ находился где-то на этой линии.
Одним из наиболее популярных способов решения системы линейных уравнений является процедура исключения Гаусса-Жордана, которая преобразует любую матрицу в ее сокращенную форму эшелона строк, из которой мы можем легко найти решение (или решения) системы уравнений. Возможно, этот алгоритм будет рассмотрен в одной из следующих частей, но не сейчас.
Нахождение обратной матрицы
Общая формула для получения обратного значения на основе сопряженной матрицы:
Сопряженная матрица довольно сложна, поэтому давайте продолжим шаг за шагом. Сначала мы определим несколько предварительных концепций.
Для каждой записи aᵢⱼ второстепенный Mᵢⱼ является определителем матрицы, которая остается после удаления i-го строка и j-й столбец заданной матрицы.
Знак каждой записи aᵢⱼ определяется как:
кофактор cᵢⱼ для записи a ᵢⱼ является произведением знака этой записи и его второстепенного значения:
Теперь мы готовы описать сопряженную матрицу. Сопряженная матрица определяется как транспонированная матрица сомножителей C. Матрица кофакторов - это матрица тех же размеров, что и исходная матрица A, которая создается путем замены каждой записи a ᵢⱼ на ее кофактор cᵢⱼ .
Наконец, мы готовы реализовать метод, который будет возвращать обратную матрицу, объединив методы, которые мы реализовали ранее.
У нас уже есть анимированные примеры линейных преобразований в проекте linear-algebra-demo, теперь мы можем сделать их более интересными, применив преобразование к исходной матрице, а по окончании анимации применив обратную.
В приведенном ниже примере мы преобразуем красный куб в синий параллелепипед, используя преобразование «сдвиг вправо», а затем, используя обратное преобразование - «сдвиг влево», мы превращаем параллелепипед в куб.
Мы применяем тот же подход в примере ниже с преобразованиями «масштаб» / «сжатие».
Достигните нового уровня сфокусированности и продуктивности с Increaser.org.