MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: New Analytical Functions - Mathematica Verified

  • To: mathgroup at smc.vnet.net
  • Subject: [mg67009] Re: New Analytical Functions - Mathematica Verified
  • From: "Mohamed Al-Dabbagh" <mohamed_al_dabbagh at hotmail.com>
  • Date: Tue, 6 Jun 2006 06:29:50 -0400 (EDT)
  • References: <200605280104.VAA23436@smc.vnet.net> <200606011055.GAA20733@smc.vnet.net> <e5osg1$hvp$1@smc.vnet.net> <200606030726.DAA17310@smc.vnet.net> <e60our$gbv$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Daniel Lichtblau wrote:
> Mohamed Al-Dabbagh wrote:
> > Daniel Lichtblau wrote:
> >
> >
> >>They will change the behavior of its derivatives. Actually I think I did
> >>not want to use the DiracDelta component in that particular definition
> >>(or else to use further derivatives thereof in the definition for higher
> >>derivatives of FractionalPart).
> >>...........................
> >>...........................
> >>Did you try it?
> >>
> >
> >
> > Dan,
> >
> > Your usage of DiracDelta has made some remarkable correction for the
> > result, but on a very high cost of runtime! I have made some
> > experiments and wanted to publish them. You should remember that my
> > paper:
> >
> > http://dabbagh2.fortunecity.com/disc
> >
> > has proved that the derivative of the fractional part of any function
> > is the SAME as derivative of that function WITHOUT involving in the
> > calculation of fractional part!
>
> This is not exactly new. The function FractionalPart[f[x]] is
> differentiable wherever f[x] is differentiable except where it takes on
> integer (or, in the complex plane, Gaussian integer) values.
>
> At such points one might regard the derivative as undefined, or as a
> generalized function in terms of derivatives of delta functions,
> depending on the situation at hand. One often sees FractionalPart used
> for e.g. sawtooth waves, and in that setting a generalized function
> derivative is often appropriate.
>
>
> > When I used your improvement using Dirac Delta, a very substantial
> > improvement occurred on the numerical results. HOWEVER, this lead to
> > some very long delays. To the extent that calculating 5th derivative of
> > the FractionalPart(x^5) to 1000 places of decimal would take about ONE
> > HOUR!!!! Here are some results I arranged it in a page prepared for
> > you:
> >
> > http://dabbagh2.fortunecity.com/lichtblau/
> >
> > You will see how my formulas are A LOT faster.
> >
> >
> > Mohamed Al-Dabbagh
>
>
> First let me correct my derivatives (or at least post what I think are
> the correct ones).
>
> Derivative[1][FractionalPart][x_] := 1 - DiracDelta[x]
>
> Derivative[n_Integer /; n>1][FractionalPart][x_] :=
>    (-1)^n*Derivative[DiracDelta[x]]
>
> Now we use your function f.
>
> In[3]:= f[x_] := x^5
>
> In[4]:= gMath[x_] := FractionalPart[f[x]]
>
> In[5]:= InputForm[Timing[gMath''[12.2`400]]]
>
> Out[5]//InputForm=
> {0.003999999999999998*Second,
> 36316.95999999999999999999999999999999999999999\
> 99999999999999999999999999999999999999999999999999999999999999999999999999999\
> 99999999999999999999999999999999999999999999999999999999999999999999999999999\
> 99999999999999999999999999999999999999999999999999999999999999999999999999999\
> 99999999999999999999999999999999999999999999999999999999999999999999999999999\
> 99999999999999999999999999999999999999999999999999999999999998868`399.5228787\
> 4528037}
>
> So it takes a fraction of a second. Offhand I do not know why it appears
> to run so slow for you.
>
> Here is the result for the slightly more complicated example, both for
> evaluating second and fifth derivatives.
>
> In[8]:= f[x_] := x^5*Sin[x]^2
>
> In[10]:= InputForm[Timing[gMath''[12.2`400]]]
>
> Out[10]//InputForm=
> {0.*Second,
> 258282.7295151941533077499484389228239911198853695416606571789553\
> 97340348154747842920564555894547008803556440086166245643590282093764764200190\
> 36636044752758309971369144877274629804969160115275382411797649612521530487913\
> 14021423969924741654432978075641339718450969747617369938122882505861900120631\
> 23291336171292192057571061244505228564074008530150250653359154263365233552077\
> 75165520042239719014756718443621091152`398.1608559226428}
>
> In[11]:= InputForm[Timing[Derivative[5][gMath][12.2`400]]]
>
> Out[11]//InputForm=
> {0.064004*Second,
> -5.08650128579910493665046315290795289078198431826789276935\
> 82833885062256473165463289248429898024173337160137072344086983520144149450609\
> 25117527136634188560981519715993806959080731375558227844064929448344771904044\
> 99542455152362012447722945323920015084363270028976459194249211406113484752274\
> 39553483871787782701218811066558362577548299391921139619721479189052606484281\
> 5379262528773061529913587801452056996643588005`398.3053093021263*^6}
>
> At the bottom of your note you say: "Now you understand how powerful my
> formulas are compared to the existing ones you use in Mathematica."
> While I am at a loss to understand why the computations are so slow when
> you run them, I think you are vastly overstating the case here.
> Differentiation in Mathematica by default does but little with
> discontinuous functions such as FractionalPart. But as seen above a user
> can readily add derivatives to suit ones needs, and evaluations
> involving those derivatives seem (to me) to be reasonably fast.
>
> Daniel Lichtblau
> Wolfram Research

In this page:

http://dabbagh2.fortunecity.com/dirac/

you find the results for symbolic math when using the definition you
provided for the derivative of fractional part. The results shows
clearly how the matters become complicated as compared to using result
of my research when you use the simple derivative which is equal the
derivative of fractional part. 

Mohamed Al-Dabbagh


  • Prev by Date: Re: Re: Re: Simplifying algebraic expressions
  • Next by Date: Re: New Analytical Functions - Mathematica Verified
  • Previous by thread: Re: New Analytical Functions - Mathematica Verified
  • Next by thread: Re: New Analytical Functions - Mathematica Verified