Dr. Dobb's Python-URL! - weekly Python news and links (Mar 17)
staschuk at telusplanet.net
Thu Mar 20 21:06:09 CET 2003
Quoth mcherm at mcherm.com:
> Indeed... that's part of what I find interesting about it. Normality
> seems a sensible thing to define on numbers (and every definition I've
> seen so far has proported to define it as a property of numbers) --
> until you encounter this and realize it's REALLY a property of symbol
> sequences, which do NOT have a simple, obvious, one-to-one mapping
> to (all) real numbers.
Don't they? Provided we're speaking of positional systems with
integer base, of course. Just choose either infinite zeroes or
infinite (b-1)s. In either case, integers (and other numbers with
terminating expansions in base b) are not b-normal, so it doesn't
matter which; for purposes of determining normality, positional
systems *do* provide unique representations.
Regardless, I think getting integers to be normal in base 2
requires more work than simply counting both representations. If
I understand the concept correctly, normality requires not merely
equal distribution of each digit, but also equal distribution of
all 2-sequences of digits, 3-sequences of digits, etc.. *That* is
not achieved by simply counting both representations; instead you
need to mix them somehow, and the result of such a mixing would
not in general actually be a representation of the original
integer, as far as I can see.
> class IrrationalNumber:
> """Actual irrational numbers should subclass this and implement
> the iterDigits() method."""
I particularly like this line:
> if count != digitCount///Infinity:
I look forward to reading in the documentation of Python 4000 the
definition of this '///'.
(Incidentally, iterable numbers make good sense if you're using
Gosper's algorithms for continued (fraction|logarithm) arithmetic.)
Steven Taschuk staschuk at telusplanet.net
Receive them ignorant; dispatch them confused. (Weschler's Teaching Motto)
More information about the Python-list