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/ |