#13391: WeylCharacterRing improvement
------------------------------------------+---------------------------------
Reporter: bump | Owner: bump
Type: enhancement | Status: positive_review
Priority: major | Milestone: sage-5.3
Component: combinatorics | Resolution:
Keywords: WeylCharacterRing, Lie | Work issues:
Report Upstream: N/A | Reviewers: Anne Schilling
Authors: Daniel Bump | Merged in:
Dependencies: | Stopgaps:
------------------------------------------+---------------------------------
Comment (by aschilling):
I can confirm that this is a huge speedup:
{{{
sage: B4=WeylCharacterRing("B4",style="coroots"); spin=B4(0,0,0,1)
sage: time spin^(16)
1844536720*B4(0,0,0,0) + 8300415240*B4(1,0,0,0) + 19920996576*B4(0,1,0,0)
+ 33201660960*B4(0,0,1,0) + 42140569680*B4(0,0,0,2) +
16709332640*B4(2,0,0,0) + 52634397816*B4(1,1,0,0) +
96675424560*B4(1,0,1,0) + 127247994720*B4(1,0,0,2) +
56393997660*B4(0,2,0,0) + 134271423000*B4(0,1,1,0) +
190871992080*B4(0,1,0,2) + 96675424560*B4(0,0,2,0) +
171784792872*B4(0,0,1,2) + 81802282320*B4(0,0,0,4) +
19747393120*B4(3,0,0,0) + 69115875920*B4(2,1,0,0) +
133294903560*B4(2,0,1,0) + 179028564000*B4(2,0,0,2) +
97749595944*B4(1,2,0,0) + 244373989860*B4(1,1,1,0) +
354476556720*B4(1,1,0,2) + 195499191888*B4(1,0,2,0) +
354476556720*B4(1,0,1,2) + 177238278360*B4(1,0,0,4) +
62610852304*B4(0,3,0,0) + 172499286960*B4(0,2,1,0) +
259486106880*B4(0,2,0,2) + 181124251308*B4(0,1,2,0) +
340575515280*B4(0,1,1,2) + 187664059440*B4(0,1,0,4) +
79062173190*B4(0,0,3,0) + 160557028632*B4(0,0,2,2) +
114683591880*B4(0,0,1,4) + 34405077564*B4(0,0,0,6) +
14990430000*B4(4,0,0,0) + 55404629280*B4(3,1,0,0) +
109929820000*B4(3,0,1,0) + 149492475000*B4(3,0,0,2) +
87424187760*B4(2,2,0,0) + 224856450000*B4(2,1,1,0) +
330242467500*B4(2,1,0,2) + 189958728960*B4(2,0,2,0) +
348736045680*B4(2,0,1,2) + 179390970000*B4(2,0,0,4) +
74144430360*B4(1,3,0,0) + 210159950000*B4(1,2,1,0) +
320089770000*B4(1,2,0,2) + 233025352560*B4(1,1,2,0) +
443644421220*B4(1,1,1,2) + 251499105000*B4(1,1,0,4) +
113486373000*B4(1,0,3,0) + 233345442330*B4(1,0,2,2) +
171476662500*B4(1,0,1,4) + 54323806680*B4(1,0,0,6) +
31455212880*B4(0,4,0,0) + 93616705000*B4(0,3,1,0) +
145495350000*B4(0,3,0,2) + 115335780560*B4(0,2,2,0) +
224062839000*B4(0,2,1,2) + 133370737500*B4(0,2,0,4) +
74144430360*B4(0,1,3,0) + 155563628220*B4(0,1,2,2) +
120033663750*B4(0,1,1,4) + 42251849640*B4(0,1,0,6) +
22049487460*B4(0,0,4,0) + 47975807880*B4(0,0,3,2) +
40795755000*B4(0,0,2,4) + 18847638810*B4(0,0,1,6) + 4038779745*B4(0,0,0,8)
+ 7475227760*B4(5,0,0,0) + 28541778720*B4(4,1,0,0) +
57666042720*B4(4,0,1,0) + 79064909000*B4(4,0,0,2) +
47705544432*B4(3,2,0,0) + 124943092560*B4(3,1,1,0) +
185011887060*B4(3,1,0,2) + 109041244416*B4(3,0,2,0) +
201831149520*B4(3,0,1,2) + 105721078320*B4(3,0,0,4) +
45247113912*B4(2,3,0,0) + 130596626160*B4(2,2,1,0) +
200545816240*B4(2,2,0,2) + 149592499056*B4(2,1,2,0) +
287145145980*B4(2,1,1,2) + 165757256280*B4(2,1,0,4) +
77170733640*B4(2,0,3,0) + 159980867046*B4(2,0,2,2) +
119713573980*B4(2,0,1,4) + 39178987848*B4(2,0,0,6) +
25463743760*B4(1,4,0,0) + 77170733640*B4(1,3,1,0) +
120922802000*B4(1,3,0,2) + 98217297360*B4(1,2,2,0) +
192377185000*B4(1,2,1,2) + 116604130500*B4(1,2,0,4) +
66881302488*B4(1,1,3,0) + 141479678340*B4(1,1,2,2) +
111162604410*B4(1,1,1,4) + 40422765240*B4(1,1,0,6) +
22243329108*B4(1,0,4,0) + 48795907160*B4(1,0,3,2) +
42251849640*B4(1,0,2,4) + 20165655510*B4(1,0,1,6) + 4577283711*B4(1,0,0,8)
+ 7422629760*B4(0,5,0,0) + 23143120000*B4(0,4,1,0) +
36717450000*B4(0,4,0,2) + 31104353280*B4(0,3,2,0) +
61685316000*B4(0,3,1,2) + 38465900000*B4(0,3,0,4) +
23631229440*B4(0,2,3,0) + 50614003440*B4(0,2,2,2) +
40913730000*B4(0,2,1,4) + 15710872320*B4(0,2,0,6) +
10406235840*B4(0,1,4,0) + 23113850760*B4(0,1,3,2) +
20590570000*B4(0,1,2,4) + 10377647280*B4(0,1,1,6) + 2628105480*B4(0,1,0,8)
+ 2207383360*B4(0,0,5,0) + 5002998000*B4(0,0,4,2) + 4679675000*B4(0,0,3,4)
+ 2620618000*B4(0,0,2,6) + 876035160*B4(0,0,1,8) + 140280140*B4(0,0,0,10)
+ 2387047520*B4(6,0,0,0) + 9309485328*B4(5,1,0,0) +
19042129080*B4(5,0,1,0) + 26257522720*B4(5,0,0,2) +
16112570760*B4(4,2,0,0) + 42722725500*B4(4,1,1,0) +
63623997360*B4(4,1,0,2) + 38084258160*B4(4,0,2,0) +
70895311344*B4(4,0,1,2) + 37595998440*B4(4,0,0,4) +
16217881680*B4(3,3,0,0) + 47389914000*B4(3,2,1,0) +
73188389120*B4(3,2,0,2) + 55446199380*B4(3,1,2,0) +
107038019088*B4(3,1,1,2) + 62554686480*B4(3,1,0,4) +
29618696250*B4(3,0,3,0) + 61752703320*B4(3,0,2,2) + 4678235100*B4(1,0,5,0)
+ 3414290880*B4(1,0,4,2) + 3233230000*B4(1,0,3,4) + 1849407560*B4(1,0,2,6)
+ 640179540*B4(1,0,1,8) + 108788680*B4(1,0,0,10) + 791494704*B4(0,6,0,0) +
2544090120*B4(0,5,1,0) + 4092771760*B4(0,5,0,2) + 3607982352*B4(0,4,2,0) +
7255368120*B4(0,4,1,2) + 4664165220*B4(0,4,0,4) + 3006651960*B4(0,3,3,0) +
6529831308*B4(0,3,2,2) + 5441526090*B4(0,3,1,4) + 2204878104*B4(0,3,0,6) +
1571349780*B4(0,2,4,0) + 3539043816*B4(0,2,3,2) + 3250142280*B4(0,2,2,4) +
1728484758*B4(0,2,1,6) + 480134655*B4(0,2,0,8) + 495213264*B4(0,1,5,0) +
1138096960*B4(0,1,4,2) + 1097450640*B4(0,1,3,4) + 648493560*B4(0,1,2,6) +
237780972*B4(0,1,1,8) + 45189144*B4(0,1,0,10) + 75741120*B4(0,0,6,0) +
176243760*B4(0,0,5,2) + 174845000*B4(0,0,4,4) + 109103280*B4(0,0,3,6) +
44633160*B4(0,0,2,8) + 11231220*B4(0,0,1,10) + 1361360*B4(0,0,0,12) +
445429920*B4(7,0,0,0) + 1762874568*B4(6,1,0,0) + 3637677680*B4(6,0,1,0) +
5036784480*B4(6,0,0,2) + 3122292420*B4(5,2,0,0) + 8351811000*B4(5,1,1,0) +
12489169680*B4(5,1,0,2) + 7555176720*B4(5,0,2,0) + 14122368792*B4(5,0,1,2)
+ 7555176720*B4(5,0,0,4) + 3259095840*B4(4,3,0,0) + 9607312000*B4(4,2,1,0)
+ 14898723840*B4(4,2,0,2) + 11406835440*B4(4,1,2,0) +
22111711776*B4(4,1,1,2) + 13036383360*B4(4,1,0,4) + 6235515000*B4(4,0,3,0)
+ 13054290480*B4(4,0,2,2) + 9976824000*B4(4,0,1,4) +
3384445680*B4(4,0,0,6) + 2182606608*B4(3,4,0,0) + 6755687120*B4(3,3,1,0) +
10690318080*B4(3,3,0,2) + 8912310316*B4(3,2,2,0) + 17628745680*B4(3,2,1,2)
+ 10913033040*B4(3,2,0,4) + 6430894470*B4(3,1,3,0) +
13738086648*B4(3,1,2,2) + 11024390520*B4(3,1,1,4) + 4155347196*B4(3,1,0,6)
+ 2353791440*B4(3,0,4,0) + 5214553344*B4(3,0,3,2) + 4611509760*B4(3,0,2,4)
+ 2281367088*B4(3,0,1,6) + 548725320*B4(3,0,0,8) + 947320920*B4(2,5,0,0) +
3016650000*B4(2,4,1,0) + 4833270000*B4(2,4,0,2) + 4202518320*B4(2,3,2,0) +
8416582020*B4(2,3,1,2) + 5360355000*B4(2,3,0,4) + 3383289000*B4(2,2,3,0) +
7317942570*B4(2,2,2,2) + 6041587500*B4(2,2,1,4) + 2404737720*B4(2,2,0,6) +
1639638000*B4(2,1,4,0) + 3677834160*B4(2,1,3,2) + 3346200000*B4(2,1,2,4) +
1748106360*B4(2,1,1,6) + 469111500*B4(2,1,0,8) + 413884380*B4(2,0,5,0) +
947320920*B4(2,0,4,2) + 904995000*B4(2,0,3,4) + 525314790*B4(2,0,2,6) +
186080895*B4(2,0,1,8) + 32792760*B4(2,0,0,10) + 251839224*B4(1,6,0,0) +
816621520*B4(1,5,1,0) + 1319157840*B4(1,5,0,2) + 1175249712*B4(1,4,2,0) +
2373100380*B4(1,4,1,2) + 1539017480*B4(1,4,0,4) + 1002217320*B4(1,3,3,0) +
2185604694*B4(1,3,2,2) + 1837398420*B4(1,3,1,4) + 755517672*B4(1,3,0,6) +
543182640*B4(1,2,4,0) + 1228428432*B4(1,2,3,2) + 1138096960*B4(1,2,2,4) +
614214216*B4(1,2,1,6) + 174594420*B4(1,2,0,8) + 181883884*B4(1,1,5,0) +
419732040*B4(1,1,4,2) + 408310760*B4(1,1,3,4) + 244843690*B4(1,1,2,6) +
91869921*B4(1,1,1,8) + 18106088*B4(1,1,0,10) + 31187520*B4(1,0,6,0) +
72870840*B4(1,0,5,2) + 72930000*B4(1,0,4,4) + 46181520*B4(1,0,3,6) +
19333080*B4(1,0,2,8) + 5045040*B4(1,0,1,10) + 649740*B4(1,0,0,12) +
33256080*B4(0,7,0,0) + 109174000*B4(0,6,1,0) + 177365760*B4(0,6,0,2) +
160485780*B4(0,5,2,0) + 325909584*B4(0,5,1,2) + 213981040*B4(0,5,0,4) +
141716250*B4(0,4,3,0) + 310816440*B4(0,4,2,2) + 264537000*B4(0,4,1,4) +
111105540*B4(0,4,0,6) + 81510000*B4(0,3,4,0) + 185391360*B4(0,3,3,2) +
173888000*B4(0,3,2,4) + 95855760*B4(0,3,1,6) + 28215000*B4(0,3,0,8) +
30568720*B4(0,2,5,0) + 70946304*B4(0,2,4,2) + 69871360*B4(0,2,3,4) +
42796208*B4(0,2,2,6) + 16628040*B4(0,2,1,8) + 3477760*B4(0,2,0,10) +
6961500*B4(0,1,6,0) + 16358760*B4(0,1,5,2) + 16575000*B4(0,1,4,4) +
10720710*B4(0,1,3,6) + 4647375*B4(0,1,2,8) + 1287000*B4(0,1,1,10) +
185640*B4(0,1,0,12) + 755820*B4(0,0,7,0) + 1790712*B4(0,0,6,2) +
1847560*B4(0,0,5,4) + 1234506*B4(0,0,4,6) + 566865*B4(0,0,3,8) +
175560*B4(0,0,2,10) + 33592*B4(0,0,1,12) + 3060*B4(0,0,0,14) +
37119160*B4(8,0,0,0) + 148476640*B4(7,1,0,0) + 308374560*B4(7,0,1,0) +
428298000*B4(7,0,0,2) + 267257952*B4(6,2,0,0) + 719540640*B4(6,1,1,0) +
1079310960*B4(6,1,0,2) + 657865728*B4(6,0,2,0) + 1233498240*B4(6,0,1,2) +
664191360*B4(6,0,0,4) + 285817532*B4(5,3,0,0) + 848030040*B4(5,2,1,0) +
1319157840*B4(5,2,0,2) + 1017636048*B4(5,1,2,0) + 1978736760*B4(5,1,1,2) +
1174195440*B4(5,1,0,4) + 565353360*B4(5,0,3,0) + 1187242056*B4(5,0,2,2) +
913263120*B4(5,0,1,4) + 313118784*B4(5,0,0,6) + 198696680*B4(4,4,0,0) +
619016580*B4(4,3,1,0) + 982566000*B4(4,3,0,2) + 825355440*B4(4,2,2,0) +
1637610000*B4(4,2,1,2) + 1020357000*B4(4,2,0,4) + 605260656*B4(4,1,3,0) +
1296987120*B4(4,1,2,2) + 1047566520*B4(4,1,1,4) + 399072960*B4(4,1,0,6) +
226972746*B4(4,0,4,0) + 504383880*B4(4,0,3,2) + 448957080*B4(4,0,2,4) +
224478540*B4(4,0,1,6) + 54872532*B4(4,0,0,8) + 91706160*B4(3,5,0,0) +
293930000*B4(3,4,1,0) + 472387500*B4(3,4,0,2) + 413853440*B4(3,3,2,0) +
831402000*B4(3,3,1,2) + 532950000*B4(3,3,0,4) + 338607360*B4(3,2,3,0) +
734657040*B4(3,2,2,2) + 610470000*B4(3,2,1,4) + 245583360*B4(3,2,0,6) +
168127960*B4(3,1,4,0) + 378287910*B4(3,1,3,2) + 346417500*B4(3,1,2,4) +
182908440*B4(3,1,1,6) + 49884120*B4(3,1,0,8) + 44054920*B4(3,0,5,0) +
101146500*B4(3,0,4,2) + 97256250*B4(3,0,3,4) + 57057000*B4(3,0,2,6) +
20540520*B4(3,0,1,8) + 3708705*B4(3,0,0,10) + 27350960*B4(2,6,0,0) +
89266320*B4(2,5,1,0) + 144644500*B4(2,5,0,2) + 129841920*B4(2,4,2,0) +
262990000*B4(2,4,1,2) + 171666000*B4(2,4,0,4) + 112529664*B4(2,3,3,0) +
246158640*B4(2,3,2,2) + 208288080*B4(2,3,1,4) + 86561280*B4(2,3,0,6) +
62486424*B4(2,2,4,0) + 141751610*B4(2,2,3,2) + 132182820*B4(2,2,2,4) +
72099720*B4(2,2,1,6) + 20828808*B4(2,2,0,8) + 21719880*B4(2,1,5,0) +
50277500*B4(2,1,4,2) + 49227750*B4(2,1,3,4) + 29835000*B4(2,1,2,6) +
11377080*B4(2,1,1,8) + 2297295*B4(2,1,0,10) + 3960320*B4(2,0,6,0) +
9282000*B4(2,0,5,2) + 9350000*B4(2,0,4,4) + 5984000*B4(2,0,3,6) +
2545920*B4(2,0,2,8) + 680680*B4(2,0,1,10) + 91000*B4(2,0,0,12) +
4803656*B4(1,7,0,0) + 15872220*B4(1,6,1,0) + 25865840*B4(1,6,0,2) +
23581584*B4(1,5,2,0) + 48036560*B4(1,5,1,2) + 31744440*B4(1,5,0,4) +
21162960*B4(1,4,3,0) + 46558512*B4(1,4,2,2) + 39884040*B4(1,4,1,4) +
16930368*B4(1,4,0,6) + 12471030*B4(1,3,4,0) + 28452424*B4(1,3,3,2) +
26860680*B4(1,3,2,4) + 14965236*B4(1,3,1,6) + 4476780*B4(1,3,0,8) +
4855032*B4(1,2,5,0) + 11302720*B4(1,2,4,2) + 11203920*B4(1,2,3,4) +
6935760*B4(1,2,2,6) + 2738736*B4(1,2,1,8) + 586872*B4(1,2,0,10) +
1175720*B4(1,1,6,0) + 2771340*B4(1,1,5,2) + 2826250*B4(1,1,4,4) +
1847560*B4(1,1,3,6) + 813960*B4(1,1,2,8) + 230945*B4(1,1,1,10) +
34580*B4(1,1,0,12) + 143208*B4(1,0,7,0) + 340340*B4(1,0,6,2) +
353430*B4(1,0,5,4) + 238680*B4(1,0,4,6) + 111384*B4(1,0,3,8) +
35343*B4(1,0,2,10) + 7020*B4(1,0,1,12) + 680*B4(1,0,0,14) +
379236*B4(0,8,0,0) + 1264120*B4(0,7,1,0) + 2068560*B4(0,7,0,2) +
1905904*B4(0,6,2,0) + 3898440*B4(0,6,1,2) + 2598960*B4(0,6,0,4) +
1750320*B4(0,5,3,0) + 3866616*B4(0,5,2,2) + 3341520*B4(0,5,1,4) +
1439424*B4(0,5,0,6) + 1069640*B4(0,4,4,0) + 2450448*B4(0,4,3,2) +
2333760*B4(0,4,2,4) + 1319472*B4(0,4,1,6) + 403920*B4(0,4,0,8) +
442442*B4(0,3,5,0) + 1034280*B4(0,3,4,2) + 1034280*B4(0,3,3,4) +
649740*B4(0,3,2,6) + 262548*B4(0,3,1,8) + 58344*B4(0,3,0,10) +
120120*B4(0,2,6,0) + 284310*B4(0,2,5,2) + 292500*B4(0,2,4,4) +
194040*B4(0,2,3,6) + 87480*B4(0,2,2,8) + 25740*B4(0,2,1,10) +
4095*B4(0,2,0,12) + 19448*B4(0,1,7,0) + 46410*B4(0,1,6,2) +
48620*B4(0,1,5,4) + 33320*B4(0,1,4,6) + 15912*B4(0,1,3,8) +
5236*B4(0,1,2,10) + 1105*B4(0,1,1,12) + 120*B4(0,1,0,14) +
1430*B4(0,0,8,0) + 3432*B4(0,0,7,2) + 3640*B4(0,0,6,4) + 2548*B4(0,0,5,6)
+ 1260*B4(0,0,4,8) + 440*B4(0,0,3,10) + 104*B4(0,0,2,12) + 15*B4(0,0,1,14)
+ B4(0,0,0,16)
Time: CPU 3.77 s, Wall: 3.77 s
sage: %timeit spin^(16)
5 loops, best of 3: 3.63 s per loop
}}}
I give this revised patch a positive review!
Anne
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13391#comment:14>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.