back to list

matrix question

🔗monz <monz@attglobal.net>

9/3/2004 9:33:53 AM

i've asked this kind of question here before, but
have never been totally clear on the answer ...

(click on "reply" on the Yahoo interface to see
the matrices lined up correctly)

i'm going to use the example of 12-et, assuming
"8ve"-equivalence, and with vapros ("vanishing commas")
of the diesis 128/125 and syntonic-comma 81/80.
so its kernel is defined by the following matrix
of 2,3,5-monzos:

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

the inverse of this is:

[ 1 0 0 ]
[19/12 -1/12 1/4]
[ 7/3 -1/3 0 ]

this is more meaningful when written as the
adjoint divided by the determinant:

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

now:

i know that the first column [12 19 28] is the
prime-mapping by 12-edo degrees.

and i know that the second column [0 -1 -4]
shows the mapping by meantone generators.

... but what does that third column [0 3 0] mean?

and a deeper explanation of how and why this works
would be most welcome. i'm trying hard to understand
this stuff.

-monz

🔗Gene Ward Smith <gwsmith@svpal.org>

9/3/2004 3:28:38 PM

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

> i know that the first column [12 19 28] is the
> prime-mapping by 12-edo degrees.
>
> and i know that the second column [0 -1 -4]
> shows the mapping by meantone generators.
>
> ... but what does that third column [0 3 0] mean?

You have three vals, v1 = <12 19 28|, v2 = <0 -1 -4| and v3 = <0 3 0|.
Because they were obtained from the adjoint matrix of the monzos for
[2, 128/125, 81/80] you have v1(2)=12, v1(128/125)=0, v1(81/80) = 0,
which tells you 81/80 and 128/125 are commas for <12 19 28|. You also
have v2(2)=0, v2(128/125)=12, v3(81/80)=0, which tells you v2, which
sends 2 and 81/80 to 0, is the generator val for meantone. Finally you
have v3(2)=0, v3(128/125)=0, v3(81/80)=12. v3 is almost a generator
val for augmented, but that has a period of 1/3 octave, so you have to
divide it by 3 or -3 to get a generator mapping. The fact that the gcd
of 0, 3 and 0 is 3 in fact tells you you have a 1/3 octave period.

🔗monz <monz@attglobal.net>

9/3/2004 4:10:09 PM

--- In tuning-math@yahoogroups.com, "Gene Ward Smith" <gwsmith@s...>
wrote:

> You have three vals, v1 = <12 19 28|, v2 = <0 -1 -4|
> and v3 = <0 3 0|.
> Because they were obtained from the adjoint matrix of the
> monzos for [2, 128/125, 81/80] you have v1(2)=12, v1(128/125)=0,
> v1(81/80) = 0, which tells you 81/80 and 128/125 are commas
> for <12 19 28|. You also have v2(2)=0, v2(128/125)=12,
> v3(81/80)=0,

i think there's a typo there ... don't you mean v2(81/80)=0?

anyway, i'm not clear on how you got that. if v2 = <0 -1 -4|,
where do v2(128/125)=12 and v3(81/80)=0 come from?

> which tells you v2, which sends 2 and 81/80 to 0,
> is the generator val for meantone. Finally you have v3(2)=0,
> v3(128/125)=0, v3(81/80)=12.

again, i'm not seeing how you do this. if v3 = <0 3 0|,
where do v3(128/125)=0 and v3(81/80)=12 come from?

-monz

🔗Gene Ward Smith <gwsmith@svpal.org>

9/3/2004 5:30:32 PM

--- In tuning-math@yahoogroups.com, "monz" <monz@a...> wrote:
> --- In tuning-math@yahoogroups.com, "Gene Ward Smith" <gwsmith@s...>
> wrote:
>
> > You have three vals, v1 = <12 19 28|, v2 = <0 -1 -4|
> > and v3 = <0 3 0|.
> > Because they were obtained from the adjoint matrix of the
> > monzos for [2, 128/125, 81/80] you have v1(2)=12, v1(128/125)=0,
> > v1(81/80) = 0, which tells you 81/80 and 128/125 are commas
> > for <12 19 28|. You also have v2(2)=0, v2(128/125)=12,
> > v3(81/80)=0,
>
>
> i think there's a typo there ... don't you mean v2(81/80)=0?
>
> anyway, i'm not clear on how you got that. if v2 = <0 -1 -4|,
> where do v2(128/125)=12 and v3(81/80)=0 come from?

It's a typo--v2(2)=0, v2(128/125)=12, v2(81/80)=0.

> again, i'm not seeing how you do this. if v3 = <0 3 0|,
> where do v3(128/125)=0 and v3(81/80)=12 come from?

You can check it is true, but it follows from the fact that the
adjoint matrix is twelve times the inverse matrix of your matrix of
monzos.

🔗Graham Breed <graham@microtonal.co.uk>

9/4/2004 2:27:03 AM

monz wrote:

> i know that the first column [12 19 28] is the
> prime-mapping by 12-edo degrees.

Yes, or degrees of a 12 note well temperament, or a 12 note meantone MOS.

> and i know that the second column [0 -1 -4]
> shows the mapping by meantone generators.

Yes.

> ... but what does that third column [0 3 0] mean?

Nothing in particular. Perhaps it will be clearer later on.

> and a deeper explanation of how and why this works
> would be most welcome. i'm trying hard to understand
> this stuff.

I'm going to have to answer your message out of order then :-O

You started with this matrix:

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

It can be thought of as part of an equation in JI:

[oct] [ 1 0 0][log(2)]
[vp1] = [ 7 0 -3][log(3)]
[vp2] [-4 4 -1][log(5)]

(note: the column matrices here are a bit like vals, but consist of real number)

the inverse

> [12 0 0]
> [19 -1 3]
> [28 -4 0]
> ----------
> 12

tells you how to solve the equation for the logarithms of primes

[log(2)] 1[12 0 0][oct]
[log(3)] = --[19 -1 3][vp1]
[log(5)] 12[28 -4 0][vp2]

This is still showing a relationship between just intonation ratios. It also happens to show some other ratios formed from the 12th roots of those ratios. You can also write it

[log(2)] [12 0 0][oct]
12[log(3)] = [19 -1 3][vp1]
[log(5)] [28 -4 0][vp2]

Temperaments are about approximations. As the two vapros are small, making changes to their size will have a small effect on the tuning. So you could always set them to zero.

[approxlog(2)] [12 0 0][oct]
12[approxlog(3)] = [19 -1 3][ 0]
[approxlog(5)] [28 -4 0][ 0]

which can be simplified

[approxlog(2)] [12]
12[approxlog(3)] = [19][oct]
[approxlog(5)] [28]

The "oct" here is simply the octave as we tune it. If you keep it pure, then this is telling us the size of each step in 12-equal. You can also multiply through the left hand side

[steps(2)] [12]
[steps(3)] = [19][oct]
[steps(5)] [28]

so instead of defining the tuning in terms of an arbitrary logarithmic base, it specifies steps of a tempered scale. Now let's bring one of the vapros back

[approxlog(2)] [12 0 0][oct]
12[approxlog(3)] = [19 -1 3][vp1]
[approxlog(5)] [28 -4 0]

and simplify

[approxlog(2)] [12 0][oct]
12[approxlog(3)] = [19 -1][vp1]
[approxlog(5)] [28 -4]

This time, I'll divide through by 12

[approxlog(2)] [12 0][oct/12]
[approxlog(3)] = [19 -1][vp1/12]
[approxlog(5)] [28 -4]

Each approximate prime is now defined by a fraction of a (tempered) octave and a small correction that improves the approximation a bit over equal tempering. Because there's a zero in the log(2) row, you know it is independent of the octave. It happens that you can rearrange this equation to use an octave and generator instead of fractions of approximate intervals. When you do that, the part that doesn't depend on the octave keeps the same mapping as that vp1/12.

Maybe you can decide what the last column means now. It could be another small correction to give you just intonation. Or it could describe how far the tempered scale gets from just intonation. Or maybe it shows an alternative generator mapping you could get by tempering out the other vapro. Most of us ignore that column, and it isn't something you see using the analagous method with wedge products.

Graham

🔗monz <monz@attglobal.net>

9/5/2004 5:17:55 AM

hi Graham,

--- In tuning-math@yahoogroups.com, Graham Breed <graham@m...> wrote:

> monz wrote:
>
> > i know that the first column [12 19 28] is the
> > prime-mapping by 12-edo degrees.
>
> Yes, or degrees of a 12 note well temperament, or
> a 12 note meantone MOS.

yes, thanks for pointing that out to me.
i can see it.

> <snip>
>
> the inverse
>
> > [12 0 0]
> > [19 -1 3]
> > [28 -4 0]
> > ----------
> > 12
>
> tells you how to solve the equation for the logarithms of primes
>
> [log(2)] 1[12 0 0][oct]
> [log(3)] = --[19 -1 3][vp1]
> [log(5)] 12[28 -4 0][vp2]

that had me stumped for a moment.
it would be clearer this way:

[log(2)] 1 [12 0 0] [oct]
[log(3)] = -- * [19 -1 3] * [vp1]
[log(5)] 12 [28 -4 0] [vp2]

> Temperaments are about approximations. As the two vapros are small,
> making changes to their size will have a small effect on the tuning.
So
> you could always set them to zero.
>
> [approxlog(2)] [12 0 0][oct]
> 12[approxlog(3)] = [19 -1 3][ 0]
> [approxlog(5)] [28 -4 0][ 0]

etc.

wow, thanks. the rest of this is great.
i really appreciate it.

-monz