OFFSET
2,4
COMMENTS
In order to define (harmonic) fractility of an integer m > 1, we first define nested interval sequences. Suppose that r = (r(n)) is a sequence satisfying (i) 1 = r(1) > r(2) > r(3) > ... and (ii) r(n) -> 0. For x in (0,1], let n(1) be the index n such that r(n+1) < x <= r(n), and let L(1) = r(n(1)) - r(n(1)+1). Let n(2) be the index n such that r(n(1)+1) + L(1)*r(n+1) < x <= r(n(1)+1) + L(1)*r(n), and let L(2) = (r(n(2))-r(n(2)+1))*L(1). Continue inductively to obtain the sequence (n(1), n(2), n(3), ...) =: NI(x), the r-nested interval sequence of x.
For fixed r, call x and y equivalent if NI(x) and NI(y) are eventually identical. For m > 1, the r-fractility of m is the number of equivalence classes of sequences NI(k/m) for 0 < k < m. Taking r = (1/1, 1/2, 1/3, 1/4, ... ) gives harmonic fractility.
For harmonic fractility, r(n) = 1/n, n(j+1) = floor(L(j)/(x - Sum_{i=1..j} L(i-1)/(n(i)+1))) for all j >= 0, L(0) = 1. - M. F. Hasler, Nov 05 2018
LINKS
Jack W Grahl, Table of n, a(n) for n = 2..999
Jack W Grahl, Python code to generate this sequence
EXAMPLE
NI(1/11) = (11, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...),
NI(2/11) = (5, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, ...),
NI(3/11) = (3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ...),
NI(4/11) = (2, 5, 2, 1, 2, 1, 2, 1, 2, 1, 2, ...),
NI(5/11) = (2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, ...),
NI(6/11) = (1, 11, 1, 1, 1, 1, 1, 1, 1, 1, ...),
NI(7/11) = (1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ...),
NI(8/11) = (1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, ...),
NI(9/11) = (1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, ...),
NI(10/11) = (1, 1, 1, 3, 3, 3, 3, 3, 3, 3, ...),
so that there are 3 equivalence classes for n = 11, and that the harmonic fractility of 11 is 3.
MATHEMATICA
A270000[n_] := CountDistinct[With[{l = NestWhileList[Rescale[#, {1/(Floor[1/#] + 1), 1/Floor[1/#]}] &, #, UnsameQ, All]}, Min@l[[First@FirstPosition[l, Last@l] ;; ]]] & /@ Range[1/n, 1 - 1/n, 1/n]] (* Davin Park, Nov 09 2016 *)
PROG
From M. F. Hasler, Nov 05 2018: (Start)
(PARI) A270000(n)=#Set(vector(n-1, k, NIR(k/n))) \\ where:
NIR(x, n, L=1, S=[], c=0)={for(i=2, oo, n=L\x; S=setunion(S, [x/L]); x-=L/(n+1); L/=n*(n+1); setsearch(S, x/L)&& if(c, break, c=!S=[])); S[1]} \\ variant of the function NI() below; returns just a unique representative (smallest x/L occurring within the period) of the equivalence class.
NI(x, n=[], L=1, S=[], c=0)={for(i=2, oo, n=concat(n, L\x); c|| S=setunion(S, [x/L]); x-=L/(n[#n]+1); L/=n[#n]*(n[#n]+1); if(!c, setsearch(S, x/L)&& [c, S]=[i, x/L], x/L==S, c-=i; break)); [n[1..2*c-1], n[c..-1]]} \\ Returns the harmonic nested interval sequence for x in the form [transition, period]. (End)
CROSSREFS
KEYWORD
nonn,easy
AUTHOR
Clark Kimberling and Peter J. C. Moses, Mar 11 2016
EXTENSIONS
Definition corrected by Jack W Grahl, Jun 27 2018
Edited by M. F. Hasler, Nov 05 2018
STATUS
approved