Для создания функций с производными может также использоваться дифференциальный оператор D. Порою, он позволяет создавать более компактные выражения, чем функции diff и Diff. Дифференциальный оператор можно записывать в следующих формах: D (f) или D[i](f), где параметр f — выражение или имя функции, i — положительное целое число, выражение или последовательность. Оператор D (f) просто вычисляет имя производной от f, поскольку в этой форме он эквивалентен.
unnaply (diff (f (x), x), x).
В форме D (f)(x) этот оператор подобен diff (f (x), x).
Приведем примеры дифференцирования функций, заданных только именами, и функций с одним параметром.
> D (sin);
> D (cos2);
> D (exp2+cos2+tan);
> D (sin)(x)=diff (sin (x), x);
> D[1](sin*cos);
Следующий пример показывает дифференцирование функции пользователя fun с применением дифференциального оператора D и функции diff.
> fun:=(x)->sin (x2);
> D (fun)=diff (fun (x), x);
Дифференциальный оператор можно применять и для дифференцирования функций нескольких переменных по заданной переменной.
> fun:=(x, y, z)->x*exp (y)+ln (z);
> D[1](fun).
Warning, inserted missing semicolon at end of statement, D[1](fun);
> D[2](fun).
Warning, inserted missing semicolon at end of statement, D[2](fun);
> D[3](fun).
Warning, inserted missing semicolon at end of statement, D[3](fun);
Ряд интересных возможностей по вычислению производных предоставляет пакет расширения student.