2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Матричная экспонента ?
Сообщение14.12.2007, 22:53 


14/12/07
3
Добрый вечер.

Вот, что-то у меня ступор. Для решения своей задачки вычислял матричную экспоненту. Использовал 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 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Цитата:
Решил проверить, что она там считает.

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

 Профиль  
                  
 
 
Сообщение14.12.2007, 23:26 


14/12/07
3
Я это знаю.
Использовал не только exp(A), но и %e^(A). Результат у maxima и scilab аналогичен указанному мною выше. Или вы знаете другое решение??? :evil:

 Профиль  
                  
 
 
Сообщение14.12.2007, 23:47 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Я не знаю ни одну из используемых Вами систем. Сори.

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


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

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

 Профиль  
                  
 
 
Сообщение15.12.2007, 00:18 


14/12/07
3
Я знаю, что, например, maxima считает A^k поэлементно. Но нигде не указано (по крайней мере я не увидел), что она считает поэлементно как случай exp(A), так и случай %e^(A). А поэлементное вычситывание я засёк уже в процессе. И не совсем уверен, что прога должна так считать (даже не одна) во всех рассмотренных мною случаях.

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

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

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

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

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

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

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

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

 Профиль  
                  
 
 
Сообщение15.12.2007, 02:09 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
kompas писал(а):
Собственно, спросил разъяснений, кто знает.

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

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

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

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

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group