back to list

Understanding projection maps

🔗Mike Battaglia <battaglia01@gmail.com>

3/21/2012 5:25:04 AM

The following is the Hermite-reduced mapping matrix for meantone:

[1 0 -4]
[0 1 4]

Let's call this "m." This is the projection matrix you get if you do pinv(m)*m

[0.515151515151515 0.484848484848485 -0.121212121212121]
[0.484848484848485 0.515151515151515 0.121212121212121]
[-0.121212121212121 0.121212121212121 0.96969696969697]

OK. But, now, let's go back to the original Hermite-reduced mapping
matrix and just say we add a row of zeroes on the bottom. Then we get

[1 0 -4]
[0 1 4]
[0 0 0]

This is also a projection map for meantone, and furthermore it seems
to have the benefit of never producing fractional monzos.

Does anyone know what the name of the above map is, and furthermore
does every temperament have one like this? How do I easily find the
corresponding map if so?

Is it possible for a contorted temperament to have this sort of map?

-Mike

🔗Keenan Pepper <keenanpepper@gmail.com>

3/21/2012 7:04:48 AM

--- In tuning-math@yahoogroups.com, Mike Battaglia <battaglia01@...> wrote:
>
> The following is the Hermite-reduced mapping matrix for meantone:
>
> [1 0 -4]
> [0 1 4]
>
> Let's call this "m." This is the projection matrix you get if you do pinv(m)*m
>
> [0.515151515151515 0.484848484848485 -0.121212121212121]
> [0.484848484848485 0.515151515151515 0.121212121212121]
> [-0.121212121212121 0.121212121212121 0.96969696969697]
>
> OK. But, now, let's go back to the original Hermite-reduced mapping
> matrix and just say we add a row of zeroes on the bottom. Then we get
>
> [1 0 -4]
> [0 1 4]
> [0 0 0]
>
> This is also a projection map for meantone, and furthermore it seems
> to have the benefit of never producing fractional monzos.
>
> Does anyone know what the name of the above map is, and furthermore
> does every temperament have one like this? How do I easily find the
> corresponding map if so?

Every temperament actually has infinitely many. The map above for meantone is what you get if you make the period 2/1 and the generator 3/1. But you can also make the period 2/1 and the generator 80/27, and get

[1 4 12]
[0 -3 -12]
[0 1 4]

The way to calculate this is simply to multiply M on the left by a matrix whose columns are the monzos representing the generators. If I multiply by [2/1 3/1] in monzo form I get your matrix; if I multiply by [2/1 80/27] in monzo form I get my one above.

For another example, take srutal. The mapping matrix is

[2 3 5]
[0 1 -2]

where the first row corresponds to the ~600 cent period and the second row corresponds to the ~100 cent generator. Some JI representatives of these equivalence classes are 45/32 and 16/15. Therefore we can multiply on the left by the matrix [45/32 16/15] in monzo form to get the projection matrix

[ -10 -11 -33]
[ 4 5 12]
[ 2 2 7]

> Is it possible for a contorted temperament to have this sort of map?

No, because then at least one of the generators doesn't correspond to any JI interval; it has to be a fractional monzo. (Proof: If every generator did correspond to a JI interval, then every interval in the tempered lattice would also correspond to a JI interval because it can be expressed in terms of the generators. But that contradicts the definition of "contorted".)

Keenan

🔗Mike Battaglia <battaglia01@gmail.com>

3/21/2012 7:28:44 AM

On Wed, Mar 21, 2012 at 10:04 AM, Keenan Pepper <keenanpepper@gmail.com>
wrote:
>
> Every temperament actually has infinitely many. The map above for meantone
> is what you get if you make the period 2/1 and the generator 3/1. But you
> can also make the period 2/1 and the generator 80/27, and get
>
> [1 4 12]
> [0 -3 -12]
> [0 1 4]

And if we put this matrix in Hermite Form, we get

[1 0 -4]
[0 1 4]
[0 0 0]

Which is also a projection matrix, but I notice that pattern doesn't hold below.

