### 5.17.1 Functional derivative : function_diff

function_diff takes a function as argument.
function_diff returns the derivative function of this function.
Input :

function_diff(sin)

Output :

(‘ x‘)->cos(‘ x‘)

Input :

function_diff(sin)(x)

Output :

cos(x)

Input :

f(x):=x`^`2+x*cos(x)
function_diff(f)

Output :

(‘ x‘)->2*‘ x‘+cos(‘ x‘)+‘ x‘*(-(sin(‘ x‘)))

Input :

function_diff(f)(x)

Output :

cos(x)+x*(-(sin(x)))+2*x

To define the function g as f′, input :

g:=function_diff(f)

The function_diff instruction has the same effect as using the expression derivative in conjunction with unapply :

g:=unapply(diff(f(x),x),x)
g(x)

Output :

cos(x)+x*(-(sin(x)))+2*x

Warning !!!
In Maple mode, for compatibility, D may be used in place of function_diff. For this reason, it is impossible to assign a variable named D in Maple mode (hence you can not name a geometric object D).