Re: Piecewise bug in Mathematica 8.01?

*To*: mathgroup at smc.vnet.net*Subject*: [mg123124] Re: Piecewise bug in Mathematica 8.01?*From*: Daniel Lichtblau <danl at wolfram.com>*Date*: Thu, 24 Nov 2011 06:55:06 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <201111231209.HAA15055@smc.vnet.net>

On 11/23/2011 06:09 AM, Dario wrote: > Hello everyone > > I'm currently simulating some turbulent processes that incorporate a > large number of random steps. > I used Mathematica's 8.01 Piecewise to produce a function that has > different (random) values at different times. This function is then > used to calculate some differential equations. > Through some debugging I figured out that there is something wrong > with Mathematica's Piecewise when a large number of intervals is used. > Here is the isolated piece of code that I use to generate the random > values function. > > ****************************************************************** > list3 = {}; > list4 = {}; > j = 0; > Maxt = 40000; > dt = 1; > list3 = Table[RandomReal[{0.01, 0.03}], {i, 0, Maxt, dt}]; > list4 = Table[j< t<= j + dt, {j, 0, Maxt, dt}]; > anoise = Thread[{list3, list4}]; > a = Piecewise[anoise]; > Plot[a, {t, 0, Maxt}] > ***************************************************************** > > The problem I detected has to do with the number of intervals that > Piecewise uses, in this specific case is defined by Maxt. > If Maxt is bigger then 45000 then Mathematica crashes and all values > in memory are lost. > I've tried this in different PCs with different OS (Windows 7 and > Linux) and the same thing happens. > I've also tried to play around with $MaxPiecewiseCases but still no > luck. > Does someone has any idea what might be causing this? > > Best Regards > D=E1rio Passos > This much is fine. Maxt = 40000; dt = 1; list3 = Table[RandomReal[{0.01, 0.03}], {i, 0, Maxt, dt}]; list4 = Table[j < t <= j + dt, {j, 0, Maxt, dt}]; anoise = Thread[{list3, list4}]; a = Piecewise[anoise]; This next blows up the recursion stack in trying to produce a compiled function for fast evaluation. Plot[a, {t, 0, Maxt}] I do not know if this is a bug or a feature. I sent it to a couple of colleagues for further comment. Daniel Lichtblau Wolfram Research

**References**:**Piecewise bug in Mathematica 8.01?***From:*Dario <dariopassos@gmail.com>