LINUX.ORG.RU

Вопрос к математикам - экспоненциальная функция матрицы


0

0

Такая вот появилась нужда - найти exp(A) где A - антисимметричная матрица 3x3. Внутренний голос подсказывает, что должна быть для этого случая формула в явном виде, но в справочниках ее не нашел, а сам вывести не смог. На разложение в степенной ряд затрачивается слишком много времени для требуемой точности :( Может, специалисты подскажут оптимальное решение

anonymous
Ответ на: комментарий от Teak

Выглядит она, может быть, и внушительно, только вот моя проблема там не решается :)

anonymous
()

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

welkam ★★
()
Ответ на: комментарий от welkam

Ну это всё понятно, можно как и в общем случае, диагонализировать и т.д. Но для кососимметричной матрицы ДОЛЖНА быть явная формула :)

anonymous
()
Ответ на: комментарий от anonymous

Тебе что, триллион этих матриц надо диагонализовать? Возьми GSL и не мучайся.

ero-sennin ★★
()

Не специалист, но:

Кососиметрическая матрица задает линейное преобразование - векторное умножение на некоторый фиксированный вектор (угловая скорость). Экспонента от матрицы - поворот при заданной угловой скорости за еденицу времени.

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

Еще можно через интерполяцию (экспонента от матрицы 3x3 есть многочлен не более чем второй степени от самой матрицы). В данном случае коэффециенты не сложно найти.

ival ★★
()

К вопросу о степенном ряде. В любом случае что нибудь из exp/sin/cos для чисел посчитать все равно придется. А они тоже считаются через ряд.

ival ★★
()
Ответ на: комментарий от ival

> А они тоже считаются через ряд.

Не всегда. Матсопроцессоры используют несколько другие алгоритмы...

eugine_kosenko ★★★
()
Ответ на: комментарий от ival

> Еще можно через интерполяцию (экспонента от матрицы 3x3 есть многочлен не более чем второй степени от самой матрицы).

коэффициенты многочлена будут разными для разных матриц.

> Кососиметрическая матрица задает линейное преобразование - векторное умножение на некоторый фиксированный вектор (угловая скорость). Экспонента от матрицы - поворот при заданной угловой скорости за еденицу времени.

да, это идейно самое правильное решение

dilmah ★★★★★
()

Идею тут уже подсказали, но попробую её развить:

Действительно кососимметрические матрицы 3x3 образуют алгебру Ли so(3), которой соответствует группа Ли SO(3).

Существует канонический эпиморфизм SU(2) -> SO(3), т.е. любой элемент SO(3) отвечает минимуму одному элементу SU(2) (точнее, двум). Группа SU(2) пожет быть представлена как матричная группа унимодулярных комплекснозначных матриц 2х2, а их диагонализовать можно легко.

Хотя по мере того, как я пишу ответ, у меня возникает стойкое ощущение, что задача давно решена в явном виде через D-функции Вигнера. Но программа реализуется относительно легко.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

Всем спасибо. По вашим подсказкам нашел то, что искал. Интуиция меня не подвела. То, что я искал, называется формулой Родригеса.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.