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,\dots, r-1\}$ then it is natural to think of $\wedge^2 A$ as a labeled module with a basis labeled by elements of the lists $$ \{(i,j)| 0\leq i<j\leq 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
|
The object basisList is a method function.