back to list

metric visualization

🔗Kees van Prooijen <kees@dnai.com>

1/12/2002 3:04:32 PM

Paul E. asked me (repeatedly I'm afraid, sorry Paul :-( to clear-up my
pictures in http://www.kees.cc/tuning/lat_perbl.html
Especially the last one apparently causes confusion because of the mixed
taxicab-euclidean paradigm.
Well, it's just a (lame) attempt to visualize the metrics Paul and I use in
a Euclidean context. So it's _not_ a transformation to a Euclidean metric.
The paradox I mention is in the interpretation of the lattice picture. Equal
distances in the metric are not equal in the picture. (Because then it
_would_ be Euclidean.) So in the last picture I distort the image so that
all distances from the center to the lattice points correspond with the
Euclidean distance we actually see. But this only works for these distances
(relative to the center).
Hope this helps.

🔗paulerlich <paul@stretch-music.com>

1/14/2002 8:12:19 AM

--- In tuning-math@y..., "Kees van Prooijen" <kees@d...> wrote:
> Paul E. asked me (repeatedly I'm afraid, sorry Paul :-( to clear-up
my
> pictures in http://www.kees.cc/tuning/lat_perbl.html
> Especially the last one apparently causes confusion because of the
mixed
> taxicab-euclidean paradigm.
> Well, it's just a (lame) attempt to visualize the metrics Paul and
I use in
> a Euclidean context. So it's _not_ a transformation to a Euclidean
metric.
> The paradox I mention is in the interpretation of the lattice
picture. Equal
> distances in the metric are not equal in the picture. (Because then
it
> _would_ be Euclidean.) So in the last picture I distort the image
so that
> all distances from the center to the lattice points correspond with
the
> Euclidean distance we actually see. But this only works for these
distances
> (relative to the center).
> Hope this helps.

Thanks Kees. I hope you'll be patient with me, because there's much
I'm trying to figure out.

Let's drop the Euclidean bit entirely, even from a given reference
point. I don't think it helps us at all. It's easy enough to
understand a taxicab metric, or whatever you call its triangular
generalization.

I'm trying to understand the two middle lattices you show on that
page. Although "mine" would seem to agree with your own feeling
(expressed on your main page) that an appropriate error weighting for
evaluating temperaments would be

f3 + log(3)/log(5)*f5 + log(3)/log(5)*f(5/3)
(I would love for you to explain this feeling if you could)

, there seems to be something desirable about "yours" -- for one
thing, I have a strong hope that your lattice implies some alternate
error weighting (and perhaps a nonlinear formula) that would make
my "heuristic" almost exactly perfect. My heuristic is that, if you
temper out _one_ unison vector n:d in the 5-limit, and hence end up
with a linear temperament, if you then optimize the generator
according to the "right" error function, the temperament's
(minimized) error is proportional to

(n-d)/(d*log(d))

I have found that a simple error function, an equal-weighted RMS over
the three consonant intervals, bears out the heuristic to within a
factor of 2 for an extremely wide range of unison vectors (one might
say all of them). I'm searching for the error function which will
make my heuristic almost exactly perfect -- and I
suspect "your" "taxicab" metric has a whole lot to do with it. So
far, Gene has not helped me at all -- perhaps you can help??

Thanks,
Paul

🔗manuel.op.de.coul@eon-benelux.com

1/14/2002 8:33:44 AM

From my experience with taxis in Asia, I can tell that
the "taxicab" metric is not always identical to the
"city block" metric :-)

Manuel

🔗monz <joemonz@yahoo.com>

1/14/2002 9:05:23 AM

> From: <manuel.op.de.coul@eon-benelux.com>
> To: <tuning-math@yahoogroups.com>
> Sent: Monday, January 14, 2002 8:33 AM
> Subject: Re: [tuning-math] Re: metric visualization
>
>
>
> From my experience with taxis in Asia, I can tell that
> the "taxicab" metric is not always identical to the
> "city block" metric :-)

Hah! That's funny.

Manuel, I noticed in your "tips.par" file that you refer
to the taxicab metric as a "Manhattan" metric. I like that.

