%I A117578
%S A117578 1,2,3,5,6,7,8,9,12,15,16,18,19,22,23,24,25,26,27,31,35,36,37,41,46,53,
%T A117578 58,72,80,87,94,111,121,130,149,159,183,217,282,311,388,422,624,935,
%U A117578 1171,1323,1578,1600,2554,12348,14842,17461
%N A117578 Equal divisions of the octave with nondecreasing consistency limits and
distinct approximations for all the ratios in the tonality diamond
of that limit.
%H A117578 Tonalsoft Encyclopedia of Microtonal Music Theory, <a href="http://tonalsoft.com/
enc/c/consistent.aspx">Consistency</a>
%e A117578 9-EDO is consistent and distinct through the 5 limit because 6/5, 5/4,
4/3, 3/2, 8/5 and 5/3 map to 2, 3, 4, 5, 6 and 7 steps respectively
and all the compositions of those intervals are consistent.
%p A117578 with(padic, ordp):
%p A117578 diamond := proc(n) # tonality diamond for odd integer n local i, j, s;
s := {}; for i from 1 by 2 to n do for j from 1 by 2 to n do s :=
s union {r2d2(i/j)} od od; sort(convert(s, list)) end:
%p A117578 r2d2 := proc(q) # octave reduction of rational number q 2^(-floor(evalf(ln(q)/
ln(2))))*q end:
%p A117578 plim := proc(q) # prime limit of rational number q local r, i, p; r :=
1; i := 0; while not (r=q) do i := i+1; p := ithprime(i); r := r*p^ordp(q,
p) od; i end:
%p A117578 vai := proc(n,i) # mapping of i-th prime by patent val for n round(evalf(n*ln(ithprime(i))/
ln(2))) end:
%p A117578 via := proc(n,l) # the patent val for n of length l local i,v; for i
from 1 to l do v[i] := vai(n,i) od; convert(convert(v,array),list)
end:
%p A117578 h := proc(n, q) # mapping of interval q by patent val n if q=1 then RETURN(0)
fi; dotprod(vec(q), via(n,plim(q))) end:
%p A117578 condi := proc(n, s) # distinct consistency of edo n with respect to consonance
set s local i, d; for i from 1 to nops(s) do if not h(n, s[i])=round(n*l2(s[i]))
then RETURN(false) fi od; for i from 1 to nops(s) do d[i] := h(n,
s[i]) od; if not nops(convert(d, set))=nops(s) then RETURN(false)
fi; RETURN(true) end:
%p A117578 condl := proc(n) # highest distinct odd-limit consistency for edo n local
c; c := 3; while condi(n, diamond(c)) do c := c+2 od; c-2 end:
%Y A117578 Cf. A116474, A116475, A117577.
%Y A117578 Sequence in context: A079111 A007989 A069224 this_sequence A039122 A031975
A028729
%Y A117578 Adjacent sequences: A117575 A117576 A117577 this_sequence A117579 A117580
A117581
%K A117578 nonn
%O A117578 1,2
%A A117578 Gene Ward Smith (genewardsmith(AT)gmail.com), Mar 29 2006
|