> The way to calculate this is simply to multiply M on the left by a matrix
> whose columns are the monzos representing the generators. If I multiply by
> [2/1 3/1] in monzo form I get your matrix; if I multiply by [2/1 80/27] in
> monzo form I get my one above.

What meaning does it have in general to multiply a mapping matrix from
the left by monzos? The only thing I've ever multiplied mapping
matrices on the left by are tuning maps, like [1200 696] for meantone,
which then spits out the tuning map for the primes. But, it's hard for
me to visualize what it means to multiply a mapping matrix on the left
by another matrix where the columns have meaning, rather than the
rows.

> For another example, take srutal. The mapping matrix is
>
> [2 3 5]
> [0 1 -2]
>
> where the first row corresponds to the ~600 cent period and the second row
> corresponds to the ~100 cent generator. Some JI representatives of these
> equivalence classes are 45/32 and 16/15. Therefore we can multiply on the
> left by the matrix [45/32 16/15] in monzo form to get the projection matrix
>
> [ -10 -11 -33]
> [ 4 5 12]
> [ 2 2 7]

And in Hermite form, we get

2 0 11
0 1 -2
0 0 0

But this isn't a projection matrix.

Do you know if every temperament has some projection matrix, in some
form, with a row of zeroes on the bottom? Or is it only things like
meantone which do?

-Mike

🔗Keenan Pepper <keenanpepper@gmail.com>

3/21/2012 11:06:31 AM

--- In tuning-math@yahoogroups.com, Mike Battaglia <battaglia01@...> wrote:
>
> On Wed, Mar 21, 2012 at 10:04 AM, Keenan Pepper <keenanpepper@...>
> wrote:
> >
> > Every temperament actually has infinitely many. The map above for meantone
> > is what you get if you make the period 2/1 and the generator 3/1. But you
> > can also make the period 2/1 and the generator 80/27, and get
> >
> > [1 4 12]
> > [0 -3 -12]
> > [0 1 4]
>
> And if we put this matrix in Hermite Form, we get
>
> [1 0 -4]
> [0 1 4]
> [0 0 0]
>
> Which is also a projection matrix, but I notice that pattern doesn't hold below.

Right. It won't in general, because these matrices represent actual linear transformations, not lattices. Hermite reduction preserves the row space / row lattice, but of course it does not preserve the linear transformation.

> What meaning does it have in general to multiply a mapping matrix from
> the left by monzos? The only thing I've ever multiplied mapping
> matrices on the left by are tuning maps, like [1200 696] for meantone,
> which then spits out the tuning map for the primes. But, it's hard for
> me to visualize what it means to multiply a mapping matrix on the left
> by another matrix where the columns have meaning, rather than the
> rows.

The mapping matrix of the temperament is a linear map from Z^3 to Z^2, where the elements of Z^3 represent JI monzos and the elements of Z^2 represent tempered intervals in (periods, generators) form. If you multiply that on the left by a row vector that's the same as composing it with a map Z^2 -> R, so the overall map is Z^3 -> Z^2 -> R and you end up with real numbers for the actual pitches. For the Frobenius projection map you multiply by the pseudoinverse which is a map Z^2 -> Q^3, so you end up with fractional monzos. In the current procedure we're multiplying by a matrix of monzos, which is a linear map Z^2 -> Z^3, and ending up with ordinary, integral monzos.

(Keep in mind that, when matrices are viewed as transformations of column vectors, the product AB means first apply B, then apply A.)

> > For another example, take srutal. The mapping matrix is
> >
> > [2 3 5]
> > [0 1 -2]
> >
> > where the first row corresponds to the ~600 cent period and the second row
> > corresponds to the ~100 cent generator. Some JI representatives of these
> > equivalence classes are 45/32 and 16/15. Therefore we can multiply on the
> > left by the matrix [45/32 16/15] in monzo form to get the projection matrix
> >
> > [ -10 -11 -33]
> > [ 4 5 12]
> > [ 2 2 7]
>
> And in Hermite form, we get
>
> 2 0 11
> 0 1 -2
> 0 0 0
>
> But this isn't a projection matrix.
>
> Do you know if every temperament has some projection matrix, in some
> form, with a row of zeroes on the bottom? Or is it only things like
> meantone which do?

