avoiding non-machine numbers
- To: mathgroup at smc.vnet.net
- Subject: [mg115541] avoiding non-machine numbers
- From: wpb <wicher.bergsma at gmail.com>
- Date: Fri, 14 Jan 2011 06:17:04 -0500 (EST)
By default, Mathematica switches to non-machine numbers when needed, eg, In[4334]:= Exp[-50.^2] Out[4334]= 1.835672669162*10^-1086 But this has a severe possible drawback in terms of computational speed. For example, the following is very quick In[4420]:= t = RandomReal[NormalDistribution[0, .1], 400000]; Exp[-t^2]; // Timing Out[4421]= {0., Null} but in the following computation non-machine numbers are generated, and we get an enormous decrease in speed: In[4422]:= t = RandomReal[NormalDistribution[0, 20], 400000]; Exp[-t^2]; // Timing Out[4423]= {1.25, Null} So is it possible to get a computation such as Exp[-50.^2] to evaluate to zero in a very fast way? That is, that small numbers outside machine-precision range evaluate to zero automatically? Thanks, Wicher