back to list

Theorem Paul

🔗genewardsmith@juno.com

9/5/2001 1:21:25 PM

Recall that a val was defined to be an element in the dual group to a
note group; if in particular we take the p-limit note group N_p, with
elements we think of concretely as row vectors with integer
coordinate values, then vals are column vectors with integer values.
We make the following definitions: consider the note group N_p where
we take as usual the generating set to be the primes up to p, so that
2 is represented by [1, 0, ..., 0], 3 by [0,1, 0, ..., 0] and so
forth. If a val for notes in this basis has all of its coordinate
values positive, and if the coordinate values have no common
divisor, we will say the val is *valid*. Another way to express this
is to say v is valid if v(q) is positive for all primes q<=p and if
gcd({q_i})=1, where {q_i} is the set of primes up to p.

If {n_i} are a set of generators for the kernel of a valid val v (or
in other words, if they generate the dual group to the group
generated by v) then we call the set valid. We then have the
following:

(Theorem Paul) Let n={n_i} be a valid set of generators associated to
the val v in N_p, where p>3, and let m be n minus one generator. Let
B be a block of v(2) notes in an octave, defined by n and octave
equivalence. Let M be the group generated by m, and let u be a val
which together with v generates the dual M` to M. Then there exists a
nonnegative integer t such that if w is the val t*v + u we have a
v(2) out of w(2) MOS which tempers out M from everything in the block
B.

Proof: Since v is valid, there must be an odd prime q such that
gcd(v(2), v(q))=1. Hence v(q) generates the cyclic group Z/v(2)Z of
integers reduced modulo v(2). Consider the ratios v(q)/v(2) and
w(q)/w(2). As t approaches infinity, w(q)/w(2) approaches v(q)/v(2).
Let us pick a positive t large enough so that all the coordinate
values of w (ie its values w(q_i) on all the primes up to p) are
positive, and w(2) is larger than v(2). If such a t is large enough,
we also have

|v(q)/v(2) - w(q)/w(2)| < 1/v(2)^2,

and v(q)/v(2) is a semiconvergent to w(q)/w(2) and hence v(q) is a
generator for a v(2) out of w(2) MOS. Since w is in M`, all of the
elements of M (and hence in particular of m) are sent to 0 by w--ie,
they are tempered out. Therefore block B is tempered by w to the v(2)
out of w(2) MOS obtained above, QED.

This is quite a weak condition for vals which are intended to
represent ets, and hence a strong version of Theorem Paul, but
nothing more seems to be needed. In practice we could confine our
attentions to valid sets of generators arising from an h_n et for
some integer n.

🔗Paul Erlich <paul@stretch-music.com>

9/5/2001 2:40:58 PM

I'll have to come back to this later, but I don't like the idea (in
the last line) of restricting our attention to MOSs that are within
some ET. Also, did you make use of the hyperparallelepiped
construction? If you don't, you don't necessarily get an MOS . . .
Now do you have a quick way of determining the generator of the
linear temperament, given n-1 commatic unison vectors?

🔗genewardsmith@juno.com

9/5/2001 3:14:03 PM

--- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

> I'll have to come back to this later, but I don't like the idea (in
> the last line) of restricting our attention to MOSs that are within
> some ET.

I made that assumption and some others simply to make the proof easy,
in the lazy way normal to mathematicians. There isn't any reason to
restrict yourself to these in general, but I thought the point was to
prove the theorem true. Of course, if what I have stated isn't what
what you wanted proven (and I've been having problems with that, as
you know) then the proof won't give you all you want.

Also, did you make use of the hyperparallelepiped
> construction?

You get a hyperparallepiped as the walls of the block defined by the
generators {n_i} together with 2.

🔗Paul Erlich <paul@stretch-music.com>

9/5/2001 3:36:21 PM

--- In tuning-math@y..., genewardsmith@j... wrote:
> --- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:
>
> > I'll have to come back to this later, but I don't like the idea
(in
> > the last line) of restricting our attention to MOSs that are
within
> > some ET.
>
> I made that assumption and some others simply to make the proof
easy,
> in the lazy way normal to mathematicians. There isn't any reason to
> restrict yourself to these in general, but I thought the point was
to
> prove the theorem true. Of course, if what I have stated isn't what
> what you wanted proven (and I've been having problems with that, as
> you know) then the proof won't give you all you want.

I guess I'd ideally like my original proof to be used as an outline,
with conditions tightened up where needed. But I'll try to take a
close look at yours at a later point in time.
>
> Also, did you make use of the hyperparallelepiped
> > construction?
>
> You get a hyperparallepiped as the walls of the block defined by
the
> generators {n_i} together with 2.

So you did make use of this? I'll have to look more closely
later . . .

🔗genewardsmith@juno.com

9/6/2001 12:39:23 AM

--- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

> Now do you have a quick way of determining the generator of the
> linear temperament, given n-1 commatic unison vectors?

Let's see if this helps:

Recall that a notation for the note group N_p was a k-tuple of vals
[u_1, ..., u_k], where k = pi(p) is the number of primes up to p, and
where the kxk square matrix we get by writing the vals as column
vectors is unimodular, meaning it has determinant +-1. We may call
this the *val matrix* for the notation; corresponding to it is a
*basis matrix* which is the matrix inverse of the val matrix. The
rows of the basis matrix are the basis notes of the notation, and it
may also be written as a k-tuple of rational numbers
(q_1, ..., q_k) where if q_i = [e_1, e_2, ..., e_k] we also write it
multiplicitively as the rational number q_i= 2^e_1 * 3^e_2 ... p^e_k.

We then have for any prime r <= p

r = q_1^u_1(r) * q_2^u_2(r) * ... q_k^u_k(r),

so that anything which can be written as the product of the first k
primes can also be written as the product of q_1, ..., q_k; that is,
both are a basis for the note group N_p.

I just downloaded Graham's midiconv program, and he is doing this
sort of thing in his tun files. For instance, in 12from31.tun we find
the matrix

[-3 -1 2]
[ 7 0 -3]
[-4 4 -1]

which is a basis matrix (since it is unimodular.) Inverting it we get
the val matrix

[12 7 3]
[19 11 5]
[28 16 7],

which is the notation [h_12, h_7, h_3]. If you look at Graham's file
you will see he is using this notation.

Every note in N_5 can be expressed in terms of this notation as

q = (25/24)^h_12(q) * (128/125)^h_7(q) * (81/80)^h_3(q)

just as it can also be written

q = 2^v_2(q) * 3^v_3(q) * 5^v_5(q),

where v_2, v_3 and v_5 are the 2-adic, 3-adic and 5-adic valuations
of number theory.

Suppose now we want to temper out 81/80, so that we will write the
approximation to q, ~q, as

~q = a^h_12(q) * b^h_7(q).

Finding a basis for this temperament means the same as tuning the
above basis, which we may do in various ways, e.g., least squares. If
we like we may assume ~2 = 2, in which case we really need to specify
only one value, since the other than be found from

2 = a^h_12(2) * b^h_7(2) = a^12 * b^7.

To take another example, consider the basis matrix defined by the
5-tuple (176/175, 385/384, 8019/8000, 441/440, 540/539), which in
matrix form is

[ 4 0 -2 -1 1]
[-7 -1 1 1 1]
[-6 6 -3 0 1]
[-3 2 -1 2 -1]
[ 2 3 1 -2 -1].

The inverse of this matrix is

[72 58 -31 53 46]
[114 92 -49 84 73]
[167 135 -72 123 107]
[202 163 -87 149 129]
[249 201 -107 183 159],

which is the notation [h_72, h_58, -h_31, h_53, h_46]. If we remove
any one element from the basis 5-tuple, and take octave equivalence
in its place, we get a JI block whose number of notes is abs(h(2))
for the val corresponding to the basis element we removed. For
instance, by taking out 540/539, which is in the kernel of all the
vals but h_46, which has instead h_46(540/539)=1, we get a block of
46 notes. We may temper this in various ways by removing other
val/basis pairs, getting equal, linear etc. temperaments. Thus for
instance by tuning ~q = a^h_72(q) (for instance, in the usual way!)
we get the 46 block expressed in the 72-et. If we tune
~q = a^h_72(q) * b^h_53(q), we get a linear temperament, and so forth.

We also have for example that ker(h_72) is generated by all the basis
vectors except 176/175, where h_72(176/175)=1. Just as each val is
associated to the group it generates (of rank one) and hence to the
dual group, i.e. the kernel, of corank one (in this case, that would
be rank four), every basis note q_i generates a rank one group, whose
dual group null(q_i) is of corank one (in this case four again.)

While null(q_i) is of corank one and has an infinity of elements, if
we list only valid vals of the form u_n for integers n we get a
finite list, which is an interesting thing to consider for any
comma-like interval. For instance, 128/125 is associated in this way
to multiples of 3 through 42, excluding h_6 which is invalid. In the
same way, 25/24 is associated to 3,4,7,10,13 and 17; and 81/80 to
5,7,12,19,26,31,43,45,50,55,67,69,74,81,88,98,105 and 117. If we
place some limit based on a measure of goodness when we do this we of
course can get an even smaller list.

🔗genewardsmith@juno.com

9/6/2001 11:59:25 AM

--- In tuning-math@y..., genewardsmith@j... wrote:

> If {n_i} are a set of generators for the kernel of a valid val v
(or
> in other words, if they generate the dual group to the group
> generated by v) then we call the set valid.

This needs to be changed to the following:

If n={n_i} are a set of generators for the kernel of a valid val v,
and if B is the block defined by n and octave equivalence, and if the
elements of B b_i are placed in ascending order by ascending values
of v(b_i), then we will call the set valid.

The reason why the new condition is essential is that we are creating
MOS by finding something close to the v(2)-et. That is a sort of
super-MOS, with only one step size and everything as smooth as
possible. However, if the steps are not in order it is not a super
MOS at all, and we don't *want* to get close to it!