back to list

Crunch algorithm

🔗Gene Ward Smith <gwsmith@svpal.org>

1/30/2004 3:43:21 PM

Suppose we have a list of rational numbers greater than one, sorted in
ascending order, the elements of which should be independent. Define
the crunch function as follows: take the quotient of the last with the
next-to-last, and then place it in its proper location in the list,
and return the new sorted list. If we start from an independent set of
numbers, and in particular a basis for the p-limit, we crunch down to
a basis with smaller elements.

Here is crunch, starting out on [2, 3, 5, 7]. The next column is the
top row of the inverse matrix for the monzos, which is a val matrix;
so these are scale divisions.

I thought of this because Oldlyzko pointed me to an unpublished paper
of his, which suggested the problem of finding very large scale
divisions (in the context of the Riemann zeta function, not music!) is
harder than I believe it to be. I think I'll send him something and
mention Paul's discovery that 2401/2400 dominantes up to 100000 or so
for 7-limit divisions, translated of course into zeta language.

[2, 3, 5, 7] [1, 0, 0, 0]
[7/5, 2, 3, 5] [0, 1, 0, 0]
[7/5, 5/3, 2, 3] [0, 0, 1, 0]
[7/5, 3/2, 5/3, 2] [0, 0, 0, 1]
[6/5, 7/5, 3/2, 5/3] [1, 0, 0, 1]
[10/9, 6/5, 7/5, 3/2] [1, 1, 0, 1]
[15/14, 10/9, 6/5, 7/5] [1, 1, 1, 1]
[15/14, 10/9, 7/6, 6/5] [1, 1, 1, 2]
[36/35, 15/14, 10/9, 7/6] [2, 1, 1, 3]
[36/35, 21/20, 15/14, 10/9] [2, 3, 1, 4]
[36/35, 28/27, 21/20, 15/14] [2, 4, 3, 5]
[50/49, 36/35, 28/27, 21/20] [5, 2, 4, 8]
[81/80, 50/49, 36/35, 28/27] [8, 5, 2, 12]
[245/243, 81/80, 50/49, 36/35] [12, 8, 5, 14]
[126/125, 245/243, 81/80, 50/49] [14, 12, 8, 19]
[4000/3969, 126/125, 245/243, 81/80] [19, 14, 12, 27]
[19683/19600, 4000/3969, 126/125, 245/243] [27, 19, 14, 39]
[4375/4374, 19683/19600, 4000/3969, 126/125] [39, 27, 19, 53]
[250047/250000, 4375/4374, 19683/19600, 4000/3969] [53, 39, 27, 72]
[250047/250000, 4375/4374, 1600000/1594323, 19683/19600] [53, 39, 72, 99]

[53, 39, 99, 171]
[53, 39, 270, 171]
[53, 39, 441, 171]
[53, 39, 612, 171]
[53, 39, 783, 171]
[53, 171, 39, 954]
[53, 171, 993, 954]
[53, 171, 954, 1947]
[1947, 53, 171, 2901]
[1947, 2901, 53, 3072]
[3072, 1947, 2901, 3125]
[3072, 1947, 6026, 3125]
[3072, 1947, 9151, 3125]
[3072, 1947, 12276, 3125]
[3072, 1947, 15401, 3125]
[3072, 1947, 18526, 3125]
[3072, 1947, 21651, 3125]
[3072, 1947, 24776, 3125]
[3072, 1947, 27901, 3125]
[3072, 1947, 31026, 3125]

🔗Carl Lumma <ekin@lumma.org>

1/30/2004 4:46:03 PM

>Suppose we have a list of rational numbers greater than one, sorted in
>ascending order, the elements of which should be independent. Define
>the crunch function as follows: take the quotient of the last with the
>next-to-last, and then place it in its proper location in the list,
>and return the new sorted list. If we start from an independent set of
>numbers, and in particular a basis for the p-limit, we crunch down to
>a basis with smaller elements.

Now here's the kind of thing I can understand!

>Here is crunch, starting out on [2, 3, 5, 7]. The next column is the
>top row of the inverse matrix for the monzos, which is a val matrix;
>so these are scale divisions.
>
>I thought of this because Oldlyzko pointed me to an unpublished paper
>of his, which suggested the problem of finding very large scale
>divisions (in the context of the Riemann zeta function, not music!)
>is harder than I believe it to be.

