next | previous | forward | backward | up | top | index | toc | Macaulay2 website
TensorComplexes :: LabeledModule

LabeledModule -- the class of free modules with a labeled basis


A labeled module $F$ is a free module together with two additional pieces of data: a basisList which corresponds to the basis of $F$, and a list of underlyingModules which were used in the construction of $F$. The constructor labeledModule can be used to construct a labeled module from a free module. The call labeledModule E, where $E$ is a free module, returns a labeled module with basisList $\{1,\dots, rank E\}$ and underlyingModules $\{E\}$.ß

For example if $A,B$ are of type LabeledModule, then F=tensorProduct(A,B) constructs the LabeledModule $F=A\otimes B$ with basisList equal to the list of pairs $\{a,b\}$ where $a$ belongs to the basis list of $A$ and $b$ belongs to the basis list of $b$. The list of underlyingModules of $F$ is $\{A,B\}$.

Certain functors which are the identity in the category of modules are non-trivial isomorphisms in the category of labeled modules. For example, if F is a labeled module with basis list \{0,1\} then tensorProduct F is a labeled free module with basis list \{\{ 0\},\{ 1\}\} . Similarly, one must be careful when applying the functors exteriorPower and symmetricPower. For a ring $S$, the multiplicative unit for tensor product is the rank 1 free $S$-module whose generator is labeled by \{\} . This is constructed by labeledModule S.

Functions and methods returning a free module with labeled basis :

Methods that use a free module with labeled basis :

For the programmer

The object LabeledModule is a type, with ancestor classes HashTable < Thing.