Посмотрите на следующие две последовательности из двух команд. Они одинаковы с точностью до выбора переменной a или z, но версия с a выдает ошибку, а функция с z — нет. Первый запуск (после перезапуска максимы):
declare(a,constant); polynomialp(x^2+x+1/a,[x]);
Теперь замените a на z и при запуске не будет ошибки (после перезапуска maxima):
declare(z,constant); polynomialp(x^2+x+1/z,[x]);
В случае с переменной a сообщается об ошибке:
define: in definition of dotproduct, found bad argument a
-- an error. To debug this try: debugmode(true);
Как ни странно, после повторного запуска второй команды первой последовательности ошибка не повторяется.
Приведенный выше код был запущен на версиях Maxima 5.30 и 5.39.