back to list

Semiring Formalization of Scales and Chords

🔗Ryan Avella <domeofatonement@yahoo.com>

8/11/2013 11:06:28 PM

Before reading this post, I would suggest referring back to an earlier post written by Mike Battaglia, which originated the idea of a semiring representation of scales and chords:

/tuning-math/message/21304

Let us define a note as a n-tuple of integers, and a scale as a set of notes. From two notes we can construct a third by element-wise addition, +. From two scales we can construct a third by taking their union, U. If A and B are singletons such that A={a} and B={b}, then we define their product A*B={a+b}, where * distributes over U.

Additionally, if A={a}, let A^T={-a} be the complement of A. This unary operator generalizes to sets of larger cardinality by the following property: (AUB)^T=(A^T)U(B^T).

Using just these axioms, we can derive some important inequalities on the cardinalities of scales. Note: Some of the following inequalities assume that a set is non-empty.

max(|A|, |B|) <= |AUB| <= |A|+|B|
|A|+|B|-1 <= |A*B| <= |A|*|B|
2*(|A|-1)+1 <= |(A^T)*A| <= |A|*(|A|-1)+1

If for each of the members of a scale A, there exists another member such that the L-1 distance spanned between is precisely 1, we will call that scale connected.

Conjecture: For a connected scale A whose n-tuples consist of n-dimensions, the following inequality holds true:

|(A^T)*A| <= 1/n*[(n-1)*|A|^2+2*|A|-1]

For the n=1 case, this simplifies to the following:

|(A^T)*A| = 2*|A|-1

If we define a function dia(A)=A*(A^T), some interesting properties are observed.

dia(A)=dia(A)^T=dia(A^T)
dia(dia(A))=dia(A*A)=dia(A)*dia(A)

B is a subset of dia(B) if and only if B contains the 0-vector (a n-tuple with all entries 0).

Ryan Avella