cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A117577 Equal divisions of the octave with nondecreasing consistency levels.

Original entry on oeis.org

1, 2, 3, 4, 5, 12, 19, 22, 26, 29, 41, 58, 72, 80, 94, 282, 311, 2554, 12348, 14842, 17461
Offset: 1

Views

Author

Gene Ward Smith, Mar 29 2006

Keywords

Comments

An equal temperament is consistent at level N (odd integer) if all the intervals in the N-limit tonality diamond (set of ratios with odd factors of numerator and denominator not exceeding N) are approximated consistently, i.e. the composition of the approximations is the closest approximation of the composition.

Examples

			3-EDO is consistent through the 5 limit because 6/5, 5/4 and 4/3 map to 1 step and 3/2, 8/5 and 5/3 map to 2 steps and all the compositions work out, for example 6/5 * 5/4 = 3/2 and 1 step + 1 step = 2 steps. It is not consistent through the 7 limit because 8/7 and 7/6 both map to 1 step, but 8/7 * 7/6 = 4/3 also maps to 1 step.
		

Crossrefs

Programs

  • Maple
    with(padic, ordp): 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: r2d2 := proc(q) # octave reduction of rational number q 2^(-floor(evalf(ln(q)/ln(2))))*q end: 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: vai := proc(n,i) # mapping of i-th prime by patent val for n round(evalf(n*ln(ithprime(i))/ln(2))) end: 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: 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: consis := proc(n, s) # consistency of edo n with respect to consonance set s local i; for i from 1 to nops(s) do if not h(n, s[i])=round(n*l2(s[i])) then RETURN(false) fi od; RETURN(true) end: consl := proc(n) # highest odd-limit consistency for edo n local c; c := 3; while consis(n, diamond(c)) do c := c+2 od; c-2 end: