Final Answers
© 2000-2020 Gérard P. Michon, Ph.D.

Nimbers Redux

Michon

Related articles on this site:

border
border

Nim Arithmetic

Notations: Numbers are normally expressed in decimal. Binary expansions are underlined (e.g., 10 = 1010). In what follows, the plus sign (+) is used for Nim addition or bitwise addition (binary addition without carry). Following a convention introduced by John H. Conway (1937-2020) in the same context (On Numbers and Games, 1976) we put expressions using ordinary arithmetic between square brackets:

4 + 6 = 2 100 + 110 = 10
[ 4 + 6 ] = 10 [ 100 + 110 ] = 1010

Nimbers | Nim


(2007年06月02日) Nim-sum of Fractions
Extending bitwise addition to ordinary rational numbers.

We may investigate what happens when bitwise (exclusive-or) addition is applied to the binary expansions of ordinary fractions. (Those are ultimately periodic.)

Adding bitwise two periodic expansions of periods p and q yields an expansion whose period divides the lowest common multiple (LCM) of p and q.

 [1/3] = 0.010101010101010101010101...
 [1/5] = 0.001100110011001100110011...
[1/3] + [1/5] = 0.011001100110011001100110...
 [2/5] = 0.011001100110011001100110...

Therefore, [1/3] + [1/5] = [2/5]. Equivalently, [1/5] + [2/5] = [1/3]

The nonzero fractions whose denominator is a power of 2, have two binary expansions (one ending with infinitely many zeros, the other ending with infinitely many ones). The issue is resolved by introducing the binary antizero 0 :

 0 = ....111111111111111111.111111111111111111...

Note that if we add (in the ordinary sense) any nonzero number to 0, we obtain that same number, represented either by its unique binary expansion or by one of two equivalent ones, (Indeed, adding 0 in the ordinary way lets you switch from one such representation to the other.) With ordinary arithmetic, there's no difference (literally!) between 0 and 0 or between ½ and [ 0+½ ]. With Nim-arithmetic, on the other hand, 0 cannot be eliminated except with the use of a unary minus (there's no need for a binary minus operator, since addition and subtraction are the same operation). The relation to remember is:

x + [-x] = 0 = -0

So, the antizero 0 may also be called "-0" (minus zero).

 0 = ....111111111111111111.111111111111111111...
 [-1] = ....111111111111111111.000000000000000000...
 [-1] + 0 = ....000000000000000000.111111111111111111...
[1/3] + 0 = ....111111111111111111.101010101010101010...
 [-1/3] = ....111111111111111111.101010101010101010...

Nim-addition endows the binary expansions with the structure of a group (each expansion is its own opposite). We call such a binary expansion a nimber. One or two nimbers are associated with each number.

Nimbers form an Abelian group under Nim-addition. The subgroups correspond to fractions with a binary period that divides a given n. Those are fractions whose denominators are divisors of 2n-1. They are of the form [x+y/(2n-1)] where y is an integer from 0 to 2n-1. (both extremes being excluded if we rule out numbers whose denominators are powers of 2). The structure is thus homomorphic to a simple cartesian product of two groups: The integer nimbers on one hand (to which x belongs) and, on the other hand, the finite group of 2n integer nimbers to which y belongs.

