back to list

Spectral complexity

🔗Mike Battaglia <battaglia01@gmail.com>

6/27/2011 5:20:52 PM

A possible solution to my earlier question about complexity presents
itself by looking at a temperament's spectrum:

http://xenharmonic.wikispaces.com/Spectrum+of+a+temperament

If s(n) is the nth entry in a temperament's spectrum, and ||interval||
represents the interval's complexity as measured by the norm or
seminorm of your choice, then consider the following expression as a
faux-metric for temperamental complexity:

sum_n(1/(n*||s(n)||))

Or, since using the spectrum might pose a few problems, consider the
non-baby version - let Mi represent some monzo in the n-limit, and let
Vp and Vg represent the temperament's period and generator vals:

sum_i(1/(<Vg|Mi>*||Mi||)) over all monzos i in the entire lattice, or
the n-limit tonality diamond if the lattice scares you

This takes advantage of the following spiritually transcendental and
life-changing qualities:
1) It rewards a temperament for hitting lots of simple intervals early on
2) It cares less and less about how well a temperament does later on
3) Rather than care about subgroup temperaments, we can just look at
the full-limit version of that temperament, which may have absurdly
complex mappings for things like 3 and 5, but that's okay, because
we're rewarding early simplicity rather than penalizing later
complexity

This obviously needs to be tweaked a bit: it might work better if we
put n^2 in the denominator instead of n, and there's probably a clever
way to do this with matrices and stuff that I'm missing. And you'd
need to tweak this further to deal with fractional-octave periods, but
this should give you the general idea. Any thoughts on this approach?

-Mike

🔗Carl Lumma <carl@lumma.org>

6/28/2011 12:41:17 AM

Mike wrote:

>A possible solution to my earlier question about complexity presents
>itself by looking at a temperament's spectrum:
> http://xenharmonic.wikispaces.com/Spectrum+of+a+temperament
>If s(n) is the nth entry in a temperament's spectrum, and ||interval||
>represents the interval's complexity as measured by the norm or
>seminorm of your choice, then consider the following expression as a
>faux-metric for temperamental complexity:
>
>sum_n(1/(n*||s(n)||))

Yes, this is a good kind of thing. One thing to note is that
TE complexity is already weighted, so it should also do what you
want if T is the right weighting (re. my previous message).

>let Mi represent some monzo in the n-limit, and let
>Vp and Vg represent the temperament's period and generator vals:
>sum_i(1/(<Vg|Mi>*||Mi||)) over all monzos i in the entire lattice, or
>the n-limit tonality diamond if the lattice scares you

Let's see... We might have a temperament that simply maps
simple ratios and (therefore) complexly maps complex ratios

10
sum_i(1/i^2) ~~ 1.55
1

or one that simply maps complex ratios and vice versa

10
sum_i(1/(i * (11-i))) ~~ 0.53
1

or an average temperament

10/(5^2) = 0.4

Hm...

-Carl

🔗Mike Battaglia <battaglia01@gmail.com>

6/28/2011 9:57:07 AM

On Jun 28, 2011, at 3:41 AM, Carl Lumma <carl@lumma.org> wrote:

>If s(n) is the nth entry in a temperament's spectrum, and ||interval||
>represents the interval's complexity as measured by the norm or
>seminorm of your choice, then consider the following expression as a
>faux-metric for temperamental complexity:
>
>sum_n(1/(n*||s(n)||))

Yes, this is a good kind of thing. One thing to note is that
TE complexity is already weighted, so it should also do what you
want if T is the right weighting (re. my previous message).

The weighting now is 1/log(n*d), right? Maybe 1/(n*d) will do the trick, or
1/(n*d)^2 perhaps.

>let Mi represent some monzo in the n-limit, and let
>Vp and Vg represent the temperament's period and generator vals:
>sum_i(1/(<Vg|Mi>*||Mi||)) over all monzos i in the entire lattice, or
>the n-limit tonality diamond if the lattice scares you

Let's see... We might have a temperament that simply maps
simple ratios and (therefore) complexly maps complex ratios

10
sum_i(1/i^2) ~~ 1.55
1

OK, so this maps 1/1 to 1, 2/1 to 2, etc. It assumes a complexity of
something like n*d, which is to say that we're using exp(the L1 norm).

or one that simply maps complex ratios and vice versa

10
sum_i(1/(i * (11-i))) ~~ 0.53
1

OK.

or an average temperament

10/(5^2) = 0.4

Hm...

Shouldn't that be

10
Sum_i 1/(5i) = 0.586
1

? This would count all ratios at the 5th generator.

-Mike

🔗Carl Lumma <carl@lumma.org>

6/29/2011 12:25:26 AM

Mike wrote:

>>>sum_n(1/(n*||s(n)||))
>>
>>Yes, this is a good kind of thing. One thing to note is that
>>TE complexity is already weighted, so it should also do what you
>>want if T is the right weighting (re. my previous message).
>
>The weighting now is 1/log(n*d), right?

