Введение в системы компьютерной алгебры?

Кто-нибудь знает какие-либо ресурсы (книги, классы, лекции или что-либо еще) об общей теории систем компьютерной алгебры (например, математика, sympy)?

"Вводные" материалы предпочтительнее, но я понимаю, что с таким специализированным предметом все должно быть достаточно продвинутым.

Ответ 1

"Общая теория" CAS - довольно большой вопрос для вопроса. Это, как говорится, я сделаю все возможное, чтобы как можно больше охватить в надежде, что что-то поможет вам найти то, что вы ищете:)

В материалах групп ISSAC и SIGSAM, несомненно, есть некоторые хорошие вещи о методах построения систем CAS. Список различных тем в общей области здания CAS можно найти здесь: http://www.cs.berkeley.edu/~fateman/algebra.html

Если вы больше ищите информацию о том, как закодировать часть математики, я являюсь поклонником серии "Numerical Recipes"; он предоставляет пример кода и достаточно приличное объяснение математики по широкому кругу тем. Последнее, что я проверил, онлайн-версию более старой версии книги была доступна здесь: http://www.nrbook.com/a/bookcpdf.php (Обратите внимание, что это "Численные рецепты в C", а также версии на других языках).

Для создания CAS в целом одно место для запуска может быть здесь: "Создание среды компьютерной алгебры по составу инструментов совместной работы" Кайлера и Сафира; Другое место, которое вы можете проверить, находится здесь: http://www.math.wpi.edu/IQP/BVCalcHist/calc5.html, где перечислены описания на высоком уровне того, как несколько человек внедрили CAS.

Другая вещь, которую вы можете попробовать, - это погружение в код для нескольких существующих CAS-проектов с открытым исходным кодом: YACAS (еще одна компьютерная алгебраическая система: Java), Axiom и т.д. Мне нравится список здесь: http://en.wikipedia.org/wiki/List_of_computer_algebra_systems

Надеюсь, что-то там было полезно!

Ответ 2

Я нашел алгоритмы для компьютерной алгебры К.О. Геддес... будет очень полезен. Я младший студент с легким математическим фоном, работающим над OpenAxiom (CAS). Приготовьтесь к тяжелой тяжелой математике, хотя мой лучший совет - иметь пару книг, если только иметь другую перспективу, если вы "застряли".

Это может помочь, если вы предложите то, что вы ищете, какие области вам интересны и т.д.

Ответ 3

Основы хорошо описаны в PAIP; исходный код бесплатный онлайн - см., в частности, исходные файлы с 'macsyma' в названии. Темы включают системы rewrite-rule, упрощение с использованием канонических форм, интеграцию и дифференцирование, а также компиляцию и запоминание правил перезаписи для скорости.

Ответ 5

Вот две книги, в которых описываются алгоритмы, используемые для реализации систем компьютерной алгебры:

Компьютерная алгебра и символические вычисления: Элементарные алгоритмы

Компьютерная алгебра и символические вычисления: математические методы

Я использовал эти книги для реализации библиотек для компьютерной алгебры в Scheme (MPL) и С# (Symbolism).

Ответ 6

Вы упомянули SymPy в своем вопросе, поэтому я поговорю с этим кратко.

Проект и сообщество SymPy сами по себе являются очень хорошими ресурсами.

Если вы заинтересованы в CASs, пройдите. Участникам нравится говорить о том, над чем они работают. Если вам интересно, легко начать и добавить свои собственные вклады.