Q: Dickman function
- To: mathgroup at smc.vnet.net
- Subject: [mg20909] Q: Dickman function
- From: fgrieu at micronet.fr (Francois Grieu)
- Date: Sun, 21 Nov 1999 15:12:52 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
I'm trying to build the Dickman function, defined by
/1
F(x)=1 for x>=1 F(x)=1-| F(t/(1-t))/t dt for 0<=x<=1
/x
(ref: Knuth's TAOCP, vol 2, 4.5.4, p383 in third edition)
After a lot of trial and error, I came up with a tentative
minimal definition in Mathematica:
F[x_]:=F[x,Ceiling[1/x]-1]
F[x_,0]:=1
F[x_,n_]:=F[1/n,n-1]-Integrate[F[t[n]/(1-t[n]),n-1]/t[n],{t[n],x,1/n}]
This does works for x>=1/3 both numericaly and symbolicaly.
However both F[0.3] and F[1/4] give an imaginary component, which
is an 'obvious' nonsense; it's numerical value is vanishingly
small, but the expression of F[x,3] is so complex that even
FullSimplify won't cut it. And it's sooo long when x gets small.
More trial and error leads to
F[x_]:=F[x,Ceiling[1/x]-1]
F[x_,0]:=1
F[x_,1]:=1+Log[x]
F[x_,2]:=1-Pi^2/12+Log[x]+Log[x]^2/2+PolyLog[2,x]
F[x_,n_]:=F[1/n,n-1]-NIntegrate[F[t[n]/(1-t[n]),n-1]/t[n],{t[n],x,1/n}]
Extending the usable range to maybe x>=0.15, but I am afraid I won't
ever get F[0.1] that way.
Any clues ?
Francois Grieu