Yes, well Crunch is easy enough for my computer. How large is very
large?

-Carl

🔗Paul Erlich <perlich@aya.yale.edu>

1/30/2004 4:49:24 PM

This is similar, if not identical, to Viggo Brun's algorithm that
Kraig is always referring to . . . See Mandelbaum's book for a full
exposition . . .

--- In tuning-math@yahoogroups.com, "Gene Ward Smith" <gwsmith@s...>
wrote:
> Suppose we have a list of rational numbers greater than one, sorted
in
> ascending order, the elements of which should be independent. Define
> the crunch function as follows: take the quotient of the last with
the
> next-to-last, and then place it in its proper location in the list,
> and return the new sorted list. If we start from an independent set
of
> numbers, and in particular a basis for the p-limit, we crunch down
to
> a basis with smaller elements.
>
> Here is crunch, starting out on [2, 3, 5, 7]. The next column is the
> top row of the inverse matrix for the monzos, which is a val matrix;
> so these are scale divisions.
>
> I thought of this because Oldlyzko pointed me to an unpublished
paper
> of his, which suggested the problem of finding very large scale
> divisions (in the context of the Riemann zeta function, not music!)
is
> harder than I believe it to be. I think I'll send him something and
> mention Paul's discovery that 2401/2400 dominantes up to 100000 or
so
> for 7-limit divisions, translated of course into zeta language.
>
> [2, 3, 5, 7] [1, 0, 0, 0]
> [7/5, 2, 3, 5] [0, 1, 0, 0]
> [7/5, 5/3, 2, 3] [0, 0, 1, 0]
> [7/5, 3/2, 5/3, 2] [0, 0, 0, 1]
> [6/5, 7/5, 3/2, 5/3] [1, 0, 0, 1]
> [10/9, 6/5, 7/5, 3/2] [1, 1, 0, 1]
> [15/14, 10/9, 6/5, 7/5] [1, 1, 1, 1]
> [15/14, 10/9, 7/6, 6/5] [1, 1, 1, 2]
> [36/35, 15/14, 10/9, 7/6] [2, 1, 1, 3]
> [36/35, 21/20, 15/14, 10/9] [2, 3, 1, 4]
> [36/35, 28/27, 21/20, 15/14] [2, 4, 3, 5]
> [50/49, 36/35, 28/27, 21/20] [5, 2, 4, 8]
> [81/80, 50/49, 36/35, 28/27] [8, 5, 2, 12]
> [245/243, 81/80, 50/49, 36/35] [12, 8, 5, 14]
> [126/125, 245/243, 81/80, 50/49] [14, 12, 8, 19]
> [4000/3969, 126/125, 245/243, 81/80] [19, 14, 12, 27]
> [19683/19600, 4000/3969, 126/125, 245/243] [27, 19, 14, 39]
> [4375/4374, 19683/19600, 4000/3969, 126/125] [39, 27, 19, 53]
> [250047/250000, 4375/4374, 19683/19600, 4000/3969] [53, 39, 27, 72]
> [250047/250000, 4375/4374, 1600000/1594323, 19683/19600] [53, 39,
72, 99]
>
>
> [53, 39, 99, 171]
> [53, 39, 270, 171]
> [53, 39, 441, 171]
> [53, 39, 612, 171]
> [53, 39, 783, 171]
> [53, 171, 39, 954]
> [53, 171, 993, 954]
> [53, 171, 954, 1947]
> [1947, 53, 171, 2901]
> [1947, 2901, 53, 3072]
> [3072, 1947, 2901, 3125]
> [3072, 1947, 6026, 3125]
> [3072, 1947, 9151, 3125]
> [3072, 1947, 12276, 3125]
> [3072, 1947, 15401, 3125]
> [3072, 1947, 18526, 3125]
> [3072, 1947, 21651, 3125]
> [3072, 1947, 24776, 3125]
> [3072, 1947, 27901, 3125]
> [3072, 1947, 31026, 3125]

🔗Paul Erlich <perlich@aya.yale.edu>

1/30/2004 4:52:29 PM

