fracdiff - Maple Programming Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Mathematics : Calculus : Differential Calculus : fracdiff


Fractional order differentiation


Calling Sequence





Calling Sequence

fracdiff(f, x, ν, method = mth, methodoptions = mthopts)




algebraic expression






real number, or a name representing a real number, not an integer



(optional) method of calculation, can be direct (default), laplace or series



(optional) list of options for the specified method of calculation



Given an algebraic expression, f, fracdiff computes the νth derivative of f with respect to x, where ν is not an integer. For integer (_nu_) order differentiation use diff - see also symbolic integer order differentiation.


By default, the direct method is used to calculate the fractional derivative using the Davison-Essex (D-E) definition, that is, first differentiate n times, then integrate n-ν times, where n = ceil(ν), using the standard formula for iterated integrals. The resulting D-E definition of fractional derivative is

diff(f(x),[x$nu]) = 1/GAMMA(n-nu)*Int((x-t)^(n-nu-1)*diff(f(t),[t$n]),t = 0 .. x);



where (see ceil) ν <= n. This definition handles differentiation orders ν > -1, and for integer values of ν it is valid only in a limiting sense.


In the literature, the term fractional derivative is sometimes reserved for the Riemann-Liouville (R-L) fractional derivative, defined by

diff(f(x),[x$nu]) = 1/GAMMA(n-nu)*Diff(Int((x-t)^(n-nu-1)*f(t),t = 0..x),[x$n]);



The Davison-Essex and the Riemann-Liouville definitions are different in the following aspect: in the D-E formula, differentiation is performed first, then integration; in the R-L formula it is the other way around. The D-E definition implemented, thus, maps constants to zero, imitating integer order differentiation, while the R-L definition does not. This property of the D-E definition makes it suitable to work with initial value problems for fractional differential equations.


The laplace method calculates the Davison-Essex derivative via the Laplace transform. This method will not accept a symbol or name representing an unspecified real order of differentiation, unless assumptions are made about the symbol ν that allow the routines to deduce the numerical value of n = ceil(ν). The routines will attempt to calculate the derivative for any non-integer real-valued order.


The series method will calculate the derivative by first expanding the expression into a power series. If any term in the returned series is not of the form constant*(name - a)^constant, an error message will be returned. The terms are then differentiated using a simplified case of the Davison-Essex formula (where the function being differentiated is a monomial). The optional parameters for this method, to be specified in mthopts, are about=a and order=o, where a specifies the point about which to expand the series and o specifies the accuracy or order of the series. a defaults to 0 and o defaults to Order, the default order for series.


If ν is a negative number, integration is performed on the terms in the series. This method accepts symbolic values of ν, and returns a formula for the ν-th derivative. However, the values returned by this series approximation will become less accurate as ν increases, because terms that should normally be eliminated by differentiation will not be.


As is the case of the integer order derivative of a constant, the fractional order derivative of a constant is zero unless the differentiation order ν is zero.

For example, take f=1 in the Davison-Essex definition implemented in Maple, and compute the value at ν=0

diff(f(x),[x$nu]) = 1/GAMMA(n-nu)*int((x-t)^(n-nu-1)*diff(f(t),[t$n]),t = 0 .. x);



val := eval((3), f=1) assuming n>=nu;



eval(val, nu=0);



Note that in the left-hand side the computation was performed assuming that ν is an integer (see diff,symbolicorder). Recalling that n = ceil(nu), at ν=0 (ν an integer) the D-E definition is valid in a limiting sense

limit((5), n=0);



For ν > -1 and not an integer, the D-E fractional derivative of a constant is equal to zero. For example, for ν = 1/2, the right-hand side of val above becomes

limit(eval(rhs(val),nu=1/2), n=ceil(1/2));



The fractional derivative of order 1/2 of the cosine function

fracdiff(cos(x), x, 1/2);



For some cases, as the first in this block, the result can only be approximated (series method)

fracdiff(sin(y), y, -6/5);

Error, (in fracdiff) parameter -6/5 is <= -1

fracdiff(sin(y), y, -6/5, method=series);



fracdiff(ln(x+1), x, 2/3, method = series, methodoptions = [about = 2, order = 4]);



fracdiff(exp(y), y, 4/5, method=series, methodoptions = [order = 12]);



The routines have limited ability to deal with symbolic fractional order; mainly they need to know the ceiling (least integer upper bound) for the order.

assume( alpha <= 1 );

additionally( alpha > 0 );

assume( m > 0 );

fracdiff( x^m, x, alpha, method = laplace );



fracdiff( x^m, x, alpha);



This example also shows the simplified case of the Davison-Essex formula used to calculate the derivatives of the monomials in the series method.



Benghorbal, M. Power Series Solution of Fractional Differential Equations and Symbolic Derivatives. PhD Thesis, University of Western Ontario, Canada, 2004.


Davison, M., and Essex, G. C. "Fractional Differential Equations and Initial Value Problems." The Mathematical Scientist, (December 1998): 108-116.


Liouville, J. Collected Works.

See Also