(V,C) = propagateWeights(M,W)
Let $\phi:E\rightarrow F$ be a homogeneous map of graded free modules. Fix a homogeneous basis $\{e_i\}$ of $E$ and assume $\phi$ is minimal, in the sense that $\{\phi (e_i)\}$ is a minimal set of generators of the image of $\phi$. Moreover, suppose $\phi$ is equivariant for the action of an algebraic torus and fix a homogeneous basis of weight vectors $\{f_j\}$ of $F$. Use this function to recover the weights of the domain $E$ from the weights of the codomain $F$ (or vice-versa, setting the optional input Forward to true.).
The input consists of M, the matrix of $\phi$ with respect to the bases $\{e_i\}$ and $\{f_j\}$, together with W, a list of weights $\{w_j\}$ such that $w_j$ is the weight of $f_j$.
If the optional argument LeadingTermTest is true (and it is by default), a new homogeneous basis $\{e_i'\}$ for $E$ is computed. The change of basis from $\{e_i\}$ to $\{e_i'\}$, given by the matrix C, is chosen so that the columns of the matrix M*inverse(C) have all different leading terms. This is a sufficient condition for the algorithm to work. The matrix C is part of the output. The user can choose to avoid this change of basis by setting this optional argument to false; then C is taken to be the identity matrix.
The output V is a list of weights $\{v_i\}$ such that there is a basis of homogeneous weight vectors $\{e_i''\}$ of $E$, with $v_i$ the weight of $e_i''$. Notice that the change of basis from $\{e_i\}$ to $\{e_i''\}$ is not returned.
This method implements an algorithm introduced in Galetto - Propagating weights of tori along free resolutions.
In the following example, the polynomial ring R is the symmetric algebra over $\mathbb{C}^2 \otimes \mathbb{C}^4$, with the natural action of $SL_2 (\mathbb{C}) \times SL_4 (\mathbb{C})$. The map $\phi$ is the unique (up to scalars) equivariant map $\mathbb{C}^4 \otimes R(-1) \rightarrow (\mathbb{C}^2)^* \otimes R$. If $\{f_1,f_2\}$ and $\{e_1,e_2,e_3,e_4\}$ are the coordinate bases of $\mathbb{C}^2$ and $\mathbb{C}^4$ respectively, then M is the matrix of $\phi$ with respect to the bases $\{f_1^*,f_2^*\}$ and $\{e_1,e_1+e_2,e_3,e_4\}$.
|
|
|
|
|
|
|
|
|
While the first and second columns of M have the same leading terms, all the columns of M*inverse(C) have different leading terms. The weights in V are in order the weights of $e_4$, $e_3$, $e_2$ and $e_1$.
A list of weights obtained using this method can be decomposed into highest weights using the function decomposeWeightsList.
This function does not check that M is an equivariant map. When used on a map that is not equivariant, this function will produce meaningless results.