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





Вот одна ссылка из Википедии: Системы компьютерной алгебры
И еще здесь: http://www.math.wpi.edu/IQP/BVCalcHist/calc5.html
Я нашел Алгоритмы компьютерной алгебры К.О. Геддес ... быть очень полезным. Я младший бакалавр со слабым математическим образованием и работаю над OpenAxiom (CAS). Однако будьте готовы к тяжелой математике, мой лучший совет - иметь пару книг, хотя бы для того, чтобы иметь другую точку зрения, если вы "застряли".
Это может помочь, если вы предложите, что вы изучаете, какие области вам интересны и т. д.
«Общая теория» CAS - довольно обширный вопрос. При этом я сделаю все возможное, чтобы охватить как можно больше в надежде, что что-то поможет вам найти то, что вы ищете :)
В трудах групп ISSAC и SIGSAM, без сомнения, есть кое-что хорошее о методах построения систем CAS. Список различных тем в общей области построения CAS доступен здесь: http://www.cs.berkeley.edu/~fateman/algebra.html
Если вы больше ищете информацию о том, как кодировать некоторые математические операции, я поклонник серии «Числовые рецепты»; он предоставляет образец кода и достаточно приличное объяснение математики по широкому кругу вопросов. Последнее, что я проверял, онлайн-версия более старой редакции книги была доступна здесь: 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
Надеюсь, что там было что-то полезное!
Основы хорошо описаны в PAIP; исходный код - бесплатно онлайн - см., в частности, исходные файлы с «macsyma» в названии. Темы включают системы правил перезаписи, упрощение с использованием канонических форм, интеграцию и дифференциацию, а также компиляцию и запоминание правил перезаписи для ускорения.
Вы упомянули SymPy в своем вопросе, поэтому я кратко об этом скажу.
Проект и сообщество SymPy сами по себе являются очень хорошими ресурсами.
Если вас интересуют CAS, приходите. Авторы любят рассказывать о том, над чем они работают. Если вам интересно, это легко начать и добавьте свой вклад.
Вот две книги, в которых описаны алгоритмы, используемые для реализации систем компьютерной алгебры:
Компьютерная алгебра и символьные вычисления: элементарные алгоритмы
Компьютерная алгебра и символьные вычисления: математические методы
Я использовал эти книги для реализации библиотек компьютерной алгебры на схемах (MPL) и C# (Символизм).
Спасибо за информацию, я проверю ссылки и, возможно, приставлю к вам для получения дополнительной информации в будущем.