Yes.

>Maybe 1/(n*d) will do the trick, or 1/(n*d)^2 perhaps.

Maybe, but those don't add up properly with the temperament
homomorphism.

>>>let Mi represent some monzo in the n-limit, and let
>>>Vp and Vg represent the temperament's period and generator vals:
>>>sum_i(1/(<Vg|Mi>*||Mi||)) over all monzos i in the entire lattice, or
>>>the n-limit tonality diamond if the lattice scares you
>>
>>Let's see... We might have a temperament that simply maps
>>simple ratios and (therefore) complexly maps complex ratios
>>
>>10
>>sum_i(1/i^2) ~~ 1.55
>>1
>
>OK, so this maps 1/1 to 1, 2/1 to 2, etc. It assumes a complexity of something like n*d, which is to say that we're using exp(the L1 norm).

I wasn't being that specific. I'm just illustrating the
general behavior of your expression -- are you sure it's
what you wanted?

>>or an average temperament
>>
>>10/(5^2) = 0.4
>>
>>Hm...
>
>Shouldn't that be
>
>10
>Sum_i 1/(5i) = 0.586
>1
>
>? This would count all ratios at the 5th generator.

Er no, this is just an average temperament that gives all
intervals medium complexity and medium error.

-Carl

🔗Mike Battaglia <battaglia01@gmail.com>

6/30/2011 10:04:41 PM

On Wed, Jun 29, 2011 at 3:25 AM, Carl Lumma <carl@lumma.org> wrote:
>
> >Maybe 1/(n*d) will do the trick, or 1/(n*d)^2 perhaps.
>
> Maybe, but those don't add up properly with the temperament
> homomorphism.

What do you mean by this? In what sense do they not add up properly?

> >Shouldn't that be
> >
> >10
> >Sum_i 1/(5i) = 0.586
> >1
> >
> >? This would count all ratios at the 5th generator.
>
> Er no, this is just an average temperament that gives all
> intervals medium complexity and medium error.

By "complexity" I meant the interval's Tenney height. The <V|M> term
is the interval's complexity in the temperament, and ||M|| is the
interval's Tenney height. It looks like your expression would evaluate
things for 1/1 to 10/1, meaning that ||M|| should evaluate from 1-10
in each case. If we're saying that this temperament is average and
gives all intervals medium complexity, might as well give them all a
complexity of 5. So that would be

10
Sum_i 1/(5 * i)
1

Where the 5 is <V|M> = the interval's complexity in the temperament,
and the i is the Tenney height for each interval from 1 to 10.

-Mike

🔗Carl Lumma <carl@lumma.org>

7/1/2011 1:42:32 AM

Mike wrote:

>> >Maybe 1/(n*d) will do the trick, or 1/(n*d)^2 perhaps.
>>
>> Maybe, but those don't add up properly with the temperament
>> homomorphism.
>
>What do you mean by this? In what sense do they not add up properly?

The error of 9 is no longer twice the error of 3, for example.

>By "complexity" I meant the interval's Tenney height. The <V|M> term
>is the interval's complexity in the temperament, and ||M|| is the
>interval's Tenney height. It looks like your expression would
>evaluate things for 1/1 to 10/1,

No, these are just fake results to illustrate the behavior
of your expression. Their asymptotic behavior is more
pertinent, maybe, but it gives a flavor.

-Carl

🔗Mike Battaglia <battaglia01@gmail.com>

7/1/2011 2:41:52 AM

On Fri, Jul 1, 2011 at 4:42 AM, Carl Lumma <carl@lumma.org> wrote:
>
> Mike wrote:
>
> >> >Maybe 1/(n*d) will do the trick, or 1/(n*d)^2 perhaps.
> >>
> >> Maybe, but those don't add up properly with the temperament
> >> homomorphism.
> >
> >What do you mean by this? In what sense do they not add up properly?
>
> The error of 9 is no longer twice the error of 3, for example.

Alright, I'll need to think about it. Obviously 1/log((n*d)^2) isn't
going to work, so I'm not sure how that'll go.

> >By "complexity" I meant the interval's Tenney height. The <V|M> term
> >is the interval's complexity in the temperament, and ||M|| is the
> >interval's Tenney height. It looks like your expression would
> >evaluate things for 1/1 to 10/1,
>
> No, these are just fake results to illustrate the behavior
> of your expression. Their asymptotic behavior is more
> pertinent, maybe, but it gives a flavor.

Why do you have 5^2 in the denominator of the last equation? That
would mean that <V|M> is 5 and ||M|| is 5, while you're comparing to
||M|| being a function of i in the other two cases. I'll call ||M||
"harmonic complexity" and <V|M> "temperamental complexity" for
clarity's sake:

First example: 10 intervals with a harmonic complexity of i and a
temperamental complexity of i.
Second example: 10 intervals with a harmonic complexity of i and a
temperamental complexity of 11-i.
Third example: 10 intervals with a harmonic complexity of 5 and a
temperamental complexity of 5.