Please see http://www.anaphoria.com/viggo3.PDF . . .

--- In tuning-math@yahoogroups.com, "Paul Erlich" <perlich@a...>
wrote:
> This is similar, if not identical, to Viggo Brun's algorithm that
> Kraig is always referring to . . . See Mandelbaum's book for a full
> exposition . . .
>
> --- In tuning-math@yahoogroups.com, "Gene Ward Smith"
<gwsmith@s...>
> wrote:
> > Suppose we have a list of rational numbers greater than one,
sorted
> in
> > ascending order, the elements of which should be independent.
Define
> > the crunch function as follows: take the quotient of the last
with
> the
> > next-to-last, and then place it in its proper location in the
list,
> > and return the new sorted list. If we start from an independent
set
> of
> > numbers, and in particular a basis for the p-limit, we crunch
down
> to
> > a basis with smaller elements.
> >
> > Here is crunch, starting out on [2, 3, 5, 7]. The next column is
the
> > top row of the inverse matrix for the monzos, which is a val
matrix;
> > so these are scale divisions.
> >
> > I thought of this because Oldlyzko pointed me to an unpublished
> paper
> > of his, which suggested the problem of finding very large scale
> > divisions (in the context of the Riemann zeta function, not
music!)
> is
> > harder than I believe it to be. I think I'll send him something
and
> > mention Paul's discovery that 2401/2400 dominantes up to 100000
or
> so
> > for 7-limit divisions, translated of course into zeta language.
> >
> > [2, 3, 5, 7] [1, 0, 0, 0]
> > [7/5, 2, 3, 5] [0, 1, 0, 0]
> > [7/5, 5/3, 2, 3] [0, 0, 1, 0]
> > [7/5, 3/2, 5/3, 2] [0, 0, 0, 1]
> > [6/5, 7/5, 3/2, 5/3] [1, 0, 0, 1]
> > [10/9, 6/5, 7/5, 3/2] [1, 1, 0, 1]
> > [15/14, 10/9, 6/5, 7/5] [1, 1, 1, 1]
> > [15/14, 10/9, 7/6, 6/5] [1, 1, 1, 2]
> > [36/35, 15/14, 10/9, 7/6] [2, 1, 1, 3]
> > [36/35, 21/20, 15/14, 10/9] [2, 3, 1, 4]
> > [36/35, 28/27, 21/20, 15/14] [2, 4, 3, 5]
> > [50/49, 36/35, 28/27, 21/20] [5, 2, 4, 8]
> > [81/80, 50/49, 36/35, 28/27] [8, 5, 2, 12]
> > [245/243, 81/80, 50/49, 36/35] [12, 8, 5, 14]
> > [126/125, 245/243, 81/80, 50/49] [14, 12, 8, 19]
> > [4000/3969, 126/125, 245/243, 81/80] [19, 14, 12, 27]
> > [19683/19600, 4000/3969, 126/125, 245/243] [27, 19, 14, 39]
> > [4375/4374, 19683/19600, 4000/3969, 126/125] [39, 27, 19, 53]
> > [250047/250000, 4375/4374, 19683/19600, 4000/3969] [53, 39, 27,
72]
> > [250047/250000, 4375/4374, 1600000/1594323, 19683/19600] [53, 39,
> 72, 99]
> >
> >
> > [53, 39, 99, 171]
> > [53, 39, 270, 171]
> > [53, 39, 441, 171]
> > [53, 39, 612, 171]
> > [53, 39, 783, 171]
> > [53, 171, 39, 954]
> > [53, 171, 993, 954]
> > [53, 171, 954, 1947]
> > [1947, 53, 171, 2901]
> > [1947, 2901, 53, 3072]
> > [3072, 1947, 2901, 3125]
> > [3072, 1947, 6026, 3125]
> > [3072, 1947, 9151, 3125]
> > [3072, 1947, 12276, 3125]
> > [3072, 1947, 15401, 3125]
> > [3072, 1947, 18526, 3125]
> > [3072, 1947, 21651, 3125]
> > [3072, 1947, 24776, 3125]
> > [3072, 1947, 27901, 3125]
> > [3072, 1947, 31026, 3125]

