%I #22 Mar 01 2024 10:31:09
%S 2,2,3,3,4,4,4,3,3,4,4,4,3,3,2,2,1,1,1,2,2,1,1,1,2,2,3,3,4,4,4,3,3,4,
%T 4,4,3,3,2,2,1,1,1,2,2,1,1,1,2,2,3,3,4,4,4,3,3,4,4,4,3,3,2,2,1,1,1,2,
%U 2,1,1,1,2,2,3,3,4,4,4,3,3,4,4,4,3,3,2,2,1,1,1,2,2,1,1,1,2,2,3,3,4,4,4,3,3
%N "Fourth down, Extream [sic] between the two farthest Bells from it" in bell-ringing is a sequence of permutations p_1=(1,2,3,4), p_2=(1,2,4,3), .. which runs through all permutations of {1,2,3,4} with period 24; sequence gives position of bell 2 in n-th permutation.
%C Start with (1,2,3,4), i.e. the first permutation of {1,2,3} followed by 4; then for each next permutation, transpose 4 one to the left; if at position 1, replace {1,2,3} recursively by the next permutation of these numbers. Thereafter, for each next permutation, transpose 4 to the right. And so on.
%H Richard Duckworth and Fabian Stedman, <a href="http://www.gutenberg.org/files/18567/18567-h/18567-h.htm">Tintinnalogia, or, the Art of Ringing</a>, (1671). Released by Project Gutenberg, 2006.
%H Wikipedia, <a href="https://en.wikipedia.org/wiki/Steinhaus%E2%80%93Johnson%E2%80%93Trotter_algorithm">Steinhaus-Johnson-Trotter Algorithm</a>
%H <a href="/index/Be#bell_ringing">Index entries for sequences related to bell ringing</a>
%H <a href="/index/Rec#order_13">Index entries for linear recurrences with constant coefficients</a>, signature (1,0,0,0,0,0,0,0,0,0,0,-1,1).
%F Period 24.
%F From _Chai Wah Wu_, Jan 15 2020: (Start)
%F a(n) = a(n-1) - a(n-12) + a(n-13) for n > 13.
%F G.f.: x*(-x^12 - x^9 + x^7 - x^4 - x^2 - 2)/(x^13 - x^12 + x - 1). (End)
%p ring:= proc(k::nonnegint) local p,i,left,l,nf, ini; if k<=1 then proc() [1$k] end else ini := proc() p:= ring(k-1); i:= k; left:= true; l:= p(); nf:= k! end; ini(); proc() local ll; ll:= [seq(l[t], t=1..(i-1)), k, seq(l[t], t=i..(k-1))]; if left then if i>1 then i:= i-1 else left:= false; l:=p() fi else if i<k then i:= i+1 else left:= true; l:=p() fi fi; nf:= nf-1; if nf = 0 then ini() fi; ll end fi end: bell := proc(k) option remember; local p; p:= ring(k); [seq(p(), i=1..k!)] end: indx:= proc(l, k) local i; for i from 1 to nops(l) do if l[i]=k then break fi od; i end: a := n-> indx (bell(4)[modp(n-1,24)+1], 2): seq (a(n), n=1..121);
%t LinearRecurrence[{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1}, {2, 2, 3, 3, 4, 4, 4, 3, 3, 4, 4, 4, 3, 3, 2, 2, 1, 1, 1, 2, 2}, 105] (* _Jean-François Alcover_, Mar 15 2021 *)
%Y Cf. A143484, A143485, A143486, A143487, A143488, A143490, A090281.
%K nonn,easy
%O 1,1
%A _Alois P. Heinz_, Aug 19 2008