LeafCount and ByteCount Lie in Mathematica

42 views
Skip to first unread message

Richard Fateman

unread,
May 4, 2014, 2:28:55 AM5/4/14
to
Mathematica 9.0 .. on a 32 bit windows machine.

f[n_] := Block[{k = f[n - 1]}, {k, k}]
f[0]=x

LeafCount[f[k]] for particular small integers k
returns the number 2^(k+1)-1. e.g. for k=3, it returns 15.

But it returns the same answer for k=30, 31, ....
It returns 2147483647, which, probably not coincidentally, is 2^31-1.

ByteCount has a similar problem in running out of bits in
its counter.

Anyway, ByteCount also lies in a different way...
because it doesn't take into account the
sharing that (say) f[70] has. Without the sharing
implicit in the formula above, I could not compute that --
it has 2.36 X 10^21 leaves. They are just not different leaves.

I would expect that a 64-bit system might work for k=31,
but would conk out somewhere else.

Reply all
Reply to author
Forward
0 new messages