fractional derivatives and integrals?



Richard Fateman said:     (by the date of Sun, 14 Mar 2010 08:17:23 -0700)

> It is possible to write programs to do fractional derivatives, but the 
> general idea has not caught on, in spite of a substantial history and
> I think a (small?) group of enthusiasts.  It is a kind of alternative 
> notation for (some?) special functions.  An excellent survey of
> results was published in SIAM review, 1976 by Lovoie. It contains many 
> interesting results, some of which can be immediately inserted into Maxima
> (and were the basis of a student project,using Macsyma, at Berkeley, 
> years ago.)
> 
> As I recall there are some glitches that have to be overcome, such as a 
> disagreement about the definition of some forms, because
> consistency between   x^n   and exp(x) is problematic.

yes, x^n is in range from 0 to x, while exp(x) is in range from -inf to x.

> I think it is fair to say that fractional derivatives are not in Maxima 
> because they haven't been found to be useful, at least yet.
> Not that they present any great difficulty.

Thank you very much for an in depth answer. I am still learning
maxima right and so I have a more technical question. How should
I properly implement Riemann Liouville integral? I want to do this
in order to examine the behaviour depending on the changing the input
function f(x).

So R-L integral is a function which takes another function as an
input. So, based on my currently limited knowledge I am doing it this
way:

1st define some function which  I want to analyse:

(%i1) fx(x):=x^2;

2nd: copy paste my definition of Riemann Liouville integral and
observe the resultant function:

(%i2) define(Riemann_Liouville_fractional_integral_left_sided(fx,a_plus,alfa), (1/gamma(alfa))*integrate(fx(t)/(x-t)^(1-alfa),t,a_plus,x));

it asks me a bunch of questions about a_plus and alfa (a_plus is the
left sided range and alfa is the order of integral) and finally it shows
some quite complicated result.

Then I want to plot this function, for alfa=0.5, so first I define it:

(%i3) F(x):=Riemann_Liouville_fractional_integral_left_sided(fx,0,0.5);

Then I plot it:

(%i4) plot2d([F(x)], [x,-5,5])

I see that it sort of works. I wonder if I can make this a little
simpler using maxima's powerful language?

thanks a lot for your help
-- 
Janek Kozicki                               http://janek.kozicki.pl/  |