Список встроенных функций достаточно велик. Более того, используя дополнительные пакеты данный список можно расширить. Имена функций в пакетах символьных вычислений максимально приближены к стандартным математическим именам. Например, sin, cos, tan, exp, ln, GAMMA, Zeta, или binomial.
Список всех основных функций смотри в inifcns.
Самые важные функции в пакетах символьных вычислений связаны не столько с математикой, сколько с проблемой общения пользователя и компьютера.
В пакете Maple это функции:
· simplify - упростить выражение,
· factor - факторизовать,
· expand - разложить ( раскрыть все скобки),
· normal - привести выражение к "нормальному" виду,
· convert - переписать в заданном виде,
· coeff - выделить коэффициенты полинома,
· collect - собрать вместе части выражения.
Пока мы достаточно грубо описали эти функции. Используя их в дальнейшей работе, мы более детально изучим их свойства.
Слово "упрощение" допускает множество интерпретаций. Очевидно, что запись (x-1) более "простая", чем (x^2-1)/(x+1), но является ли выражение x^999 - x^998 + x^997 - ... -1 более простым, чем (x^1000-1)/(x+1) .
На практике каждому пользователю хочется большего, и именно здесь включается в игру субъективность.
Пример 5 (что такое "просто").
Рассмотрим выражение
> x^100-1; simplify(");
Вид этого выражениея "прост" и для компьютера и для пользователя.
Разложим этот полином на множители
> factor(x^100-1);
и попробуем упростить
> simplify(");
Как видно, это выражение так же "просто" для компьютера как и прежнее.
Но если вы получите это выражение в результате своих вычислений, то вряд ли
вид этого выражения удовлетворит вас. Чтобы упростить данное выражение раскроем все скобки
> expand("");
Данный пример показывает, что даже получив правильный ответ с помощью компьютера, вы должны еще уметь представить его в удобном для пользователя виде.