login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A226356 Number of representations of the n-th factorial group as a (nondecreasing) product of (nontrivial) cyclic groups. 0

%I #24 Mar 14 2020 07:05:23

%S 0,0,1,2,3,10,20,91,207,792,2589,17749,52997

%N Number of representations of the n-th factorial group as a (nondecreasing) product of (nontrivial) cyclic groups.

%C The algorithm given which generates and counts a(n) goes as follows:

%C 1. Consider the product [1,2,3,...,n] as Z_1 x Z_2 x ... x Z_n and "refine" wherever possible to create a multiset. For example, Z_6 ~= Z_2 x Z_3, so [1,2,3,4,5,6] refines as the multiset [2,2,3,3,4,5] or {2:2,3:2,4:1,5:1}.

%C 2. Place the above multiset at the top of a (ranked) poset, row 0.

%C 3. Set i=0.

%C 4. While there exists an element on the i-th row which, generate the (i+1)-th row of elements: those which are coarsed from elements on the i-th row.

%C 5. Find the number of representations generated.

%F With Z_k denoting the cyclic group on k letters, let G_0:=Z_1 and for all positive integers i, set G_i:=G_(i-1) x Z_i. Then a(n) is the number of (isomorphic) representations of G_n as a (nondecreasing) product of (nontrivial) cyclic groups.

%e Note: in the following ~= denotes isomorphism.

%e For example, G_0=Z_1 which cannot be represented as a product of nontrivial cyclic groups. Hence, a(0)=0. Likewise, G_1=G_0 x Z_1~=Z_1, so a(1)=0.

%e However G_2~=Z_2 is the only such representation of G_2.

%e For G_5=Z_1 x Z_2 x Z_3 x Z_4 x Z_5, we have exactly the following representations, sorted by the number of terms:

%e *Z_2 x Z_3 x Z_4 x Z_5,

%e *Z_4 x Z_5 x Z_6, Z_3 x Z_4 x Z_10, Z_2 x Z_5 x Z_12, Z_2 x Z_4 x Z_15, Z_2 x Z_3 x Z_20, and

%e *Z_6 x Z_20, Z_4 x Z_30, Z_10 x Z_12, Z_2 x Z_60.

%e Hence, a(5)=10.

%o (Sage)

%o #NOTE: by uncommenting the second return argument, the reader is given the array of representations.

%o def d_split(prod):

%o p_counts={}

%o for term in prod:

%o for p, m in term.factor():

%o pm = p^m

%o if pm in p_counts:

%o p_counts[pm]+=1

%o else:

%o p_counts[pm]=1

%o return p_counts

%o def factorial_group_reps(m):

%o if m<2:

%o return 0

%o i=0

%o widest_rep=d_split([Integer(n) for n in range(1,m+1)])

%o w_max=sum([widest_rep[p] for p in widest_rep])

%o rep_poset=[[widest_rep]]

%o r_count=1

%o while w_max-i>m//2:

%o row_new=[]

%o for rep in rep_poset[i]:

%o for [a,b] in Combinations(rep,2):

%o if gcd([a,b])==1:

%o rep_new=rep.copy()

%o if rep_new[a]==1:

%o rep_new.pop(a)

%o else:

%o rep_new[a]-=1

%o if rep_new[b]==1:

%o rep_new.pop(b)

%o else:

%o rep_new[b]-=1

%o if a*b in rep_new:

%o rep_new[a*b]+=1

%o else:

%o rep_new[a*b]=1

%o if not rep_new in row_new:

%o r_count+=1

%o row_new.append(rep_new)

%o rep_poset.append(row_new)

%o i+=1

%o return r_count#,rep_poset

%o for i in range(11):

%o # for i>10, a(i) is a very tedious computation for this algorithm

%o print(i,factorial_group_reps(i))

%K nonn,more

%O 0,4

%A _Alexander Riasanovsky_, Jun 04 2013

%E a(11) and a(12) added by _Alexander Riasanovsky_, Jun 06 2013

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified April 16 08:27 EDT 2024. Contains 371698 sequences. (Running on oeis4.)