2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 баг Maple?
Сообщение09.08.2007, 16:10 


22/04/06
144
СПб (Тула)
вчера провел незабываемые 5 часов, пытаясь разобраться, почему же программа для диссертации выдает неправильный результат для 1-й строки матрицы, и правильный для всех остальных (это для простоты, там конечно чтобы дойти до этого пришлось возиться). Вот две казалось бы эквивалентные записи одной функции:
Код:
f_1:=m->piecewise(m = 0, 2*Pi, Pi);
f_2:=m->`if`(m = 0, 2*Pi, Pi);


проверяем:
Код:
f_1(0);f_2(0);f_1(1);f_2(1);

дает $2\pi, 2\pi, \pi, \pi$ соответственно. Усложняем задачу:
Код:
eval(f_1(m), m=0); eval(f_2(m), m=0); eval(f_1(m), m=1); eval(f_2(m), m=1);

получяем $2\pi, \pi, \pi, \pi$. Обратите внимание, что eval(f_2(m), m=0) дает $\pi$. Более того, если записать f_2(m), где m - символьная переменная, а не число, то результат также будет равен $\pi$. В то же время запись f_1(m) дает $\left\{\begin{array}{l}2\pi, m=0\\ \pi, otherwise\end{array}$. Получается, что синтаксис с `if` не определяет символьного выражения, а работает как макрос, если используется с eval-ом. Что это такое? Это так задумано (тогда хотелось бы увидеть цитату из документации Maple), или это баг? Все примеры разбирал на Maple v. 10.

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


03/03/06
648
sadomovalex

Конструкция "if" всегда была очень интересной в Maple. От греха подальше я всегда старался пользоваться вот какой конструкцией, если аргумент численный, "if (eval(..)...)" хотя возможно это всего лишь подстраховка. Использовал и "if" для работы со строковыми переменными, например, поиск подстроки в строке, работает нормально.

Относительно Вашей проблемы, мне кажется, что все дело в аргументе eval(..).
Относительно багов: если я не ошибаюсь, то компания Waterloo за найденные 10 багов дарит официальную версию. Вам осталось 9. :)

 Профиль  
                  
 
 Ошибка в Maple 11
Сообщение15.02.2009, 21:33 


15/02/09
1
Kernel Connection Lost...
Как исправить данную ошибку?

 Профиль  
                  
 
 
Сообщение18.02.2009, 13:46 


07/12/08
32
Я читал где-то, что это бывает, если работаешь не в обычном режиме (как в версиях Maple до 10-й) - где просто пишешь текст, а в расширенной версии (где формулы изображаются как в книге)... может попробовать переключиться в другой режим?

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

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



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

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


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

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