back to list

Question about LLL reduction

🔗Mike Battaglia <battaglia01@gmail.com>

1/22/2012 9:26:31 PM

Every rank-2 temperament comes in three index-1 contorted forms. For
example, meantone gives you the thing that's like 5-limit injera, the
thing that's like 5-limit semaphore, and the thing that's like 5-limit
mohajira. These can be viewed as 81/80-temperings of three different
"contorted JI lattices," given by the following bases, which I'll call
"unreduced" bases:

UNREDUCED BASES
"Injera": {sqrt(2/1), 3/2, 81/80} - <[1/2 0 0> [-1 1 0> [-4 4 -1>]
"Semaphore": {2/1, sqrt(4/3), 81/80} - <[1 0 0> [1 -1/2 0> [0 0 1>]
"Mohajira": {2/1, sqrt(3/2), 81/80} - <[1 0 0> [-1/2 1/2 0> [0 0 1>]

I wanted to get a reduced basis for each of these lattices. The first
two are simple enough to figure out mentally, and I only wrote the
full version above to show a full derivation of what I'm doing. The
"reduced" bases which LLL spits out, and which anyone who thinks about
it will clearly see, are the following

REDUCED BASES
"Injera": {sqrt(2/1), 3/1, 5/1} - <|1/2 0 0> |0 1 0> |0 0 1>]
"Semaphore": {2/1, sqrt(3/1), 5/1} - <|1 0 0> |0 1/2 0> |0 0 1>]

But, for some reason, LLL spits the same thing out for "mohajira" that
it does for "semaphore"!

"Mohajira": {2/1, sqrt(3/1), 5/1} - <|1 0 0> |0 1/2 0> |0 0 1>] - ?

Why the heck is it doing this? My input vectors for "mohajira" were |1
0 0>, |-1/2 1/2 0>, and |0 0 1>. There is no way to get to the vector
|0 1/2 0>, which is what LLL keeps spitting out, from an integer
combination of those vectors. I declared the matrix in Maple using
only rationals, so it ought to be performing proper rational
arithmetic from this.

What gives?

-Mike

🔗Mike Battaglia <battaglia01@gmail.com>

1/22/2012 9:55:00 PM

Never mind, I figured it out: Maple's LLL routine takes a Matrix as
input, but assumes the -row- vectors are the basis vectors you're
trying to minimize. In my case, out of force of habit, I had input the
monzos as column vectors.

This is what it spits out now:

REDUCED BASES
"Injera": {sqrt(2/1), 3/1, 5/1} - <|1/2 0 0> |0 1 0> |0 0 1>]
"Semaphore": {2/1, sqrt(3/1), 5/1} - <|1 0 0> |0 1/2 0> |0 0 1>]
"Mohajira": {sqrt(3/2), sqrt(6/1), 5/1} - <|-1/2 1/2 0> |1/2 1/2 0> |0 0 1>]

Strange choice of basis for the last thing, but that's what you get.
It all works out a bit nicer if you use Hermite normal form on the
inverse transposed matrix and then inverse transpose again at the end.

-Mike

