2014 dxdy logo

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

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




 
 упрощение
Сообщение23.11.2006, 21:15 
Дорогие эксперты!

В Mathcad есть команда меню simplify, которая из строки
Код:
(x-3y-xy)2+3

порождает строку
Код:
2x+6y-2xy+3

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

 
 
 
 
Сообщение23.11.2006, 21:23 
Аватара пользователя
Думаю, стоит поискать по словосочетанию "Обратная польская запись", по крайней мере такого рода примеры упростить удастся.

 
 
 
 
Сообщение23.11.2006, 21:32 
Аватара пользователя
В приведенном примере просто делается умножение полинома на константу (и приведение подобных).
Вообще у каждого объекта (например, полинома) есть некая определенная каноническая форма. Команда simplify в мат.пакетах обычно приводит данный объект к канонической форме.

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

А вообще, если вас интересует компьютерная алгебра - почитайте вот это, например: Computer Algebra I и Computer Algebra II.

 
 
 
 
Сообщение23.11.2006, 21:34 
Аватара пользователя
maxal писал(а):
Команда simplify в мат.пакетах обычно приводит данный объект к канонической форме.

Обратная польская запись этого, увы, не сделает, но позволит раскрыть все скобки в выражении.

(Хотя там все равно придется сочинять дополнительный алгоритм. Она лишь позволит представить (x-3*y-x*y)*2+3 в виде x3y*-xy*-2*3+, возможно, эту строку будет проще обработать. В любом случае, ничего другого не посоветую)

 
 
 
 
Сообщение23.11.2006, 22:40 
Аватара пользователя
:evil:
Дополняя maxal: ключевые слова — «символьные вычисления», «symbolic computations». Из книг — кое что есть в «Интегрирование алгебраических функций» Дж. Давенпорта.

 
 
 
 
Сообщение23.11.2006, 22:48 
Аватара пользователя
незваный гость писал(а):
Из книг — кое что есть в «Интегрирование алгебраических функций» Дж. Давенпорта.

У Давенпорта есть другая книга:
Давенпорт Дж., Сирэ И., Турнье Э. Компьютерная алгебра. Системы и алгоритмы алгебраических вычислений. М: Мир, 1991.

 
 
 
 
Сообщение24.11.2006, 17:20 
Спасибо. Скачал руководства по компьютерной алгебре, начал разбираться :)

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


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