Это не просто попытка украсть репутацию Кена. Я не помню, какова была первоначальная мотивация Маккарти для создания Lisp. Но это, безусловно, подходит для компьютерной алгебры, включая дифференцирование и интеграцию.
Причина, по которой я публикуюсь, заключается в том, что автоматическое дифференцирование используется для обозначения чего-то иного, чем дифференциация символических выражений. Используется для обозначения написания функции, которая вычисляет производную другой функции. Например, для данной программы на Фортране, которая вычисляет f(x)
, инструмент автоматического дифференцирования напишет функцию на Фортране, которая вычисляет f'(x)
. Конечно, одна из техник состоит в том, чтобы попытаться преобразовать программу в символьное выражение, затем использовать символьное дифференцирование, а затем снова преобразовать полученное выражение в программу.
Первым из них является хорошее упражнение в символьных вычислениях, хотя оно настолько хорошо проработано, что не может быть хорошим выбором для курсовой работы. Второй - активный фронт исследований, и ОП должен быть осторожен, чтобы не откусить больше, чем он может жевать. Однако даже ограниченная реализация будет интересной и сложной задачей.