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