🔗Gene Ward Smith <gwsmith@svpal.org>

1/30/2004 6:09:52 PM

--- In tuning-math@yahoogroups.com, "Paul Erlich" <perlich@a...>
wrote:
> This is similar, if not identical, to Viggo Brun's algorithm that
> Kraig is always referring to . . .

I'm not so sure--I think possibly Brun's algorithm simply sets out to
find integer relations, not unimodular matricies. I've never seem an
exposition of it, just references to it, and don't know how closely
what people have said about in tuning connections matches what Brun
actually did, which is described as an integer relation algorthm or
something along the lines of Jacbobi-Perron when I read about it
elsewhere. However, what I did is identical to the Erv Wilson method--
he *is* using it to find unimodular matricies, and then inverting
them.

See Mandelbaum's book for a full
> exposition . . .

You'll have to do better than that--is this Joel Mandelbaum, or some
other Mandelbaum, and what book?

🔗Paul Erlich <perlich@aya.yale.edu>

1/30/2004 11:23:19 PM

--- In tuning-math@yahoogroups.com, "Gene Ward Smith" <gwsmith@s...>
wrote:
> --- In tuning-math@yahoogroups.com, "Paul Erlich" <perlich@a...>
> wrote:
> > This is similar, if not identical, to Viggo Brun's algorithm that
> > Kraig is always referring to . . .
>
> I'm not so sure--I think possibly Brun's algorithm simply sets out
to
> find integer relations, not unimodular matricies. I've never seem
an
> exposition of it, just references to it, and don't know how closely
> what people have said about in tuning connections matches what Brun
> actually did, which is described as an integer relation algorthm or
> something along the lines of Jacbobi-Perron when I read about it
> elsewhere.

Brun may have done more than one thing. Please make it a habit to
check that big tuning biblography. You'd find this:

http://www.anaphoria.com/viggo0.PDF

This language is pretty close to English, but I bet you can just look
at the numbers and see what's going on.

> However, what I did is identical to the Erv Wilson method--
> he *is* using it to find unimodular matricies, and then inverting
> them.

Inverting them, huh? Look, he goes all the way out to Orwell. Kraig
has insisted this is the best method, but I doubt any algorithm could
perform a three-term integer relation search and do as well as brute
force for log-flat or whatever badness (except maybe Ferguson-
Forcade?) . . . We should ask John Chalmers if he knows the
particular Brun reference or if Erv just consulted Mandelbaum.

> > See Mandelbaum's book for a full
> > exposition . . .
>
> You'll have to do better than that--is this Joel Mandelbaum,

Yes.

>and what book?

His only:

Mandelbaum, M. Joel. Multiple Division of the Octave and the Tonal
Resources of the 19-Tone Equal Temperament. PhD Thesis, University of
Indiana, 1961, 460 pages. University Microfilms, Ann Arbor MI, 1961.

🔗Gene Ward Smith <gwsmith@svpal.org>

1/31/2004 1:17:41 AM

--- In tuning-math@yahoogroups.com, "Paul Erlich" <perlich@a...>
wrote:
> This language is pretty close to English, but I bet you can just
look
> at the numbers and see what's going on.

This language you claim is a lot like English is called Norwegian. My
mother once translated a book from Norwegian, despite the fact that
she only knew Swedish, but I don't know Swedish either. However! It
is clear, as you say, that Brun is doing what Wilson was doing and
what I was calling crunch, sans the inversion part--that is, complete
with unimodular matricies.

I think I can do better than Brun for this project anyway, by using
the square==>triangle triangle==>square scheme. I'll test that.

> Mandelbaum, M. Joel. Multiple Division of the Octave and the Tonal
> Resources of the 19-Tone Equal Temperament. PhD Thesis, University
of
> Indiana, 1961, 460 pages. University Microfilms, Ann Arbor MI, 1961.

Ouch! Did you pay for 460 pages of University Microfilms? Anyway,
it's easy to see why Brun got noticed by music theorists--he wrote
about it, referencing Barbour and going on from there.

🔗Paul G Hjelmstad <paul.hjelmstad@us.ing.com>

2/2/2004 9:43:09 AM

Gene,

