login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A225540
Triangle of functions in a size n set for which the sequence of composition powers starts with a length k stem (index) before entering a cycle (period).
1
1, 1, 4, 21, 6, 148, 84, 24, 1305, 1160, 540, 120, 13806, 17610, 10560, 3960, 720, 170401, 296772, 214410, 104160, 32760, 5040, 2403640, 5536440, 4692576, 2686320, 1115520, 302400, 40320, 38143377, 113680800, 111488328, 72080064, 35637840
OFFSET
0,3
COMMENTS
Given a transformation t from the transformation semigroup Tn and a positive integer i, the largest whole number s such that there does not exist an i such that t^s = t^(s+i) under transformation composition with t is the stem length. Terms in t^(s+i) form a cycle under repeated composition with t and do not return to transformations contained in the stem. Permutations by definition have stem length 0.
LINKS
EXAMPLE
Triangle begins:
1;
1;
4;
21, 6;
148, 84, 24;
1305, 1160, 540, 120;
13806, 17610, 10560, 3960, 720;
170401, 296772, 214410, 104160, 32760, 5040;
...
MATHEMATICA
nn = 10; Map[Select[#, # > 0 &] &, Table[Range[0, nn]! CoefficientList[ Series[Prepend[Exp[Log[1/(1 - NestList[x Exp[#] &, x Exp[x], nn])]], 0][[k + 1]] - Prepend[Exp[Log[1/(1 - NestList[x Exp[#] &, x Exp[x], nn])]], 0][[k]], {x, 0, nn}], x], {k, 1, nn - 1}] // Transpose] // Grid (* Geoffrey Critzer, Feb 13 2022 *)
PROG
(Ruby) # needs version 1.9+
counting_numbers = Enumerator.new do |yielder|
(0..1.0/0).each do |number|
yielder.yield number
end
end
def trans_mult(transa, transb)
trans_ret = Array.new
0.upto(transa.length-1) do |index|
trans_ret.push(transa[transb[index]])
end
return trans_ret
end
def lolipop(trans)
trans_hash ={}
trans_hash[trans.clone] =0
index = 1
trans_current = trans_mult(trans, trans)
while trans_hash[trans_current] == nil
trans_hash[trans_current.clone] = index
index = index +1
trans_current = trans_mult(trans_current, trans)
end
cycle_length =trans_hash.size - trans_hash[trans_current]
return [trans_hash.size, cycle_length]
end
1.upto(10) do |index|
tran_size =index
histo_hash = {}
counting_numbers.take(tran_size).repeated_permutation(tran_size).each { |x|
size, cycle_length = lolipop(x)
#tail_length = size-cycle_length
if (histo_hash[size-cycle_length] == nil)
histo_hash[size-cycle_length] =1
else
histo_hash[size-cycle_length] = histo_hash[size-cycle_length]+1
end
}
puts "#{tran_size}|" + histo_hash.inspect
end
CROSSREFS
The first column is A006153.
Row sums give A000312.
Cf. A216242.
Sequence in context: A272969 A327085 A083192 * A128452 A333433 A202450
KEYWORD
nonn,tabf
AUTHOR
Chad Brewbaker, May 14 2013
STATUS
approved