[画像: Come back later, we're still working on this one... ]

' Nim-addition generalized to positive fractions in UBASIC:
'
fnSim(X,Y)
local D,N,Z,S
S=1:while or{even(den(X)),even(den(Y))}:X*=2:Y*=2:S*=2:wend
'Both denominators are now odd. Divisor S is a power of 2.
D=lcm(den(X),den(Y))
if D>1 then Z=2:N=1:while Z<>1:inc N:Z=(Z+Z)@D:wend:D=2^N-1
N=floor(X):X=X-N
Z=floor(Y):Y=Y-Z
Z=bitxor(N,Z)+bitxor(num(X)*D\den(X),num(Y)*D\den(Y))//D
return(Z//S)
Denominator Binary Period Mersenne Multiple
1 1 1
3 2 3
5 4 15
7 3 7
9 6 63
11 10 1023
13 12 4095
15 4 15
17 8 255
19 18 262143
21 6 63
23 11 2047
25 20 1048575
27 18 262143
29 28 268435455
31 5 31
33 10 1023
35 12 4095
37 36 68719476735
39 12 4095
41 20 1048575
43 14 16383
45 12 4095
47 23 8388607
49 21 2097151
51 8 255
53 52 4503599627370495
55 20 1048575
57 18 262143
59 58 288230376151711743
61 60 1152921504606846975
63 6 63
65 12 4095
67 66 73786976294838206463
69 22 4194303
71 35 34359738367
73 9 511
75 20 1048575
77 30 1073741823
79 39 549755813887
81 54 18014398509481983
83 82 4835703278458516698824703
85 8 255
87 28 268435455
89 11 2047
91 12 4095
93 10 1023
95 36 68719476735
97 48 281474976710655
99 30 1073741823
101 100 1267650600228229401496703205375
103 51 2251799813685247
105 12 4095
107 106 81129638414606681695789005144063
109 36 68719476735
111 36 68719476735
113 28 268435455

Recall that a long prime to some base of numeration is a prime p whose inverse 1/p has period p-1 in that base. In binary, the long primes are:

3, 5, 11, 13, 19, 29, 37, 53, 59, 61, 67, 83, 101, 107, 131, 139, 149, 163, 173, 179, 181, 197, 211, 227, 269, 293, 317, 347, 349, 373, 379, 389, 419, 421, 443, 461, 467, 491, 509, 523, 541, 547, 557, 563, 587, 613, 619, 653, 659, 661, 677, 701, 709, 757, 773, 787, 797, 821, 827, 829, 853, 859, 877, 883, 907, 941, 947... (A001122)

Likewise, here are the prime numbers p whose binary periods are (p-1)/2 :

7, 17, 23, 41, 47, 71, 79, 97, 103, 137, 167, 191, 193, 199, 239, 263, 271, 311, 313, 359, 367, 383, 401, 409, 449, 463, 479, 487, 503, 521, 569, 599, 607, 647, 719, 743, 751, 761, 769, 809, 823, 839, 857, 863, 887, 929, 967, 977, 983, 991, 1009, 1031, 1033, 1039... (A115591)

By Fermat's little theorem, the binary period of a prime p divides p-1. Composite numbers for which this is true are the (rare) pseudoprime to base 2. The smallest of these is 341 = 11×13, whose binary period is 10:

Binary periods of Poulet numberss (Carmichael numbers are in bold type)
A001567 341561 6451105 13871729 1905 20472465 27012821
Period 10 40 28 24 18 36 28 11 56 36 60

For example, 953 is prime. So, its binary period divides 952 = 23. 7 . 17. It's actually 68 = 22. 17 because the following characterization holds:

953 divides 268-1 but divides neither 268/2-1 nor 268/17-1.

The period of a product of integers divides the LCM of their periods.


(2007年06月05日) Nim-product of Fractions
Extending nim-multiplication to ordinary rational numbers.

All we have to do is define the product of two 2-powers. Among integers, this is done by specifying that the product of a Fermat 2-power by any lesser integer is equal to their ordinary product.

Let's introduce [½] into the picture. The product of ½ by any integer can't be an integer (or else multiplying the result by the inverse of that integer would yield an integer instead of ½ as it should). More generally, [½] cannot be the root of any quadratic polynomial with integer coefficients (the integer nimbers are quadratically closed).

[ 1/2 ] 3 = 2 [ 1/2 ] 2 = [ 1/4 ]
[ 1/8 ] 3 = [ 1/2 ]
[ 1/512 ] 3 = [ 1/8 ]

On2 : transfinite number hacking by Lieven Le Bruyn (2009年01月08日).
On2 : Conway's nim-arithmetics by Lieven Le Bruyn (2009年01月26日).
On2 : Conway's nim-arithmetics by Lieven Le Bruyn (2009年01月27日).

Conway polynomials

border
border
visits since April 13, 2020
(c) Copyright 2000-2020, Gerard P. Michon, Ph.D.

AltStyle によって変換されたページ (->オリジナル) /