MathGroup Archive 2006

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

Search the Archive

Re: New Analytical Functions - Mathematica Verified

  • To: mathgroup at
  • Subject: [mg66827] Re: [mg66736] New Analytical Functions - Mathematica Verified
  • From: Daniel Lichtblau <danl at>
  • Date: Wed, 31 May 2006 06:31:48 -0400 (EDT)
  • References: <>
  • Sender: owner-wri-mathgroup at

Mohamed Al-Dabbagh wrote:
> Abstract: An attempt was made to analytically describe some basic
> functions which are provided with the libraries of mathematical
> functions of programming languages. This study will rely on Mathematica
> in calculating all numerical results. This study provides global
> methods to calculate some discrete functions, which were previously
> calculated by using low-level language techniques to chop digits. Using
> these definitions we can simulate digital signals without the need for
> IF statements and conditions.
> A comparison were made between the formulas provided by this study and
> some functions provided by Mathematica such as FractionalPart function
> that converges very slowly or does NOT converge at all to correct
> results. The formulas derived herein were applied to complex numbers
> and some interesting results were obtained, such as the integer part of
> a complex number equals the Floor of its real part, and will be without
> imaginary part, i.e. the integer part of a complex number is a real
> number!
> Mohamed Al-Dabbagh

I'll point out some things with regard to your reformulation of a 
sawtooth in terms of elementary functions. It is not hard to define the 
derivative of FractionalPart as 1, and this is a.e. correct, that is, 
correct except at jumps, where the derivative, strictly speaking, is not 
defined. So a question to ask is what do you want the derivative to do 
at such points? Your gPaper, shown below, will give an Indeterminate at 
x = 12 (which one might regard as a good thing). So if that is the 
behavior you want, well and good.

f[x_] := x^5

Fr[x_] := 1/2 - ArcTan[Cot[Pi*x]]/Pi

gPaper[x_] := Fr[f[x]]

If we simply do

Derivative[1][FractionalPart][x_] := 1 + DiracDelta[x-IntegerPart[x]]
Derivative[n_Integer /; n>1][FractionalPart][x_] := 0

gMath[x_] := FractionalPart[f[x]]

we'll get an exact result for gMath''[61/5] that agrees with yours 
numerically but is in vastly simpler form. We'll also get a rational 
result for gMath''[12] that might or might not be what you'd want.

Another possibility that might be useful when manipulating generalized 
functions would be to have the derivatives give a result that explicitly 
includes some sort of "delta function". One thing to note is this is now 
strictly a real line sort of derivative, useful for manipulating 
generalized functions on the reals. It is not a complex-analytic derivative.

Daniel Lichtblau
Wolfram Research

  • Prev by Date: How to display non contiguous datasets
  • Next by Date: RE: Product and Summation sign
  • Previous by thread: New Analytical Functions - Mathematica Verified
  • Next by thread: Discrete Functions... Signal Simulation... A Study Using Mathematica