-monz

_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com

🔗keesvp <kees@dnai.com>

1/14/2002 12:59:40 PM

Hi Paul,

Just from the top of my head, try this:
Take the inverse of the last matrix I mention, so you get:

( 0.5 * sqrt(3) * log(5) -0.5 * log(5) )
( 0 log(3) )

or

( 0.91024 -0.52553 )
( 0.00000 0.57735 )

As error function, make a vector of the (signed) errors for 3 and 5,
multiply this with the constructed matrix, take the norm of the
result as error.
Curious if this will work as you expect. To be exact the non-linear
correction as resulting in the last picture should also be applied (I
think), but I doubt that will very influential.

Kees

🔗paulerlich <paul@stretch-music.com>

1/14/2002 1:50:24 PM

--- In tuning-math@y..., "keesvp" <kees@d...> wrote:
> Hi Paul,
>
> Just from the top of my head, try this:
> Take the inverse of the last matrix I mention, so you get:
>
> ( 0.5 * sqrt(3) * log(5) -0.5 * log(5) )
> ( 0 log(3) )
>
> or
>
> ( 0.91024 -0.52553 )
> ( 0.00000 0.57735 )
>
> As error function, make a vector of the (signed) errors for 3 and
5,
> multiply this with the constructed matrix, take the norm of the
> result as error.

To verify that I did this right, does the "van-Prooijen-optimal
meantone" have a generator of 695.982 cents?

> Curious if this will work as you expect.

I get 0.00576743 as the error in octaves of this meantone. Now for
the Enneadecal temperament, based on unison vector

2^14 * 3^19 * 5^-19 ,

I get 497.994 cents as the van-Prooijen-optimal generator (period
1/19 oct.), and 0.000152973 octave as the error.

Now (81-80)/(81*log(81)) = 0.00280938, and 0.00280938/0.00576743 =
0.487111

Meanwhile, (5^19 - 2^14 * 3^19)/(5^19 * log(5^19)) = 5.314056e-5, and
5.314056e-5/0.000152973 = 0.347385

So, this looks like a "no-go" . . . can you verify that my
calculations are correct?

> To be exact the non-linear
> correction as resulting in the last picture should also be applied
(I
> think), but I doubt that will very influential.

Again, I'm not seeing what the pseudo-Euclidean picture could have to
offer. Isn't the taxicab metric already "perfect" -- or am I missing
something?

🔗paulerlich <paul@stretch-music.com>

1/14/2002 1:56:58 PM

Kees, when I calculate this:
>
> ( 0.5 * sqrt(3) * log(5) -0.5 * log(5) )
> ( 0 log(3) )

I don't get

> ( 0.91024 -0.52553 )
> ( 0.00000 0.57735 )

as you said -- instead I get

( 1.3938 -0.80472 )
( 0 1.0986 )

or, using base-5 logs,

( 0.86603 -0.5 )
( 0 0.68261 )

Did you have a typo somewhere?

🔗keesvp <kees@dnai.com>

1/14/2002 2:01:57 PM

--- In tuning-math@y..., "paulerlich" <paul@s...> wrote:
>
> Did you have a typo somewhere?

Sorry Paul, forgot to divide by determinant in symbolic expression.
The numerics should be ok.

🔗paulerlich <paul@stretch-music.com>

1/14/2002 2:08:51 PM

--- In tuning-math@y..., "keesvp" <kees@d...> wrote:
> --- In tuning-math@y..., "paulerlich" <paul@s...> wrote:
> >
> > Did you have a typo somewhere?
>
> Sorry Paul, forgot to divide by determinant in symbolic expression.
> The numerics should be ok.

The two matrices you gave (one with formulae, one with 5-digit
numbers) do not agree, even up to a multiplicative constant. So am I
to take the matrix with 5-digit numbers? If I do, I get 695.72 cents
as the optimal meantone generator, with error 0.0036241 oct.; I get
498.02 cents as the optimal enneadecal generator, with error 9.3852e-
005 . . . now 0.0036241/0.0028094 = 1.29, and 9.3852e-5/5.3141e-5 =
1.7661 . . . so this doesn't seem to work either . . . can you verify
my numbers?

