-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathZamolodchikovB3.m
47 lines (40 loc) · 1.5 KB
/
ZamolodchikovB3.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// This test verifies the B3 Zamolodchikov relation, as written on page 303 of Soergel Calculus by Elias and Williamson.
if assigned batch then SetQuitOnError(true); else SetDebugOnError(true); end if;
AttachSpec("ASLoc.spec");
SetColumns(0);
SetAssertions(3);
// B3 relation, as written on page 303.
// You really need the picture to make sense of the following code. R, G, B stand for Red, Green, and Blue.
cartan := CartanMatrix("B3");
W := CoxeterGroup(GrpFPCox, cartan);
B := BSCategory(cartan, W);
g := 3;
r := 2;
b := 1;
LHS := &*[
[g,r,g] cat Braid(B, r, b) cat [g, r, b],
Braid(B, r, g) cat [b,r,g,r,b],
[r,g,r] cat Braid(B,b,g) cat [r,g,r,b],
[r,g,r,b] cat Braid(B,r,g) cat [b],
[r,g] cat Braid(B,b,r) cat [g,r] cat Braid(B,b,g),
[r] cat Braid(B, b,g) cat [r] cat Braid(B, g,b) cat [r,b,g],
[r,b,g,r,g] cat Braid(B, r,b) cat [g],
[r,b] cat Braid(B,r,g) cat [b,r,g],
Braid(B,b,r) cat [g,r] cat Braid(B,b,g) cat [r,g],
[b,r] cat Braid(B,g,b) cat [r,b,g,r,g]
];
RHS :=&*[
[g,r,g,b,r] cat Braid(B,g,b) cat [r,b],
[g,r] cat Braid(B,b,g) cat [r,g] cat Braid(B,r,b),
[g,r,b] cat Braid(B,r,g) cat [b,r],
[g] cat Braid(B,b,r) cat [g,r] cat Braid(B,b,g) cat [r],
[g,b,r] cat Braid(B,g,b) cat [r,b,g,r],
[g,b,r,g] cat Braid(B,r,b) cat [g,r],
Braid(B,b,g) cat [r,g,r,b,r,g,r],
[b] cat Braid(B,r,g) cat [b,r,g,r],
[b,r,g,r] cat Braid(B,b,g) cat [r,g,r],
[b,r,g,r,b] cat Braid(B,r,g),
[b,r,g] cat Braid(B,b,r) cat [g,r,g]
];
assert LHS eq RHS;
quit;