On Mon, Jan 23, 2012 at 12:26 AM, Mike Battaglia <battaglia01@gmail.com> wrote:
> Every rank-2 temperament comes in three index-1 contorted forms. For
> example, meantone gives you the thing that's like 5-limit injera, the
> thing that's like 5-limit semaphore, and the thing that's like 5-limit
> mohajira. These can be viewed as 81/80-temperings of three different
> "contorted JI lattices," given by the following bases, which I'll call
> "unreduced" bases:
>
> UNREDUCED BASES
> "Injera": {sqrt(2/1), 3/2, 81/80} - <[1/2 0 0> [-1 1 0> [-4 4 -1>]
> "Semaphore": {2/1, sqrt(4/3), 81/80} - <[1 0 0> [1 -1/2 0> [0 0 1>]
> "Mohajira": {2/1, sqrt(3/2), 81/80} - <[1 0 0> [-1/2 1/2 0> [0 0 1>]
>
> I wanted to get a reduced basis for each of these lattices. The first
> two are simple enough to figure out mentally, and I only wrote the
> full version above to show a full derivation of what I'm doing. The
> "reduced" bases which LLL spits out, and which anyone who thinks about
> it will clearly see, are the following
>
> REDUCED BASES
> "Injera": {sqrt(2/1), 3/1, 5/1} - <|1/2 0 0> |0 1 0> |0 0 1>]
> "Semaphore": {2/1, sqrt(3/1), 5/1} - <|1 0 0> |0 1/2 0> |0 0 1>]
>
> But, for some reason, LLL spits the same thing out for "mohajira" that
> it does for "semaphore"!
>
> "Mohajira": {2/1, sqrt(3/1), 5/1} - <|1 0 0> |0 1/2 0> |0 0 1>] - ?
>
> Why the heck is it doing this? My input vectors for "mohajira" were |1
> 0 0>, |-1/2 1/2 0>, and |0 0 1>. There is no way to get to the vector
> |0 1/2 0>, which is what LLL keeps spitting out, from an integer
> combination of those vectors. I declared the matrix in Maple using
> only rationals, so it ought to be performing proper rational
> arithmetic from this.
>
> What gives?
>
> -Mike

🔗Mike Battaglia <battaglia01@gmail.com>

1/23/2012 4:30:48 AM

On Mon, Jan 23, 2012 at 7:00 AM, genewardsmith
<genewardsmith@sbcglobal.net> wrote:
>
> --- In tuning-math@yahoogroups.com, Mike Battaglia <battaglia01@...> wrote:
> >
> > Every rank-2 temperament comes in three index-1 contorted forms.
>
> My problems with this posting start with the first sentence, where you introduce an idea you don't define.

Um, the above was actually a typo, it should say index-2. But I've
defined the word "index" before. Actually, I think Keenan defined it.
See here:

http://tech.dir.groups.yahoo.com/group/tuning-math/message/19414

If it's not clear, I'll define it again, specifically for contorsion
this time. For this definition, let a "contemperament" be the thing
that's like a temperament but with contorsion, and let the "reduced
temperament" of a contemperament be the temperament that results if
you get rid of the contorsion.

Note that a temperament or a contemperament can be defined by a
collection of vals, which define a Bravais lattice. I'll call this the
"val lattice" for a temperament or a contemperament, and note that it
uniquely defines an instance of either. Then a contemperament's "index
of contorsion," or "index" for short, is equal to the volume of the
unit cell of its val lattice, divided by the volume of the unit cell
of the val lattice of its reduced temperament.

> What do the fractional vals you use mean?

Look at the thing I called "semaphore" in scare quotes before, which
is basically 5-limit meantone with the generator for 3/1 split in
half. If you want to draw out the lattice of the resulting
contemperament, one basis is to have an axis representing 2/1, and the
other axis representing an interval not mapped by JI, but two of which
give you 4/3.

Now throw in 81/80, as a third axis. A nicely reduced basis for this
lattice is given by 2/1, 5/1, and another thing which is undefined,
but two of which is 3/1. We can represent the third by the monzo |0
0.5 0>, and note that the "semaphore"-esque meantone contemperament is
what results if you 81/80 temper this contorted JI lattice. I don't
know what to call this so I'll call it a "contorted JI lattice" for
now.

There are two things about this which I think are notable:
1) If you contort a temperament by an index of 2, the volume of the
unit cell of its val lattice doubles.
2) If you contort a temperament by an index of 2, the volume of the
unit cell of the "JI" lattice gets cut in half.

So after reading up a fair amount on Bravais lattices, this reciprocal
relationship means that some notion of the "reciprocal lattice" is
involved here, which might be useful in studying the properties of
contemperaments. I'd like to say that this has something to do with
Pontryagin duality, but every time I think I understand the Wikipedia
article on it, there's another Wikipedia article somewhere else that
uses the term in a totally different manner.

Anyway, that's about it. I don't have anything concrete, because I'm
still playing around with it. All I needed to keep poking around was
to get my LLL routine fixed, and it's working now.

-Mike