I've caught up with this. Scripts are at

<http://x31eq.com/temper.py>

<http://x31eq.com/vectors.py>

<http://x31eq.com/makeSurvey.py>

<http://x31eq.com/paul.survey>

And results at

There's still a problem with calculating the containing MOS. I've managed to

work around that by not calculating the containing MOS. It looks right as

far as I can tell. Unison vectors aren't LLL reduced, and some might be very

wrong. If you want other combinations done, it's very easy to feed it a

different input file. Only 7-limit currently.

Graham

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

> <http://x31eq.com/survey.out>

input vectors

49:50

4374:4375

calculated vectors

17496:16807

9765625:9565938

Yipe! How are these being calculated?

genewardsmith@juno.com () wrote:

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

>

> > <http://x31eq.com/survey.out>

>

> input vectors

> 49:50

> 4374:4375

>

> calculated vectors

> 17496:16807

> 9765625:9565938

>

> Yipe! How are these being calculated?

I've included the code below. It looks at the mapping, finds a unison

involving each prime interval, and then tries to simplify it. The results

here in vector form are [3, 7, 0, -5] and [-1, -14, 10, 0]. However it

combines them, even apparently if it used an LLL algorithm, it couldn't

get rid of the common factors of 7, 10 and 5 in the last three columns.

I can't even work out how to simplify the original vectors of

[-1, 0, -2, 2] and [1, 7, -4, -1]. I'm worryingly close to deciding that

it can't be done.

def getUnisonVectors(self):

# find some vectors that work

H = [1]+self.primes

hcf = self.mapping[0][0]

fifthIndex = 1

while self.mapping[fifthIndex][1]==0:

fifthIndex = fifthIndex + 1

#okay, so this won't index the fifth any more

fifth = self.mapping[fifthIndex]

denom = -hcf*fifth[1]

vectors = []

for index in range(1,len(self.mapping)):

if index == fifthIndex:

continue

m, n = self.mapping[index]

vector = [0]*len(H)

vector[0] = fifth[1]*m-fifth[0]*n

vector[fifthIndex] = hcf*n

vector[index] = denom

vectors.append(normalizeInterval(vector, H))

# now simplify them

nOthers = len(vectors)-1

cmpfn = intervalCompare(H)

while nOthers:

# loop until broken if there are alternatives

vectors.sort(cmpfn)

worst = vectors[nOthers]

for index in range(nOthers):

alternative = normalizeInterval(

map(operator.add, vectors[index],worst))

if cmpfn(alternative, worst)<0:

vectors[nOthers]=alternative

break

alternative = normalizeInterval(

map(operator.sub, vectors[index],worst), H)

if cmpfn(alternative, worst)<0:

vectors[nOthers]=alternative

break

else:

# can't be improved

break;

return vectors

--- In tuning-math@y..., graham@m... wrote:

> I can't even work out how to simplify the original vectors of

> [-1, 0, -2, 2] and [1, 7, -4, -1]. I'm worryingly close to

deciding that

> it can't be done.

I get that <49/48, 4375/4374> is already Minkowski reduced, and when

I LLL reduced it, I got <49/48, 5103/5000> which hardly seems like an

improvement.

Why don't you write something to Minkowski reduce a pair of 7-limit

intervals according to Tenney height? There may not be an intelligent

algorithm, but the problem is so small you don't need one. You can

calculate bounds on how far you need to search, and simply search

that region. It's been working well for me.

--- In tuning-math@y..., genewardsmith@j... wrote:

> --- In tuning-math@y..., graham@m... wrote:

>

> > I can't even work out how to simplify the original vectors of

> > [-1, 0, -2, 2] and [1, 7, -4, -1]. I'm worryingly close to

> deciding that

> > it can't be done.

>

> I get that <49/48, 4375/4374> is already Minkowski reduced, and

when

> I LLL reduced it, I got <49/48, 5103/5000> which hardly seems like

an

> improvement.

Haven't I convinced you that Minkowski is that way to go rather than

LLL? In either case, could you please explain the mathematical

criterion that defines "Minkowski reduced", as you did for LLL?

--- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

> Haven't I convinced you that Minkowski is that way to go rather

than

> LLL?

Sure.

In either case, could you please explain the mathematical

> criterion that defines "Minkowski reduced", as you did for LLL?

Let p/q be reduced to lowest terms; then T(p/q) = pq. A pair of

