back to list

Attempts to represent svals as fractional vals

🔗Mike Battaglia <battaglia01@gmail.com>

7/2/2012 2:13:32 AM

I'm back from a small hiatus... This became pretty clear and obvious
after the recent stuff posted about subgroup matrices, but I might as
well make it explicit for anyone (perhaps Ryan) looking to tackle this
problem:

Ryan and I at one point were having a conversation about finding a
clever way to represent subgroup vals as special vals.

We'd discussed representing 2.9.5 svals of the form <a b c| as 5-limit
vals of the form <a b/2 c|; for instance, 2.9.5 13-EDO could be
represented <13 20.5 30|. I'd also considered that you can represent
2.3.7 svals <a b c| as 7-limit vals <a b 0 c|, which would temper out
5/1. We started to hit some cracks when trying to figure out 2.3.15 or
2.3.5/3, but left it open that some sensible solution would be
possible. We were hoping to set it up so that only vals in the
subgroup we care about would be mapped to a nonzero integer value.

This same idea came up again recently because of mapping matrices.
Gene had stumbled on something similar with his most recent mapping +
generator approach, which also sometimes gives you fractional values
in the 3/1 coefficient if you're trying to represent a mapping that
only has 9/1. We also just had a discussion about representing
subgroups like 2.3.7 by tempering out 5/1 or something.

An important theorem for arbitrary subgroups is that, assuming the
coefficients of the val are rational, you'll never be able to come up
with a val which only sends vals on the subgroup you care about to an
integer and everything else to zero or a fraction. Proof by
contradiction:

Assume that it is possible. Then consider the 2.9.15 subgroup. For the
monzo |0 2 0> to map to an integer and |0 1 0> to not map to an
integer, the val must be of the form <__ b/2 __|, where b is an
integer. Then, for the monzo |0 1 1> to map to an integer, b/2 + the
third coefficient must be an integer, so the val must be of the form
<__ b/2 c/2|. However, this then means that the val |0 0 2>, or 25/1,
will map to 1, which isn't in the subgroup, a contradiction.

IOW, more simply, you can never tell if a val of the form <a b/2 c/2|
is supposed to map the 2.9.15 subgroup or the 2.9.25 subgroup.

Pretty simple, but a decent result for anyone who was thinking about
this problem. I'm not sure if you could work out some better result
using real or complex coefficients, or some other algebra over the
reals, but I doubt it. There are some pretty deep structural problems
in trying to represent subgroups as temperament mappings, which I'll
post about next.

-Mike