One of the key features of a labeled module of rank r is that the basis can be labeled by any list of cardinality r. This is particularly convenient when working with tensor products, symmetric powers, and exterior powers. For instance, if A is a labeled module with basis labeled by {0,…, r-1} then it is natural to think of ∧2 A as a labeled module with a basis labeled by elements of the lists
{(i,j)| 0≤i<j≤r-1}.
When you use apply the functions tensorProduct, symmetricPower and exteriorPower to a labeled module, the output is a labeled module with a natural basis list.i1 : S=ZZ/101[x,y,z]; |
i2 : A=labeledModule(S^2); o2 : free S-module with labeled basis |
i3 : B=labeledModule(S^4); o3 : free S-module with labeled basis |
i4 : F=A**B
8
o4 = S
o4 : free S-module with labeled basis
|
i5 : basisList(F)
o5 = {{0, 0}, {0, 1}, {0, 2}, {0, 3}, {1, 0}, {1, 1}, {1, 2}, {1, 3}}
o5 : List
|
i6 : G=exteriorPower(2,B)
6
o6 = S
o6 : free S-module with labeled basis
|
i7 : basisList(G)
o7 = {{0, 1}, {0, 2}, {1, 2}, {0, 3}, {1, 3}, {2, 3}}
o7 : List
|