Function Resource

Function Repository Resource:

ConformableD

Source Notebook

Calculate the conformable fractional derivative

Contributed by: Naman T.

ResourceFunction["ConformableD"][f,{x,α}]

gives the conformal fractional derivative Tα(f)(x) of order α of the function f.

Details and Options

The conformable fractional derivative is a natural generic derivative on fractional orders introduced by Khalil et al (2014), see https://doi.org/10.1016/j.cam.2014.01.002 for details.
The basic definition is made on α[0,1) as follows: for x>0, which can then be easily generalised for any α[n,n+1), n natural.
ResourceFunction["ConformableD"][array,{x,α}] threads ResourceFunction["ConformableD"] over each element of array.
ResourceFunction["ConformableD"] takes different Assumptions on the parameters of the input functions.
All inputs free of the independent variable are treated as constants.

Examples

Basic Examples (6) 

Calculate the half-order conformable fractional derivative of a quadratic function with respect to x:

In[1]:=
ResourceFunction[
CloudObject[
  "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][x, {x, 1/2}]
Out[1]=

In general, for 0<α<1, we have:

In[2]:=
Assuming[
 {\[Alpha] \[Element] Reals, 0 < \[Alpha] < 1},
 Simplify@ResourceFunction[
CloudObject[
    "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][x, {x, \[Alpha]}]
 ]
Out[2]=

Arbitrary-order fractional derivative of a function in x:

In[3]:=
ResourceFunction[
CloudObject[
  "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][f[x], {x, \[Alpha]}]
Out[3]=

Plot these for f(x)=x2:

In[4]:=
Plot[Evaluate@Table[ResourceFunction[
CloudObject[
     "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][
    x^2, {x, \[Alpha]}], {\[Alpha], {0, 1/2, 9/10, 1}}],
 {x, 0, 1}, PlotLegends -> Thread[\[Alpha] == {0, 1/2, 9/10, 1}]
 ]
Out[4]=

Conformable fractional derivative of Sin:

In[5]:=
fr = Table[
  ResourceFunction[
CloudObject[
    "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][Sin[x], {x, \[Alpha]}],
  {\[Alpha], {1/2, 9/10, 2.5, 3.5}}
  ]
Out[5]=
In[6]:=
Plot[fr, {x, 0, 10 \[Pi]}]
Out[6]=

Conformable fractional derivative of MittagLefflerE:

In[7]:=
ResourceFunction[
CloudObject[
  "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][MittagLefflerE[a, x], {x, 0.8}]
Out[7]=

Conformable fractional derivative of JacobiSN at various values of m:

In[8]:=
Table[
 ResourceFunction[
CloudObject[
   "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][JacobiSN[u, m], {u, \[Alpha]}],
 {\[Alpha], 0, 1, 1/3}
 ]
Out[8]=

Conformable fractional derivative of some transcedental functions:

In[9]:=
ResourceFunction[
CloudObject[
  "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][{Exp[x], Log[x], Sinh[x]}, {x, \[Alpha]}]
Out[9]=

Scope (5) 

Conformable fractional derivative satisfies the product, quotient, and chain rules:

In[10]:=
ResourceFunction[
CloudObject[
  "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][f[x] g[x], {x, 1/2}]
Out[10]=
In[11]:=
ResourceFunction[
CloudObject[
  "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][f[x]/g[x], {x, 1/2}]
Out[11]=
In[12]:=
ResourceFunction[
CloudObject[
  "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][f[g[x]], {x, 1/2}]
Out[12]=

Conformable derivative of the power function with respect to x:

In[13]:=
ResourceFunction[
CloudObject[
  "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][x^n, {x, \[Alpha]}]
Out[13]=

For positive integral values of α, the conformable derivative coincides with the ordinary derivative:

In[14]:=
ResourceFunction[
CloudObject[
   "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][x^n, {x, 2}] == D[x^n, {x, 2}]
Out[14]=

Conformable derivatives of BesselJ function:

In[15]:=
ResourceFunction[
CloudObject[
  "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][BesselJ[\[Nu], x], {x, \[Alpha]}]
Out[15]=

Conformable fractional derivatives of MeijerG function are given in terms of multiple MeijerG functions:

In[16]:=
ResourceFunction[
CloudObject[
  "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][
 MeijerG[{{a1}, {a2}}, {{b1}, {b2}}, x], {x, \[Alpha]}]
Out[16]=
In[17]:=
FreeQ[%, MeijerG]
Out[17]=

Options (2) 

Assumptions (2) 

By default, no assumptions are considered:

In[18]:=
Simplify@ResourceFunction[
CloudObject[
   "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][x^5, {x, \[Alpha]}]
Out[18]=

Assuming 2<α<3:

In[19]:=
ResourceFunction[
CloudObject[
  "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][x^5, {x, \[Alpha]}, Assumptions -> {\[Alpha] \[Element] Reals, 2 < \[Alpha] < 3}]
Out[19]=

Applications (1) 

Solve the basic conformable fractional differential equation Tα(y)(x)=y(x):

In[20]:=
DSolve[
 ResourceFunction[
CloudObject[
    "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][f[x], {x, \[Alpha]}, Assumptions -> {\[Alpha] \[Element] Reals, 0 < \[Alpha] < 1}] == f[x],
 f[x], x
 ]
Out[20]=

Properties and Relations (2) 

ConformableD is defined for all positive and real values of α:

In[21]:=
ResourceFunction[
CloudObject[
  "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][f, {x, -1}]
Out[21]=

At the same time, α has to be real:

In[22]:=
ResourceFunction[
CloudObject[
  "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][f, {x, I}]
Out[22]=

The 0-order conformable fractional derivative of a function is not itself:

In[23]:=
ResourceFunction[
CloudObject[
  "https://www.wolframcloud.com/obj/namantaggar11/DeployedResources/Function/ConformableD"]][Sin[x], {x, 0}]
Out[23]=