Знает ли кто нибудь как устроены внутри системы символьной математики. Как они берут производные, интегрируют и делают другие чудеса. Может есть какая нибудь ссылка, на объяснение принципов работы таких систем.
Вопрос из серии: "А знает ли кто, как устроены внутри программы? Как они выполняются, задают вопросы, выводят ответы и делают другие чудеса. Может есть какая нибудь ссылка, на объяснение принципов работы?"
Ну, посмотри на исходники любой опенсорс CAS (кстати, даже Редьюс доступен в исходниках!). Посмотри на GiNaC http://www.ginac.de/ -- вот уж совершенно простенькое поделие, сразу видно.
Есть _масса_ книг про компьютерную алгебру, кстати!
Хотя, наверное, надо все ж с истоков начинать, с Кнута...
Одна из первых (первая?) программа для symbolic integration - SAINT (http://portal.acm.org/citation.cfm?doid=321186.321193) эвристически применяла стандартные преобразования, пока не сводила к интегралу из введенной в нее таблицы. Потом появился детерминированный Risch Algorithm, вариации которого вместе с эвристическими методами используются в современных CAS.
Да, алгоритм Риша - это оно самое. Только сложный, зараза.
А символьное дифференцирование - вообще не требует особых специальных ухищрений - делается по свойствам производной. И таблицы производных элементарных функций.