🔗keesvp <kees@dnai.com>

1/14/2002 2:43:54 PM

--- In tuning-math@y..., "paulerlich" <paul@s...> wrote:
> to take the matrix with 5-digit numbers? If I do, I get 695.72
cents
> as the optimal meantone generator, with error 0.0036241 oct.; I get
> 498.02 cents as the optimal enneadecal generator, with error
9.3852e-
> 005 . . . now 0.0036241/0.0028094 = 1.29, and 9.3852e-5/5.3141e-5 =
> 1.7661 . . . so this doesn't seem to work either . . . can you
verify
> my numbers?

I really shouldn't be tempted to do this from my job. I'm not
equipped with tools and time to do it right.
I don't know what went wrong, but the right numbers as far as I can
see now (cross my fingers) are:
( 0.91024 -0.52553 )
( 0.00000 0.71746 )
I will take a better look at it tonight.

Kees

🔗paulerlich <paul@stretch-music.com>

1/14/2002 2:49:20 PM

--- In tuning-math@y..., "keesvp" <kees@d...> wrote:

> I don't know what went wrong, but the right numbers as far as I can
> see now (cross my fingers) are:
> ( 0.91024 -0.52553 )
> ( 0.00000 0.71746 )

This gives the same result as your original, formulaically expressed
matrix.

> I will take a better look at it tonight.

I appreciate it greatly.

🔗paulerlich <paul@stretch-music.com>

1/14/2002 3:17:31 PM

By the way, Kees, by "norm" I assume you meant the 2-norm . . . but
that would be the Euclidean norm . . . would the appropriate taxicab
norm be, instead, the maximum of the entries in the vector? Or what?

🔗keesvp <kees@dnai.com>

1/14/2002 4:14:17 PM

That's exactly what the nonlinear thingy is about, to correct the
result of the linear transformation and euclidean norm. I guess you
could avoid all this by just taking the conditional metric I started
with.

--- In tuning-math@y..., "paulerlich" <paul@s...> wrote:
> By the way, Kees, by "norm" I assume you meant the 2-norm . . . but
> that would be the Euclidean norm . . . would the appropriate
taxicab
> norm be, instead, the maximum of the entries in the vector? Or what?

🔗paulerlich <paul@stretch-music.com>

1/15/2002 1:33:18 PM

The conditional metric -- isn't this just a triangular-taxicab metric
over a suitably defined lattice?

P.S. Assuming that, and so using max instead of Euclidean norm, I
found some slight variation of your matrix last night, that seemed to
get the meantone number to agree with the enneadecal number . . . but
today, I've lost it! HELP!!

--- In tuning-math@y..., "keesvp" <kees@d...> wrote:
> That's exactly what the nonlinear thingy is about, to correct the
> result of the linear transformation and euclidean norm. I guess you
> could avoid all this by just taking the conditional metric I
started
> with.
>
> --- In tuning-math@y..., "paulerlich" <paul@s...> wrote:
> > By the way, Kees, by "norm" I assume you meant the 2-norm . . .
but
> > that would be the Euclidean norm . . . would the appropriate
> taxicab
> > norm be, instead, the maximum of the entries in the vector? Or
what?

🔗keesvp <kees@dnai.com>

1/15/2002 2:00:56 PM

--- In tuning-math@y..., "paulerlich" <paul@s...> wrote:
> The conditional metric -- isn't this just a triangular-taxicab
metric
> over a suitably defined lattice?
>
> P.S. Assuming that, and so using max instead of Euclidean norm, I
> found some slight variation of your matrix last night, that seemed
to
> get the meantone number to agree with the enneadecal number . . .
but
> today, I've lost it! HELP!!
>
> --- In tuning-math@y..., "keesvp" <kees@d...> wrote:
> > That's exactly what the nonlinear thingy is about, to correct the
> > result of the linear transformation and euclidean norm. I guess
you
> > could avoid all this by just taking the conditional metric I
> started
> > with.
> >
> > --- In tuning-math@y..., "paulerlich" <paul@s...> wrote:
> > > By the way, Kees, by "norm" I assume you meant the 2-norm . . .
> but
> > > that would be the Euclidean norm . . . would the appropriate
> > taxicab
> > > norm be, instead, the maximum of the entries in the vector? Or
> what?

🔗keesvp <kees@dnai.com>

1/15/2002 2:03:39 PM

Wel, isn't this yahoo interface nice. Here we go again:

I don't think MAX will work, because that's a symmetric square
metric, and we want a condition on the signs being equal or not.
I am now pretty sure the much to small generator is due to the non-
linear effects. The inverse matrix maps the hexagon to interval
space. The euclidean norm looks at circles. So I guess you first
should do the non-linear transformation circle -> hexagon.
That's getting complicated. That's why I suggested taking
the 'reversed' metric to begin with:

Let f3 and f5 be the errors.
If they are of equal sign:
error = max( |f3*log(5)|, |f5*log(3)| )
else:
error = |f3*log(5)| + |f5*log(3)|

I'm afraid I'm being much more intuitive than scientific here. In the
normal meantone case it gives regular 1/4 comma anyway as far as I
can see, so I really don't dare to say if it will be interesting in
any way, or even makes sense.

Kees

🔗paulerlich <paul@stretch-music.com>

1/15/2002 2:54:23 PM

--- In tuning-math@y..., "keesvp" <kees@d...> wrote:
> Wel, isn't this yahoo interface nice. Here we go again:
>
> I don't think MAX will work, because that's a symmetric square
> metric, and we want a condition on the signs being equal or not.

OK -- how about a MAX on the _three_ consonant intervals?

> I am now pretty sure the much to small generator is due to the non-
> linear effects. The inverse matrix maps the hexagon to interval
> space. The euclidean norm looks at circles. So I guess you first
> should do the non-linear transformation circle -> hexagon.
> That's getting complicated.

Yes, and I don't see any reason to use the euclidean norm.

> That's why I suggested taking
> the 'reversed' metric to begin with:

Did not understand that.

> Let f3 and f5 be the errors.
> If they are of equal sign:
> error = max( |f3*log(5)|, |f5*log(3)| )
> else:
> error = |f3*log(5)| + |f5*log(3)|

This is fine, but what about the geometry of _your_ triangular
lattice? _That_ would seem to be the one that would work, while here
it seems you're using _my_ triangular lattice.

> I'm afraid I'm being much more intuitive than scientific here. In
the
> normal meantone case it gives regular 1/4 comma anyway as far as I
> can see, so I really don't dare to say if it will be interesting in
> any way, or even makes sense.

I'll check it out later, as well as any other alternative based on
_your_ lattice that you might wish to present.

🔗paulerlich <paul@stretch-music.com>

1/16/2002 3:45:09 PM

--- In tuning-math@y..., "keesvp" <kees@d...> wrote:

> Let f3 and f5 be the errors.
> If they are of equal sign:
> error = max( |f3*log(5)|, |f5*log(3)| )
> else:
> error = |f3*log(5)| + |f5*log(3)|
>
> I'm afraid I'm being much more intuitive than scientific here. In
the
> normal meantone case it gives regular 1/4 comma anyway as far as I
> can see

Kees, I don't think it gives 1/4-comma meantone.

In the vicinity of 1/4-comma meantone, since the errors are the same
sign,

error = max( |f3*log(5)|, |f5*log(3)| )

But f3 and f5 are equal in 1/4-comma meantone, while this error
function is actually minimized with a fifth of 698.01 cents.

However, I don't think your original formula makes much sense.
Shouldn't "if they are of equal sign" be replaced with "if they are
of opposite sign"?

In any case, if I directly use the formula you use to evaluate ETs on
http://www.kees.cc/tuning/perbl.html:

f3 + log(3)/log(5)*f5 + log(3)/log(5)*f(5/3)

intepret f3, f5, and f(5/3) as absolute values, and minimize this
sum, I do get 1/4-comma meantone. But if I take the MAX instead of
the sum of these three terms, I get a fifth of 697.1160 cents. This
is quite nice, and might belong on the table of optimal meantones.

Is this the "Kees optimal meantone" corresponding to my triangular
lattice in http://www.kees.cc/tuning/lat_perbl.html ?

If so, what error function would we use to calculate the "Kees
optimal meantone" corresponding to _your_ triangular lattice, the one
right after mine, in http://www.kees.cc/tuning/lat_perbl.html ? I'd
be pleased if you gave me a bunch of guesses -- the more I have to
try out, the better.

🔗paulerlich <paul@stretch-music.com>

1/16/2002 10:59:12 PM

I wrote,

> In any case, if I directly use the formula you use to evaluate ETs
on
> http://www.kees.cc/tuning/perbl.html:
>
> f3 + log(3)/log(5)*f5 + log(3)/log(5)*f(5/3)
>
> intepret f3, f5, and f(5/3) as absolute values, and minimize this
> sum, I do get 1/4-comma meantone. But if I take the MAX instead of
> the sum of these three terms, I get a fifth of 697.1160 cents. This
> is quite nice, and might belong on the table of optimal meantones.
>
> Is this the "Kees optimal meantone" corresponding to my triangular
> lattice in http://www.kees.cc/tuning/lat_perbl.html ?

If so, it might be the one (or one) we want to consider for our paper.

But just to test how close it comes to my heuristic:

meantone: heuristic error = 0.00280938; optimized error = 0.00649007;
ratio = 0.43287

enneadecal: heuristic error = 5.31406e-5; optimized error = 1.35666e-
4; ratio = 0.39170

Still not as good as it should be.

What if I try the weights off Kees' here-posted matrix directly:

0.5 * sqrt(3) * log(5) for f3;
0.5 * log(5) for f(5/3);
log(3) for f5.

Then I get

meantone: heuristic error = 0.00280938; (optimal generator =
697.417¢;) optimized error = 0.00529287; ratio = 0.53078

enneadecal: heuristic error = 5.31406e-5; optimized error = 9.93739e-
5; ratio = 0.53475

Now that's more like it! If I use 80 instead of 81 for d in the
meantone one, I get a ratio of 0.539 instead if .531 -- so we seem to
have perfect agreement within the vagaries of the heuristic!

Now it's time to try one more example -- how about the 5-limit MAGIC
system? The UV is 3125:3072 . . .

magic: heuristic error = 0.002107568; (optimal generator = 380.791¢;)
optimized error = 0.005056214; ratio = 0.41682 :(

This is so sad! Who can fix this?

🔗paulerlich <paul@stretch-music.com>

1/16/2002 11:19:05 PM

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

> What if I try the weights off Kees' here-posted matrix directly:
>
> 0.5 * sqrt(3) * log(5) for f3;
> 0.5 * log(5) for f(5/3);
> log(3) for f5.

As that didn't work, I'll try the weights in the other matrix Kees
posted:

0.91024 for f3;
0.57735 for f5;
0.52553 for f(5/3).

I'll use the geometric mean of n and d in place of d in the
denominator of the heuristic:

|n-d|/(gm*log(gm)).

Meantone: optimal generator = 697.415¢ . . . ratio = 0.81962

Magic: opt. gen. = 380.508¢ . . . ratio = 0.760549

Back to the drawing board . . .

🔗paulerlich <paul@stretch-music.com>

1/17/2002 4:10:06 PM

--- In tuning-math@y..., "paulerlich" <paul@s...> wrote:
> I wrote,
>
> > In any case, if I directly use the formula you use to evaluate
ETs
> on
> > http://www.kees.cc/tuning/perbl.html:
> >
> > f3 + log(3)/log(5)*f5 + log(3)/log(5)*f(5/3)
> >
> > intepret f3, f5, and f(5/3) as absolute values, and minimize this
> > sum, I do get 1/4-comma meantone. But if I take the MAX instead
of
> > the sum of these three terms, I get a fifth of 697.1160 cents.

A more exact calculation gives me 697.1383 cents . . .