back to list

Calculating Commas from a Wedgie

🔗paulhjelmstad <paul.hjelmstad@us.ing.com>

8/1/2003 8:08:29 AM

I realize that my inquiry was buried in a reply before. I've been
studying the Grassman Algebra "book" and just have a question about
this explanation from Dr. Gene Ward Smith. (Whenever Gene or someone
gets a chance THANKS)

[Gene writes}

Let p = 2^u1 3^u2 5^u3 7^u4 and q = 2^v1 3^v2 5^v3 7^v4, then

p ^ q = [u3*v4-v3*u4,u4*v2-v4*u2,u2*v3-v2*u3,u1*v2-v1*u2,
u1*v3-v1*u3,u1*v4-v1*u4]

Let r be the mapping to primes of an equal temperament given
by r = [u1, u2, u3, u4], and s be given by [v1, v2, v3, v4]. This
means r has u1 notes to the octave, u2 notes in the approximation of
3, and so forth; hence [12, 19, 28, 24] would be the usual 12-equal,
and [31, 49, 72, 87] the usual 31-et. The wedge now is

r ^ s = [u1*v2-v1*u2,u1*v3-v1*u3,u1*v4-v1*u4,u3*v4-v3*u4,
u4*v2-u2*v4,u2*v3-v2*u3]

Whether we've computed in terms of commas or ets, the wedge product
of the linear temperament is exactly the same, up to sign.

If the wedgie is [u1,u2,u3,u4,u5,u6] then we have commas given by

2^u6 3^(-u2) 5^u1
2^u5 3^u3 7^(-u1)
2^u4 5^(-u3) 7^u2
3^u4 5^u5 7^u6

I see that the wedgie was calculated from the two commas or ets, but
here (at the end of Gene's message) we also have 4 commas derived
from the wedgie, how does this work? How are the particular commas
above derived from that particular wedgie. Thanks

Paul

🔗Gene Ward Smith <gwsmith@svpal.org>

8/1/2003 9:45:18 AM

--- In tuning-math@yahoogroups.com, "paulhjelmstad"
<paul.hjelmstad@u...> wrote:
writes}

> If the wedgie is [u1,u2,u3,u4,u5,u6] then we have commas given by
> 2^u6 3^(-u2) 5^u1
> 2^u5 3^u3 7^(-u1)
> 2^u4 5^(-u3) 7^u2
> 3^u4 5^u5 7^u6
>
> I see that the wedgie was calculated from the two commas or ets,
but
> here (at the end of Gene's message) we also have 4 commas derived
> from the wedgie, how does this work? How are the particular commas
> above derived from that particular wedgie. Thanks
>
> Paul

Let's look at some of my Maple code

print(a7int);

This gives the product of two intervals (written as monzos) "down" to
a 7-limit wedgie

proc(r, s)
[r[3]*s[4] - s[3]*r[4], r[4]*s[2] - r[2]*s[4], -r[3]*s[2] + r[2]*s
[3],
r[1]*s[4] - s[1]*r[4], r[3]*s[1] - r[1]*s[3], -r[2]*s[1] + r[1]*s
[2]]
end proc

print(a7val);

This gives the product of two vals up to a 7-limit wedgie

proc(r, s)
[-r[2]*s[1] + r[1]*s[2], r[1]*s[3] - r[3]*s[1], r[1]*s[4] - s[1]*r
[4],
-r[3]*s[2] + r[2]*s[3], r[2]*s[4] - r[4]*s[2], r[3]*s[4] - s[3]*r
[4]]
end proc

print(a7down);

This gives the product of a wedgie and an interval "down" to a val

proc(x, w)
2^(x[4]*w[4] - x[5]*w[3] + x[6]*w[2])*
3^(-x[2]*w[4] + x[3]*w[3] - x[6]*w[1])*
5^(x[1]*w[4] - x[3]*w[2] + x[5]*w[1])*
7^(-x[1]*w[3] + x[2]*w[2] - w[1]*x[4])
end proc

print(a7up);

This gives the product of a wedgie and a val "up" to an interval

proc(l, w)
[l[3]*w[4] + l[2]*w[3] + l[1]*w[2], l[5]*w[4] + w[3]*l[4] - w[1]*l
[1],
w[4]*l[6] - l[4]*w[2] - l[2]*w[1], -w[3]*l[6] - l[5]*w[2] - l[3]*w
[1]]
end proc

We want to find commas belonging to a wedgie whose factors contain
only three out of the possible four primes. However, we can't use any
6-vector of integers as a wedgie, since a wedgie is a "blade", or
wedge product. As such it satisfies an algebraic condition
("Pfaffian" is zero) which, rather than dealing with, I will get
around by taking the product of two intervals, and then taking a
further product and solving for the condition that the resulting val
is zero.

Wedge product up of two monzos:
u := a7int([x1,x2,x3,x4], [y1,y2,y3,y4]);

u := [x3 y4 - y3 x4, x4 y2 - x2 y4, -x3 y2 + x2 y3, x1 y4 - y1 x4,

x3 y1 - x1 y3, -x2 y1 + x1 y2]

Wedge product up of this with a monzo having its "7" coefficient zero:
v := a7down(u, [a,b,c,0]);

v := [(x4 y2 - x2 y4) c + (x3 y4 - y3 x4) b,

c (x1 y4 - y1 x4) - a (x3 y4 - y3 x4),

-(x1 y4 - y1 x4) b - (x4 y2 - x2 y4) a,

-c (-x2 y1 + x1 y2) - (x3 y1 - x1 y3) b - (-x3 y2 + x2 y3) a]

Now solve for a, b, and c:
solve(convert(v,set), {a,b,c});

c (x1 y4 - y1 x4) (-x4 y2 + x2 y4) c
{a = -----------------, b = ------------------, c = c}
x3 y4 - y3 x4 x3 y4 - y3 x4

By comparison with "u" above, we see we can clear denominators and
set a = x1 y4 - y1 x4 = u[4], b = x2 y4 - y2 x4 = -u[2], c = x3y4 -
y3 x4 = u[1]. Hence 2^u[4] 3^(-u[2]) 5^u[1] is a 7-free comma
belonging to the wedgie u. The same calculation works for 2, 3, and 5-
free commas, and for other types of wedgies.

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

8/1/2003 11:51:51 AM

paulhjelmstad wrote:

> Let r be the mapping to primes of an equal temperament given
> by r = [u1, u2, u3, u4], and s be given by [v1, v2, v3, v4]. This
> means r has u1 notes to the octave, u2 notes in the approximation of > 3, and so forth; hence [12, 19, 28, 24] would be the usual 12-equal, > and [31, 49, 72, 87] the usual 31-et. The wedge now is

That's the second time I've seen you post the wrong val for 12-equal. It should be [12, 19, 28, 34]. You'll get a strange pair of unison vectors from the vals you posted!

Graham

🔗paulhjelmstad <paul.hjelmstad@us.ing.com>

8/1/2003 12:30:05 PM

--- In tuning-math@yahoogroups.com, "Gene Ward Smith" <gwsmith@s...>
wrote:
> --- In tuning-math@yahoogroups.com, "paulhjelmstad"
> <paul.hjelmstad@u...> wrote:
> writes}

> We want to find commas belonging to a wedgie whose factors contain
> only three out of the possible four primes. However, we can't use
any
> 6-vector of integers as a wedgie, since a wedgie is a "blade", or
> wedge product. As such it satisfies an algebraic condition
> ("Pfaffian" is zero) which, rather than dealing with, I will get
> around by taking the product of two intervals, and then taking a
> further product and solving for the condition that the resulting
val
> is zero.
>
> Wedge product up of two monzos:
> u := a7int([x1,x2,x3,x4], [y1,y2,y3,y4]);
>
> u := [x3 y4 - y3 x4, x4 y2 - x2 y4, -x3 y2 + x2 y3, x1 y4 - y1 x4,
>
> x3 y1 - x1 y3, -x2 y1 + x1 y2]
>
> Wedge product up of this with a monzo having its "7" coefficient
zero:
> v := a7down(u, [a,b,c,0]);
>
> v := [(x4 y2 - x2 y4) c + (x3 y4 - y3 x4) b,
>
> c (x1 y4 - y1 x4) - a (x3 y4 - y3 x4),
>
> -(x1 y4 - y1 x4) b - (x4 y2 - x2 y4) a,
>
> -c (-x2 y1 + x1 y2) - (x3 y1 - x1 y3) b - (-x3 y2 + x2 y3) a]

Not sure why this last product has three terms. I get
-[u6]c-[u5]b-[u3]a, obviously. What motivates the choices of [un]in
this wedge product?

> Now solve for a, b, and c:
> solve(convert(v,set), {a,b,c});
>
>
> c (x1 y4 - y1 x4) (-x4 y2 + x2 y4) c
> {a = -----------------, b = ------------------, c = c}
> x3 y4 - y3 x4 x3 y4 - y3 x4
>
> By comparison with "u" above, we see we can clear denominators and
> set a = x1 y4 - y1 x4 = u[4], b = x2 y4 - y2 x4 = -u[2], c = x3y4 -
> y3 x4 = u[1]. Hence 2^u[4] 3^(-u[2]) 5^u[1] is a 7-free comma
> belonging to the wedgie u. The same calculation works for 2, 3, and
5-
> free commas, and for other types of wedgies.

I'll take your word for this part. Hey thanks for the explanation,
really appreciate it.

🔗paulhjelmstad <paul.hjelmstad@us.ing.com>

8/4/2003 10:40:08 AM

--- In tuning-math@yahoogroups.com, "paulhjelmstad"
<paul.hjelmstad@u...> wrote:
> --- In tuning-math@yahoogroups.com, "Gene Ward Smith"
<gwsmith@s...>
> wrote:
> > --- In tuning-math@yahoogroups.com, "paulhjelmstad"
> > <paul.hjelmstad@u...> wrote:
> > writes}
> > >
> > Wedge product up of this with a monzo having its "7" coefficient
> zero:
> > v := a7down(u, [a,b,c,0]);
> >
> > v := [(x4 y2 - x2 y4) c + (x3 y4 - y3 x4) b,
> >
> > c (x1 y4 - y1 x4) - a (x3 y4 - y3 x4),
> >
> > -(x1 y4 - y1 x4) b - (x4 y2 - x2 y4) a,
> >
> > -c (-x2 y1 + x1 y2) - (x3 y1 - x1 y3) b - (-x3 y2 + x2 y3) a]
>
> Not sure why this last product has three terms. I get
> -[u6]c-[u5]b-[u3]a, obviously. What motivates the choices of [un]in
> this wedge product?

Figured it out. This is beautiful stuff...