2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Матричная экспонента ?
Сообщение14.12.2007, 22:53 
Добрый вечер.

Вот, что-то у меня ступор. Для решения своей задачки вычислял матричную экспоненту. Использовал Maxima. Возникли сомнения. Решил проверить, что она там считает. Так вот, для единичной матрицы A (2x2) он показал мне нечто:
Q=\exp(A*h) ==>Q _{11}=e^h; Q_{12}=1; Q_{21}=1; Q_{22}=e^h.
Разве так должно быть??? Насколько я понимаю математику, Q_{12} и Q_{21} должны быть равны нулю (c чего вдруг они не нулевые?).

Стал проверять в SciLab-е. У него тоже самое.
А вот во Octave2.9 по-другому. Если использую exp(A*h) --- то как и в предыдущих случаях, а если пишу e^(A*h), то выдаёт нормальный результат.

Так это что, в пакетах ошибка или я криво думаю???
На matlab, maple, mathcad и mathematica пока не проверял, сижу под линуксом.

 
 
 
 
Сообщение14.12.2007, 23:16 
Аватара пользователя
:evil:
Цитата:
Решил проверить, что она там считает.

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

 
 
 
 
Сообщение14.12.2007, 23:26 
Я это знаю.
Использовал не только exp(A), но и %e^(A). Результат у maxima и scilab аналогичен указанному мною выше. Или вы знаете другое решение??? :evil:

 
 
 
 
Сообщение14.12.2007, 23:47 
Аватара пользователя
:evil:
Я не знаю ни одну из используемых Вами систем. Сори.

Я не очень понимаю Вас. Вы знаете, что то, что Вы пишите — не то, что Вам надо. Но проверяете это в нескольких системах. Зачем? Не проще ли поставить вопрос иначе:
    Мне нужно посчитать матричную экспоненту в системе Абвгд. exp(A) выдаёт поэлементную экспоненту. Помогите, пожалуйста.


Добавлено спустя 6 минут 25 секунд:

Ленивый гуглинг выдал ссылку. Читайте…Особенно про режим domxexpt.

 
 
 
 
Сообщение15.12.2007, 00:18 
Я знаю, что, например, maxima считает A^k поэлементно. Но нигде не указано (по крайней мере я не увидел), что она считает поэлементно как случай exp(A), так и случай %e^(A). А поэлементное вычситывание я засёк уже в процессе. И не совсем уверен, что прога должна так считать (даже не одна) во всех рассмотренных мною случаях.

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

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

P.S. К чему вот это " :evil:" ???

Добавлено спустя 21 минуту 47 секунд:

Наверное можно закрыть дискуссию.

В максиме пришлось получать символьный результат через жорданову форму. А вот в сайлабе всё таки нашёл нужную функцию вычисления матричных экспонент. Жаль, что только численно умеет. Ну да ладно.

Добавлено спустя 3 минуты 6 секунд:

domxexpt не подходит. Пробовал уже.

 
 
 
 
Сообщение15.12.2007, 02:09 
Аватара пользователя
:evil:
kompas писал(а):
Собственно, спросил разъяснений, кто знает.

А разъяснений чего Вы спросили?!

kompas писал(а):
Но нигде не указано (по крайней мере я не увидел), что она считает поэлементно как случай exp(A), так и случай %e^(A).

Это вполне возможно. Но возможно также, что в описании написано об семантической эквивалентности операторной и функциональной записи. В этом случае явно оговаривать поведение %e^(A) никто не будет.

kompas писал(а):
И не совсем уверен, что прога должна так считать (даже не одна) во всех рассмотренных мною случаях.

Должна — это вопрос сложный. Разработчики пакетов по необходимости идут на компромиссы, пытаясь получить логичную и предсказуемую систему. В частности, таким компромиссом определяется работа с матрицами. Собственно, ключевой вопрос здесь — как сообщить пакету, что Вы именно работаете с матрицей, а не с 2-мерным массивом. Судя по ссылке, которую я Вам дал, у Maxima это определяется режимом (option).

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group