|
|
A214850
|
|
3x+1 groups: irregular triangle read by rows: row n gives all the numbers p <= A075684(n)+1 such that {T(2n+1,k) /pZ} is a multiplicative finite group, where T(2n+1,k) is the reduced trajectory of the Collatz problem whose elements are all odd.
|
|
3
|
|
|
2, 4, 2, 4, 6, 2, 4, 6, 8, 12, 18, 2, 4, 8, 2, 4, 6, 2, 4, 6, 8, 12, 2, 4, 8, 2, 4, 6, 8, 12, 2, 4, 6, 12, 2, 4, 8, 10, 20, 22, 2, 4, 6, 8, 2, 4, 6, 12, 18, 2, 4, 8, 16, 2, 4, 6, 2, 4, 6, 8, 12, 16, 18, 24, 2, 4, 2, 4, 6, 2, 4, 6, 8, 12, 18, 2, 4, 8, 2, 4, 6
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
COMMENTS
|
We introduce the structure of a finite group in order to give a possible way to classify the Collatz trajectories.
We see that the study of the classification of the trajectories is dependent on the values p.
The principle of the algorithm is to compute all the products T(2n+1,i)/pZ * T(2n+1,j)/pZ and also the inverse of each element such that if x is in the group, then there exist x' in the group with x*x' = 1.
Rows of triangle:
{2, 4},
{2, 4, 6},
{2, 4, 6, 8, 12, 18},
{2, 4, 8},
{2, 4, 6},
{2, 4, 6, 8, 12},
{2, 4, 8},
{2, 4, 6, 8, 12}, ...
|
|
LINKS
|
|
|
EXAMPLE
|
Row 18 gives 6 groups with p = {2, 4, 6, 8, 12, 18}. The Collatz trajectory T(37,k) = {37, 7, 11, 17, 13, 5, 1}, and if we choose, for example, p=18, we obtain G(37) = {T(37,k)/18Z} = {7, 11, 17, 13, 5, 1} which (as subset of Z/18Z) is a multiplicative group of order 6.
For example 5, or 11, generates the cyclic group:
5^1 == 5, 5^2 == 7, 5^3 == 17, 5^4 == 13, 5^5 == 11, 5^6 == 1 (mod 18).
Other subgroups are {1}, {1, 17} and {1, 7, 13}.
|
|
MAPLE
|
c:=0:
for n from 3 by 2 to 800 do:
x:=2:lst:={n}:lst1:={}:x := n:
for k from 1 to 120 while (x > 1) do:
a := 0:
if type(x, 'even') then
x := x/2:lst:=lst union {x}:a:=a+1:
else
x := 3*x+1 :lst:=lst union {x}:a:=a+1:
fi:
od:
n1:=nops(lst):
for u from 1 to n1 do:
if irem(lst[u], 2)=1 then
lst1:=lst1 union {lst[u]}:
else
fi:
od:
m1:= max( op(lst1)):n1:=nops(lst1):
for p from 2 by 2 to m1+1 do:
lst2:={}:
for q from 1 to n1 do:
lst2:=lst2 union {irem(lst1[q], p)}:
od:
lst3:={}:n2:=nops(lst2):kkk:=0:
for i from 1 to n2 do:jjj:=0:
for j from 1 to n2 do:
z:=irem(lst2[i]*lst2[j], p):lst3:=lst3 union{z}:
if z=1 then jjj:=1:else fi
od:
if jjj=0 then kkk:=1:else fi:
od:
n3:=nops(lst3):iii:=0:
for b from 1 to n3 while(iii=0 and n2=n3 and kkk=0)
do:
if lst2[b]<>lst3[b] then
iii:=1:else
fi:
od:
if iii=0 and n2=n3 and kkk=0 then c:=c+1:
printf ( "%d %d \n", c, p):
else
fi:
od:
x:=2:
od:
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,tabf
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|