This is really cool. BTW, I would love if you added a section to your
website expounding on all your zeta-function stuff! Could you, for
example, explain the significance of 2401/2400 in terms of zeta?

--- In tuning-math@yahoogroups.com, "Paul Erlich" <perlich@a...>
wrote:
> This is similar, if not identical, to Viggo Brun's algorithm that
> Kraig is always referring to . . . See Mandelbaum's book for a full
> exposition . . .
>
> --- In tuning-math@yahoogroups.com, "Gene Ward Smith"
<gwsmith@s...>
> wrote:
> > Suppose we have a list of rational numbers greater than one,
sorted
> in
> > ascending order, the elements of which should be independent.
Define
> > the crunch function as follows: take the quotient of the last
with
> the
> > next-to-last, and then place it in its proper location in the
list,
> > and return the new sorted list. If we start from an independent
set
> of
> > numbers, and in particular a basis for the p-limit, we crunch
down
> to
> > a basis with smaller elements.
> >
> > Here is crunch, starting out on [2, 3, 5, 7]. The next column is
the
> > top row of the inverse matrix for the monzos, which is a val
matrix;
> > so these are scale divisions.
> >
> > I thought of this because Oldlyzko pointed me to an unpublished
> paper
> > of his, which suggested the problem of finding very large scale
> > divisions (in the context of the Riemann zeta function, not
music!)
> is
> > harder than I believe it to be. I think I'll send him something
and
> > mention Paul's discovery that 2401/2400 dominantes up to 100000
or
> so
> > for 7-limit divisions, translated of course into zeta language.
> >
> > [2, 3, 5, 7] [1, 0, 0, 0]
> > [7/5, 2, 3, 5] [0, 1, 0, 0]
> > [7/5, 5/3, 2, 3] [0, 0, 1, 0]
> > [7/5, 3/2, 5/3, 2] [0, 0, 0, 1]
> > [6/5, 7/5, 3/2, 5/3] [1, 0, 0, 1]
> > [10/9, 6/5, 7/5, 3/2] [1, 1, 0, 1]
> > [15/14, 10/9, 6/5, 7/5] [1, 1, 1, 1]
> > [15/14, 10/9, 7/6, 6/5] [1, 1, 1, 2]
> > [36/35, 15/14, 10/9, 7/6] [2, 1, 1, 3]
> > [36/35, 21/20, 15/14, 10/9] [2, 3, 1, 4]
> > [36/35, 28/27, 21/20, 15/14] [2, 4, 3, 5]
> > [50/49, 36/35, 28/27, 21/20] [5, 2, 4, 8]
> > [81/80, 50/49, 36/35, 28/27] [8, 5, 2, 12]
> > [245/243, 81/80, 50/49, 36/35] [12, 8, 5, 14]
> > [126/125, 245/243, 81/80, 50/49] [14, 12, 8, 19]
> > [4000/3969, 126/125, 245/243, 81/80] [19, 14, 12, 27]
> > [19683/19600, 4000/3969, 126/125, 245/243] [27, 19, 14, 39]
> > [4375/4374, 19683/19600, 4000/3969, 126/125] [39, 27, 19, 53]
> > [250047/250000, 4375/4374, 19683/19600, 4000/3969] [53, 39, 27,
72]
> > [250047/250000, 4375/4374, 1600000/1594323, 19683/19600] [53, 39,
> 72, 99]
> >
> >
> > [53, 39, 99, 171]
> > [53, 39, 270, 171]
> > [53, 39, 441, 171]
> > [53, 39, 612, 171]
> > [53, 39, 783, 171]
> > [53, 171, 39, 954]
> > [53, 171, 993, 954]
> > [53, 171, 954, 1947]
> > [1947, 53, 171, 2901]
> > [1947, 2901, 53, 3072]
> > [3072, 1947, 2901, 3125]
> > [3072, 1947, 6026, 3125]
> > [3072, 1947, 9151, 3125]
> > [3072, 1947, 12276, 3125]
> > [3072, 1947, 15401, 3125]
> > [3072, 1947, 18526, 3125]
> > [3072, 1947, 21651, 3125]
> > [3072, 1947, 24776, 3125]
> > [3072, 1947, 27901, 3125]
> > [3072, 1947, 31026, 3125]