next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
HighestWeights :: propagateWeights(Matrix,List)

propagateWeights(Matrix,List) -- propagate (Lie theoretic) weights along an equivariant map of graded free modules

Synopsis

Description

Let φ:E→F be a homogeneous map of graded free modules. Fix a homogeneous basis {ei} of E and assume φ is minimal, in the sense that {φ(ei)} is a minimal set of generators of the image of φ. Moreover, suppose φ is equivariant for the action of an algebraic torus and fix a homogeneous basis of weight vectors {fj} of F. Use this function to recover the weights of the domain E from the weights of the codomain F (or viceversa, setting the optional input Forward to true.).

The input consists of M, the matrix of φ with respect to the bases {ei} and {fj}, together with W, a list of weights {wj} such that wj is the weight of fj.

If the optional argument LeadingTermTest is true (and it is by default), a new homogeneous basis {ei’} for E is computed. The change of basis from {ei} to {ei’}, 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 {vi} such that there is a basis of homogeneous weight vectors {ei”} of E, with vi the weight of ei. Notice that the change of basis from {ei} to {ei”} is not retuned.

This method implements an algorithm introduced in Galetto - Propagating weights of tori along free resolutions (in preparation).

In the following example, the polynomial ring R is the symmetric algebra over C2 ⊗C4, with the natural action of SL2 (C) ×SL4 (C). The map φ is the unique (up to scalars) equivariant map C4 ⊗R(-1) →(C2)* ⊗R. If {f1,f2} and {e1,e2,e3,e4} are the coordinate bases of C2 and C4 respectively, then M is the matrix of φ with respect to the bases {f1*,f2*} and {e1,e1+e2,e3,e4}.

i1 : R=QQ[x_(1,1)..x_(2,4)];
i2 : D=dynkinType{{"A",1},{"A",3}};
i3 : U={{1,1,0,0},{1,-1,1,0},{1,0,-1,1},{1,0,0,-1},{-1,1,0,0},{-1,-1,1,0},{-1,0,-1,1},{-1,0,0,-1}};
i4 : setWeights(R,D,U);
i5 : M=map(R^2,R^{4:-1},{{x_(1,1),x_(1,1)+x_(1,2),x_(1,3),x_(1,4)},{x_(2,1),x_(2,2)+x_(2,1),x_(2,3),x_(2,4)}})

o5 = | x_(1,1) x_(1,1)+x_(1,2) x_(1,3) x_(1,4) |
     | x_(2,1) x_(2,1)+x_(2,2) x_(2,3) x_(2,4) |

             2       4
o5 : Matrix R  <--- R
i6 : (V,C)=propagateWeights(M,{{-1,0,0,0},{1,0,0,0}});
i7 : V

o7 = {{0, 0, 0, -1}, {0, 0, -1, 1}, {0, -1, 1, 0}, {0, 1, 0, 0}}

o7 : List
i8 : C

o8 = {1} | 0 0 0 1 |
     {1} | 0 0 1 0 |
     {1} | 0 1 0 0 |
     {1} | 1 1 0 0 |

             4       4
o8 : Matrix R  <--- R
i9 : M*inverse(C)

o9 = | x_(1,4) x_(1,3) x_(1,2) x_(1,1) |
     | x_(2,4) x_(2,3) x_(2,2) x_(2,1) |

             2       4
o9 : Matrix R  <--- R

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 e4, e3, e2 and e1.

A list of weights obtained using this method can be decomposed into highest weights using the function decomposeWeightsList.

Caveat

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.

See also