The way you have it now the third example compares intervals of a
different harmonic complexity than the other two. If instead you do
this:

Third example: 10 intervals with a harmonic complexity of i and a
temperamental complexity of 5

That setup would be all of the intervals having medium temperamental
complexity, which is what you said that you wanted to test, while
ensuring they have the same harmonic complexity as the other two tests
(e.g. ensuring that you're testing the same intervals, even if they're
dummy intervals).

-Mike

🔗Carl Lumma <carl@lumma.org>

7/1/2011 9:51:22 AM

>> >By "complexity" I meant the interval's Tenney height. The <V|M> term
>> >is the interval's complexity in the temperament, and ||M|| is the
>> >interval's Tenney height. It looks like your expression would
>> >evaluate things for 1/1 to 10/1,
>>
>> No, these are just fake results to illustrate the behavior
>> of your expression. Their asymptotic behavior is more
>> pertinent, maybe, but it gives a flavor.
>
>Why do you have 5^2 in the denominator of the last equation?

The three cases are:

* Temperament complexity and JI complexity directly proportional
* " " inversely proportional
* equal on average

>That setup would be all of the intervals having medium temperamental
>complexity, which is what you said that you wanted to test, while
>ensuring they have the same harmonic complexity as the other two tests
>(e.g. ensuring that you're testing the same intervals, even if they're
>dummy intervals).

No intervals. Just numbers. Does this expression, or does it
not, scale the way you want?

-Carl

🔗Mike Battaglia <battaglia01@gmail.com>

7/1/2011 10:26:20 AM

On Fri, Jul 1, 2011 at 12:51 PM, Carl Lumma <carl@lumma.org> wrote:
>
> >
> >Why do you have 5^2 in the denominator of the last equation?
>
> The three cases are:
>
> * Temperament complexity and JI complexity directly proportional
> * " " inversely proportional
> * equal on average

The way you have it set up, the first one is equal on average.

> No intervals. Just numbers. Does this expression, or does it
> not, scale the way you want?

Yes, it does.

-Mike

🔗Carl Lumma <carl@lumma.org>

7/1/2011 1:43:06 PM

I wrote:
> No, the first one pairs low and high, the last one pairs
> average and average.

Sorry, the first one pairs low and low, the SECOND one
pairs low and high, and third average and average.
I did say this in the original post.

-Carl

🔗Carl Lumma <carl@lumma.org>

7/1/2011 1:40:23 PM

At 10:26 AM 7/1/2011, you wrote:
>On Fri, Jul 1, 2011 at 12:51 PM, Carl Lumma <carl@lumma.org> wrote:
>>
>> >
>> >Why do you have 5^2 in the denominator of the last equation?
>>
>> The three cases are:
>>
>> * Temperament complexity and JI complexity directly proportional
>> * " " inversely proportional
>> * equal on average
>
>The way you have it set up, the first one is equal on average.

No, the first one pairs low and high, the last one pairs
average and average.

-Carl

🔗Mike Battaglia <battaglia01@gmail.com>

7/1/2011 11:10:44 PM

On Fri, Jul 1, 2011 at 4:40 PM, Carl Lumma <carl@lumma.org> wrote:
>
>
> No, the first one pairs low and high, the last one pairs
> average and average.

Alright, thinking about this again, the only time in which the
equation would actually behave like your version of #3 is if a bunch
of mid-complexity intervals fell at generator #5, and there were only
extremely high-complexity intervals from generators 1-4 and 5-9. The
reason #3 did so badly is because it displays zero performance for
generators 1-4, which is where the bulk of the contribution to the
total goes.

So the question is, should a temperament with absolutely zero
performance from most generators with a single huge spike midway,
outperform a temperament that has a slow start but gets better
linearly as time goes on? My internal temperament happiness radar is
telling me they'd probably be about equally crappy. It might be better
to use log(<V|M>) instead of <V|M> though.

The fact that my altered version with 5i in the denominator fell
between your #1 and #2 makes me think the basic premise so far is
alright.

-Mike

🔗Carl Lumma <carl@lumma.org>

7/2/2011 12:45:34 AM

Mike wrote:

>The fact that my altered version with 5i in the denominator fell
>between your #1 and #2 makes me think the basic premise so far is
>alright.

It seems to me your expression is more likely to be the
inverse of complexity than complexity. -Carl

🔗Mike Battaglia <battaglia01@gmail.com>

7/2/2011 1:30:09 PM

On Sat, Jul 2, 2011 at 3:45 AM, Carl Lumma <carl@lumma.org> wrote:
>
> Mike wrote:
>
> >The fact that my altered version with 5i in the denominator fell
> >between your #1 and #2 makes me think the basic premise so far is
> >alright.
>
> It seems to me your expression is more likely to be the
> inverse of complexity than complexity. -Carl

Oh. Uh, yeah. We'll take the reciprocal then. I think it'll be more
useful to think in terms of simplicity rather than complexity for now.

-Mike