2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Что такое обратная матрица

ЧАВО по матрицам и кватернионам (3 стр)

Что такое определитель матрицы?

Определитель матрицы это число, которое показывает, есть ли у матрицы обратная или нет. Если определитель равен 0, то обратной матрицы нет, иначе обратная матрица существует.

К примеру, есть матрица из одного элемента: . Для матрицы такого размера, определитель это просто значение одного элемента.

А, обратная матрица: .

Если элемент, а соответственно и определитель, не равен 0, то обратная матрица существует.

В случае единичной матрицы ее значение будет 1/1 или 1.0

Однако, если это число 0, то и определитель тоже 0.

При попытке найти обратное от нуля, получаем бесконечность. Так делать нельзя, так что для 0 не существует обратной матрицы.

Для единичной матрицы определитель всегда равен 1. Все матрицы с определителем равным единице называют изотропными.

Поэтому все матрицы вращения изотропны, так как определитель всегда равен 1.0.

Что можно доказать так:

но мы знаем, что:

Как мне посчитать определитель матрицы?

Определитель матрицы считается при помощи правила Крамера,
где каждое число может быть рассчитано
через разбиение матрицы в более малые матрицы.

Для 2х2 матрицы М, определитель В считается так:

Для матриц размером 3х3 и 4х4, найти определитель сложнее,
но все равно можно при помощи методов типа правила Крамера.

Что такое изотропная и анизотропная матрицы?

Изотропной матрицей называют матрицу, в которой сумма квадратов всех трех строк или колонок равна 1.

Матрицы, в которой это не происходит, называется Анизотропной.

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

К примеру, в сейсмических задачах, необходимо увеличить ось Z на 50 или более, при этом оси X и Y нужно оставить неизменными.

Другим примером может служить «раздавливание» и «растягивание» в анимации персонажей. Когда персонаж ударяет тяжелый предмет типа наковальни, то необходим эффект, при котором персонаж растягивается в стороны и сдавливается вертикально:

Читать еще:  Как связать детскую шапку

Матрица будет выглядеть так:

Однако здесь появляется проблема. В то время как не будет проблем с обработкой вершин, мы получим неправильное освещение, из-за кривых нормалей.

На шаге обработки данных, трансформация, выраженная данной матрицей Изменит как вершины, так и нормали.

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

Что такое обратная матрица?

Дана матрица , то обратная матрица этой матрицы, записывается как M, это матрица должна удовлетворять условию:

где I единичная матрица.

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

Во-первых, ширина и высота матрицы должны совпадать, во-вторых ее определитель не должен равняться 0.

Расчет обратной матрицы необходим для реализации обратной кинематики с помощью сплайнов.

Как мне посчитать обратную матрицу?

В зависимости от размера матрицы, расчет обратной может быть простым или очень сложным.

К примеру, обратная 1х1 матрица это просто обратная от одного элемента:

Решение 2х2 матриц и больших может быть получено при использовании правила Крамера или через решение системы уравнений.

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

Как мне посчитать обратную матрицу от единичной матрицы?

Обратная единичной матрицы и есть единичная матрица.

У любой единичной матрицы определитель всегда равен 1.

Как мне посчитать обратную от матрицы вращения?

Так как определитель матрицы вращения равен 1,
то расчет обратной матрицы равен транспонированию.

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

Как мне посчитать обратную матрицу при помощи правила Крамера?

Дана 3×3 матрица M:

То ее определитель считается так:

В этом случае, значение каждого элемента можно определить так:

Как мне посчитать обратную от 2х2 матрицы?

Для матриц 2х2, расчет несколько сложнее. Если матрицы определена так:

И обратная делается так:

Читать еще:  Как вызвать Момо

Как мне посчитать обратную от 3х3 матрицы?

Для матриц 3х3 и больше, обратная считается с помощью правила Крамера
или через решение системы линейных уравнений.

Если правило Крамера применить к матрице М:

Как мне посчитать обратную 4х4 матрицы?

Также как с матрицами 3х3, нужно применить правило Крамера или решить линейные уравнения.

Эффективно будет использовать уже описанные Сишные функции,
которые использовались при расчете обратной к 3х3 матрице.

Чтобы реализовать правило Крамера для матриц 4х4, необходимо выделить
отдельные подматрицы. Это достигается при помощи следующей функции:

Обратная матрица может быть рассчитана так:

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

Обратная матрица

[math]xz=e, x[/math] — левый обратный

[math]zy=e, y[/math] — правый обратный.

Тогда [math]z[/math] обратим, при этом [math]z^<-1>=x=y[/math] и [math]z^ <-1>— ![/math]

Факт 1. [math]x cdot z cdot y=(x cdot z) cdot y=e cdot y=y[/math] , но [math]x cdot z cdot y=x cdot (z cdot y)=x cdot e=x Rightarrow x=y[/math] , тогда по определению [math]z^<-1>=x=y[/math] .

Факт 2. Пусть [math]exists z^<-1>, tilde^<-1>[/math]

[math]z^ <-1>cdot z cdot tilde^<-1>=(z^ <-1>cdot z) cdot tilde^<-1>=e cdot tilde^<-1>=tilde^<-1>[/math] , но [math]z^ <-1>cdot z cdot tilde^<-1>=z^ <-1>cdot (z cdot tilde^<-1>)=z^ <-1>cdot e=z^ <-1>Rightarrow z^<-1>=tilde^ <-1>Rightarrow z^<-1>-![/math]

Шаг 1. Если матрица [math]A[/math] обратима, то [math]AB = E[/math] для некоторой матрицы [math]B[/math] . Тогда, если квадратные матрицы одного и того же порядка, то [math]det AB = det A cdot det B[/math] :

[math]1 = det E = det AB = det A cdot det B[/math] , следовательно, [math]det A neq 0, det B neq 0[/math] .

Шаг 2. Докажем обратное утверждение. Пусть [math]det A ne 0[/math] .

1) Докажем существование правой обратной матрицы [math]B[/math] .

Предположим [math]exists B: AB=E[/math] , где [math]A=Vert alpha_^ Vert, B=Vert beta_^ Vert, E=Vert delta_^ Vert[/math]

[math]AB=E: sumlimits_^ alpha_^ beta_^=delta_^, (i,k=1..n)[/math] , фиксируем [math]k[/math] , тогда:

[math](beta_^<1>. beta_^)^T rightarrow (xi^1. xi^n)^T[/math] , тогда получим, что [math]sumlimits_^ alpha_^ xi^=delta_^ Rightarrow A=Vert alpha_^ Vert [/math] — матрица системы уравнений, так как [math]det A ne 0[/math] , то по Крамеру [math]exists! (xi^1. xi^n)^T[/math]

Читать еще:  Зачем нужна видеокарта

В итоге для всех [math]k[/math] получим матрицу [math]B[/math] , что и требовалось.

2) Докажем существование левой обратной матрицы [math]C[/math] .

Предположим [math]exists C: CA=E Rightarrow sumlimits_^ gamma_^alpha_^=delta_^[/math]

Фиксируем [math]i[/math] , тогда [math](gamma_<1>^. gamma_^) rightarrow (xi_1. xi_n)[/math] ,получаем заполнение по строчкам, аналогично первому пункту показываем [math]exists C[/math] .

3) Тогда по лемме [math]C=B=A^<-1>[/math] , теорема доказана.

Алгоритм вычисления обратной матрицы

Не так страшна матрица, как обратная ей. Шутка!

Мы разобрали почти все операции, которые можно проводить с матрицами. Осталось самое сложное из этого списка – нахождение обратной матрицы.

Как правило, обратная матрица обозначается A -1 ( не путать со степенью числа ).

Хорошая новость 1
Понятие A -1 вводится только для квадратных матриц.

Хорошая новость 2
Если определитель матрицы равен нулю, то обратной для неё матрицы не существует.

Теперь непосредственно приступим к делу.

Матрица A -1 является обратной к матрице A, если выполняется следующее равенство:

Здесь E – это единичная матрица.

Формула нахождения алгебраического дополнения

Здесь Mij – минор (его рассмотрим ниже)

Формула нахождения обратной матрицы


Здесь A T – матрица, составленная из алгебраических дополнений.

Приступаем к практике

Пусть требуется найти обратную матрицу для матрицы A:

Первым делом ищем определитель матрицы A:

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

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

Аналогично вычисляются остальные значения:

Далее нужно записать транспонированную матрицу A T из вычисленных алгебраических дополнений:

Теперь необходимо подставить все найденные элементы в формулу нахождения обратной матрицы:

Даже если вы уверены в своем ответе, советуем сделать проверку и перемножить матрицы A и A -1 .

Исходя из определения, ответом будет являться единичная матрица.

Источники:

http://www.gamedev.ru/code/articles/faq_matrix_quat?page=3
http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0
http://math24.biz/article?id=algoritm_vychisleniya_obratnoy_matritsy

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector