4
$\begingroup$

Here is a simple test function

test[n_] :=
  Module[{i = 0}, Total[Nest[{++i, #}&, {0}, n], -1]]

On my system V9.0.1 running OS X 10.6.8 and with a clean kernel, the following works

Timing[test[26198]]
{0.106564, 343180701}

but then immediately evaluating

Timing[test[26199]]

fails. I get a beep and Help > Why the Beep?... shows

alert.png

Can anybody verify this on another system different from mine? Can you cast any light on why it happens? I will submit a bug report to WRI if this is not just peculiar to my system.

$\endgroup$
  • $\begingroup$ Both work fine here: mac os 10.9, Mathematica 9.01. $\endgroup$ – bill s Nov 16 '13 at 3:46
  • 1
    $\begingroup$ Crashes without Timing too, but the number at which it crashes varies a bit. test[21820] crashes sometimes, but if it doesn't crash on first-run it can be evaluated seemingly endless amount of times without crashing. $\endgroup$ – ssch Nov 16 '13 at 12:41
  • 4
    $\begingroup$ You are blowing up the subroutine stack. Whether this is a consequence of evaluation semantics, or vagary of (mis?)implementation of Nest, I do not know. $\endgroup$ – Daniel Lichtblau Nov 16 '13 at 23:27
  • 1
    $\begingroup$ You can submit it. But the fact is I do not know at this time whether it is a bug or a fact of evaluation semantics. If the latter, there won't be much to be done about it. Time permitting, I hope to look into that next week. $\endgroup$ – Daniel Lichtblau Nov 16 '13 at 23:42
  • 2
    $\begingroup$ I looked some more. The issue is that Total is implemented by recursion. This could be done differently (many things could be done differently...) and I imagine a suggestion will be, or has been, filed to this effect. Not sure if/when it might be acted upon. I'd suggest using Flatten first since that one is not done by recursion (not since version 3.0, at any rate). $\endgroup$ – Daniel Lichtblau Nov 20 '13 at 17:48
2
$\begingroup$

I reported my problem to Wolfram Research technical support. Here is a slightly edited version of the reply I received.

... I tried the same command with larger value[s] of n and the crash could be reproduced with Total applied. Indeed, this number seems to be system dependent. I tested it on several different machines and got different thresholds of n.

...

Regarding this, I will file a report so the developer who is responsible for the function Total will notice the issue.

I think this issue can be marked with .

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.