intervals {p/q, r/s} with p/q>1, r/s>1, T(p/q) < T(r/s) and p/q and

r/s independent is Minkowski reduced iff the only numbers in the set

{(p/q)^i (r/s)^j} such that T(t/u) < T(r/s) are powers of p/q.

--- In tuning-math@y..., genewardsmith@j... wrote:

> > In either case, could you please explain the mathematical

> > criterion that defines "Minkowski reduced", as you did for LLL?

>

> Let p/q be reduced to lowest terms; then T(p/q) = pq. A pair of

> intervals {p/q, r/s} with p/q>1, r/s>1, T(p/q) < T(r/s) and p/q and

> r/s independent is Minkowski reduced iff the only numbers in the

set

> {(p/q)^i (r/s)^j} such that T(t/u) < T(r/s) are powers of p/q.

That's astoundingly simple! Wouldn't it be quite reasonable to

further require that the only ratio t/u in the set {(p/q)^i (r/s)^j}

such that T(t/u) < T(r/s), is p/q itself? The idea would be that

otherwise, the two unison vectors are "mismatched".

--- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

> That's astoundingly simple! Wouldn't it be quite reasonable to

> further require that the only ratio t/u in the set {(p/q)^i (r/s)

^j}

> such that T(t/u) < T(r/s), is p/q itself? The idea would be that

> otherwise, the two unison vectors are "mismatched".

I think it would be worthwhile to take a look and see if we miss

anything which is really a keeper that way, and if not, go for it.

--- In tuning-math@y..., genewardsmith@j... wrote:

> --- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

>

> > That's astoundingly simple! Wouldn't it be quite reasonable to

> > further require that the only ratio t/u in the set {(p/q)^i (r/s)

> ^j}

> > such that T(t/u) < T(r/s), is p/q itself? The idea would be that

> > otherwise, the two unison vectors are "mismatched".

>

> I think it would be worthwhile to take a look and see if we miss

> anything which is really a keeper that way, and if not, go for it.

I think this is priority #1. Simple, good, complicated, bad. The two

shortest unison vectors. Nice. If we can narrow it down this way, we

might really have a presentable paper together in time for

publication.

Offhand questions:

(a) Can all, or a great majority, of the systems be expressed in

terms of two superparticular unison vectors?

(b) Are all systems expressible in terms of two superparticular

unison vectors torsion-free?

> --- In tuning-math@y..., genewardsmith@j... wrote:

>

> > > In either case, could you please explain the mathematical

> > > criterion that defines "Minkowski reduced", as you did for LLL?

> >

> > Let p/q be reduced to lowest terms; then T(p/q) = pq. A pair of

> > intervals {p/q, r/s} with p/q>1, r/s>1, T(p/q) < T(r/s) and p/q

and

> > r/s independent is Minkowski reduced iff the only numbers in the

> set

> > {(p/q)^i (r/s)^j} such that T(t/u) < T(r/s) are powers of p/q.

Rather than "Minkowski reduced", why don't we call this particular

definition the definition of "Tenney-Minkowski" reduced; or, if

Minkowski himself isn't really involved in any big way, "Tenney-

Smith" reduced?

--- In tuning-math@y..., genewardsmith@j... wrote:

> --- In tuning-math@y..., graham@m... wrote:

>

> > I can't even work out how to simplify the original vectors of

> > [-1, 0, -2, 2] and [1, 7, -4, -1]. I'm worryingly close to

> deciding that

> > it can't be done.

>

> I get that <49/48, 4375/4374> is already Minkowski reduced,

You mean 50/49, not 49/48, right?

In-Reply-To: <9tt1hk+ua76@eGroups.com>

Paul asked:

> (a) Can all, or a great majority, of the systems be expressed in

> terms of two superparticular unison vectors?

Well, I don't know of a pair for septimal schismic. The simplest are

225:224 and 5120:5103. With 5-limit temperaments, you don't have any

choice.

Graham

--- In tuning-math@y..., "Paul Erlich" <paul@s...> wrote:

> Rather than "Minkowski reduced", why don't we call this particular

> definition the definition of "Tenney-Minkowski" reduced; or, if

> Minkowski himself isn't really involved in any big way, "Tenney-

> Smith" reduced?

It's bad form to name something after yourself, and the hypenated

names are too long, but I could go for "TM-reduced".