The reason meantone has one with zeros on the bottom is because Pythagorean JI contains exactly one representative of each meantone equivalence class, so there's a bijection from meantone to Pythagorean. In most other temperaments this won't be possible. For magic, on the other hand, there's a projection matrix where the *middle* row is all zeros, because it has a bijection with 2.5 JI.

Keenan

🔗genewardsmith <genewardsmith@sbcglobal.net>

3/21/2012 11:08:54 AM

--- In tuning-math@yahoogroups.com, Mike Battaglia <battaglia01@...> wrote:
>
> The following is the Hermite-reduced mapping matrix for meantone:
>
> [1 0 -4]
> [0 1 4]
>
> Let's call this "m." This is the projection matrix you get if you do pinv(m)*m
>
> [0.515151515151515 0.484848484848485 -0.121212121212121]
> [0.484848484848485 0.515151515151515 0.121212121212121]
> [-0.121212121212121 0.121212121212121 0.96969696969697]

A better way to write it would be:

[[17 16 -4] [16 17 4] [-4 4 32]]/33

> OK. But, now, let's go back to the original Hermite-reduced mapping
> matrix and just say we add a row of zeroes on the bottom. Then we get
>
> [1 0 -4]
> [0 1 4]
> [0 0 0]
>
> This is also a projection map for meantone, and furthermore it seems
> to have the benefit of never producing fractional monzos.

How would you use it?

🔗genewardsmith <genewardsmith@sbcglobal.net>

3/21/2012 12:44:53 PM

--- In tuning-math@yahoogroups.com, "genewardsmith" <genewardsmith@...> wrote:

> > This is also a projection map for meantone, and furthermore it seems
> > to have the benefit of never producing fractional monzos.
>
> How would you use it?
>

I wouldn't call it a projection map for meantone, since 81/80 is not in the nullspace, and I don't know where you go with this idea. The kind of projection maps I've been using send commas to the unison. Here are some examples.

least squares (7/26 comma) [[26 0 0] [28 -2 7] [8 -8 28]]/26
Eigenmonzos: 2, 78125/73728

minimax (1/4 comma) [[4 0 0] [4 0 1] [0 0 4]]/4
Eigenmonzos: 2, 5/4

Frobenius [[17 16 -4] [16 17 4] [-4 4 32]]/33
Eigenmonzos: 6, 625/2

🔗Mike Battaglia <battaglia01@gmail.com>

3/21/2012 12:49:18 PM

On Wed, Mar 21, 2012 at 3:44 PM, genewardsmith <genewardsmith@sbcglobal.net>
wrote:
>
> --- In tuning-math@yahoogroups.com, "genewardsmith" <genewardsmith@...>
> wrote:
>
> > > This is also a projection map for meantone, and furthermore it seems
> > > to have the benefit of never producing fractional monzos.
> >
> > How would you use it?
> >
>
> I wouldn't call it a projection map for meantone, since 81/80 is not in
> the nullspace, and I don't know where you go with this idea.

81/80 is in the nullspace.

--from matlab--

[1 0 -4;0 1 4;0 0 0]

ans =

1 0 -4
0 1 4
0 0 0

>> null(ans,'r')

ans =

4
-4
1

>>

-Mike

🔗genewardsmith <genewardsmith@sbcglobal.net>

3/21/2012 1:19:43 PM

--- In tuning-math@yahoogroups.com, Mike Battaglia <battaglia01@...> wrote:

> > I wouldn't call it a projection map for meantone, since 81/80 is not in
> > the nullspace, and I don't know where you go with this idea.
>
> 81/80 is in the nullspace.

Ah, I get it. You are using the right eigenspace, and I use left. So I'd want to take the transpose of your matrix, giving me

Pythagorean: [[1 0 0] [0 1 0] [-4 4 0]]
Eigenmonzos: 2, 3

Now the rows define a tuning map, just like the other matricies.