back to list

Temperamental complexity examples

🔗Graham Breed <gbreed@gmail.com>

3/12/2011 10:10:41 PM

Here's a GP session with examples of temperamental complexity. I
think you can work out what's happening. It follows the discussion I
was having with Carl in another place, and I'm sorry I lost the thread
there. I may pick it up again, but for now try these. They're in
full precision because that's how they come out.

Note: the Meantone complexity of 6:5 was wrong before. 25:16 is very
simple in Magic.

? meantone5 = [1,2;1,3;0,4]
? test5 = [1,0,0;0,1,0;-1,1,0;2,-1,0;-2,0,1;-3,2,0;1,1,-1];
? get ratios(test5)
[2, 3, 3/2, 4/3, 5/4, 9/8, 6/5]
? testem(map, tests) = for(i=1,matsize(tests)[1], print(temperamental
complexity(map, tests[i,]*map)))
? testem(meantone5, test5)
0.4967214777873372052458702615
0.5393116714749608878001945754
0.3201358508591590823438576089
0.6384209426483373201630132847
1.758868158264720630459443422
0.8794340791323603152297217112
1.503158087526867761516737092

? meantone7 = [1,2;1,3;0,4;-3,4];
? get ratios(test7)
[2, 3, 3/2, 4/3, 5/4, 7/4, 9/8, 10/9, 8/7, 6/5, 7/6]
? testem(meantone7, test7)
0.3709933727851621925016920680
0.4667493972721065593971338619
0.1475677661956432407616295905
0.3177572291657421104848008528
0.6568278982004757376872514328
1.642069745501189344218128582
0.3284139491002378688436257164
0.3284139491002378688436257164
1.904196219514162955129995064
0.6291855939875253759404908032
1.604636326470217433118341924
reduced mapping:
[<1, 0, 0, -5],
<0, 1, 0, 2],
<0, 0, 1, 2]>

? marvel = [1,0,0,-5;0,1,0,2;0,0,1,2]~;
? testem(marvel, test7)
0.3912714696212409529329723276
0.7281339789769448229286837891
0.6989425218027478779385054545
0.8677839201703975016206967105
0.8207304713971732682540103156
1.718403133187849104853218895
1.526448754082825196250710828
2.009828239981238903440068543
2.005959618945043403884474551
1.333118698238257642359895547
1.614337349401425928752099006

? testem(matid(4), test7)
0.5000000000000000000000000001
0.7924812503605780907268694719
0.9370306996961547002469505261
1.275941429758068970373966065
1.532265485957578433550255295
1.723458852018308010140357291
2.182225040799472864717850731
2.027299595064596021326201141
2.054339410759639812318328550
1.491932991668821312545859952
1.687701675881531309363294084
? testem([12;19;28],test5)
0.3329012116628453005765040686
0.5270935851328383925794647753
0.1941923734699930920029607067
0.1387088381928522085735433619
0.1109670705542817668588346895
0.05548353527714088342941734477
0.08322530291571132514412601715
? testem([12;19;28;34], test7)
0.2491794833036163659551130762
0.3945341818973925794289290372
0.1453546985937762134738159611
0.1038247847098401524812971151
0.08305982776787212198503769205
0.2076495694196803049625942301
0.04152991388393606099251884603
0.04152991388393606099251884603
0.04152991388393606099251884603
0.06229487082590409148877826904
0.06229487082590409148877826904

? magic7 = [1,0;0,5;2,1;-1,12];
? testem(magic7, test7)
0.3704082665752931945457715593
0.4750170908595528807262177137
0.5542777391210302439934090248
0.8143776491629641576869962587
0.09500341817191057614524354273
1.460839545398996147004583306
1.343006794895439138069536626
1.290562565858489503449762794
1.720750087811319337933017058
0.4869465151329987156681944355
0.9139643186819874355364989053
? temperamental complexity(magic7, [-4,0,2,0]*magic7)
0.1900068363438211522904870855
? get ratios([-4,0,2,0;1,0,0,0])
[25/16, 2]

Graham