Re: Trying to define: Fractional Derivatives & Leibniz' display form for output and templates
- To: mathgroup at smc.vnet.net
- Subject: [mg22811] Re: Trying to define: Fractional Derivatives & Leibniz' display form for output and templates
- From: "Mike Honeychurch" <m.honeychurch at sci.monash.edu.au>
- Date: Fri, 31 Mar 2000 01:01:14 -0500 (EST)
- Organization: Monash Uni
- References: <8bhvta$noq@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Here are a couple of methods that work on data sets (two column)...you can modify them to make them functions if you want to call them regularly. For a 0.5 integral this works (but is procedural and slow) Table[data[[k,i]], (0.5/Sqrt[Pi])*Sum[((data[[i-1,2]]+data[[i,2]])/Sqrt[k-i+0.5]), {i=2,k}],{k, 2, Length[data]}] It is straightforward to convert this to an integral between 0 and 1 if you have the definition of the fractional derivative-integral handy. Here is a functional method which is very quick but unfortunately is for 0.5 integral only (one column evenly spaced data): y1=Table[1/Sqrt[Length[data]-i+0.5, {i,Length[data], 2, -1}] y2=ListCorrelate[{1,1},data]; ListConvolve[y1,y2,{1,1},0] To perform fractional derivatives or integrals (same thing) on functions it is should also be straight forward. I'm not a mathematician so in what follows the terminology might be a tad dodgy. I don't have the texts in front of me but from memory the fractional calculus is pretty much just a type of convolution integral with a 1/gamma function out the front (I'm a chemist but you know what I mean!). It should be possible therefore to define something like: f[x_, y_,n_]:=1/Gamma[...]*Integrate[x[t-z]^n*y[z], {a,b}] My apologies if my memory of what occurs within the integral is rusty but I hope this will point you in the right direction. I am actually going to be sitting down (in the next month or so) to write something to solve some diffusion problems so if you email me I'll forward what I have when I have it. cheers Mike Honeychurch m.honeychurch at sci.monash.edu.au Kai G. Gauer <gauer at sk.sympatico.ca> wrote in message news:8bhvta$noq at smc.vnet.net... > Hi > > (Please note that D[f, x, .5] does not work well at all!) > > I am trying to define what is called a fractional derivative form of > a derivative that Mathematica can use when called upon. These fractional > derivatives can sometimes be useful in solving differential equations > (but I'll leave you to read up further on the subject, if interested). > they take on the form: > k > d (f[x_]) | > ---------- | > k | > (dg[x_])^ | x=c, c a constant > > (my bad attempt at imitating texform output...apologies) > Note that c is required to be known if we also wish to define the > operator for negative values of k (corresponds to integrating n times > and getting F[y_,n_]=nth Integral[f[x] dx, integration limits being c > and y] ). You can also assume that I won't normally be looking at "ugly" > functions such as the Dirichlet example (under normal circumstances). > > How, for instance, can I create an operator for Mathematica which will > accept something like: > D[f[x], x, c, n_] (to have options of staying evaluated and/or > unevaluated and display out to the user in a Leibniz-like notation in > the same way that we get a nice vector/MatrixLike notation using > MatrixForm... I don't want the d <subscript..of x> (f[x]) form to > appear, rather, I'd prefer my style notation as above...inputform should > be inputted from a clickable palette in such a way that I only have to > TAB thru my options.. sort of like the current Integrate button). > > A particular function, f, in question, might be something such as Sin[pi > x]. I wish to take the following: in any order, D^1/2 [f1], D^1/3 [f2], > and D^1/6 [f3]. The idea is that since 1/6+1/2+1/3=1/1, we should get pi > Cos[pi x], no how we order our composing of f1, f2 & f3. For instance, > D^m[D^n[f]] = D^(m+n)[f]. When doing so, we will also get the factorial > function showing up, so we should maybe name it gamma instead... (given > that we only have integers and Euclidean divisions (in an angular sense > (multiples of a half), we can approximate many non-rational numbers by > simply observing that the representation of 1/3= 1-1/2+1/4-1/8+-+- (keep > only absolute converging sums; they tend to go to exactly one number, > even after rearrangement of terms) as strictly powers of a half => other > infinite series representations of some irrational numbers could also be > easily approximated by this method (simply union1/3's approximation into > your selection of numbers).... I mention this only because the gamma > duplication formula seems to prefer to give nicer constants if we have > powers of a half). Also, some of the preferred choices of the constant c > are -oo ,oo, -1, 0,1...but you could also pick something like pi^3 (this > is only done to keep the integral from being definite until after we > plug in a y-value). > > I don't really care too much about convergence issues...as long as the > can be approximated if I'd try to ever Plot[D[x,n],{n,0,1}]. Speed isn't > really the issue; I'd just like to be able create and easily work with > extra symbols and (if necessary) some not-so high precision numbers.... > more interested in how such a plot would behave, not issues such as > spitting out the infinite series expansion of D^1/3[sin[x],x] to order > of fifty or 500 or more.... > > Please also note that I do not wish to limit my definition of fractional > derivative to only the sine fcn (I'd like to try various combinations of > Legendre and Bessel polynomials, exponential series, and double check > that forms such as the constant functions are also differentiating > properly...constants should always go to zero, I would think that > D^(m+1) [E^x (+c)] = D^m [E^x], for all m in Z (or Q or R or > Complex...not certain whether this is true), similarily D^(m+2) [+/- > E^-x (+/- E^+x +c)] = D^m [+/- E^-x (+/- E^+x +c)], ie .... e^x has > smallest differential period of 1, +/- e^-1 has smallest differential > period of 2, the sine & cosines functions have a smallest differential > period of 4, what other functions have other differential periods? This > is all assuming that I've been reading up on some of this stuff > properly.....) > > I would like to have the option of being able to do a sort of > step-by-step evaluation (so please don't rely on numerical approximation > methods only) with the ability to easily simplify out constants of root > pi, and other combinatorial constants of favourite to mathematicians. > I'm mainly looking for symbolic flexibility, not speed, and the ability > for the operator to imitate the classical derivative notation, but only > numerically AFTER I've done my symbolic evaluation. > > Thanks for any help that somebody may be able to offer..... (the > interested reader could probably find enough definitions of what he > needs in the CRC engineering tables, available in most libraries.... I > also have 1 or 2 references) > >