"Alcove_Path" : A package for the alcove path model based on Stembridge's Maple packages Coxeter/Weyl This package, based on the alcove path model, is useful for investigating the combinatorics of irreducible crystals corresponding to the complex simple Lie algebras. The alcove path model was introduced in my joint papers with A. Postnikov entitled "Affine Weyl groups in K-theory and representation theory" and "A combinatorial model for crystals of Kac-Moody algebras"; both are available on my webpage and on arXiv. I refer the user to the short survey paper "A new combinatorial model in representation theory" on my webpage for the concepts that are mentioned below. In the alcove path model, vertices of crystals are labeled by certain finite sets of positive integers, called admissible subsets (in type A, there is an easy weight-preserving bijection between admissible subsets and semistandard Young tableaux, described in a forthcoming publication); in the discussion below, we will identify a vertex of a crystal with the corresponding admissible subset. The alcove path model can be thought of as a discrete counterpart to the Littelmann path model. The connection to the latter is discussed in the second joint paper mentioned above. The advantage of having this discrete model is that more combinatorics can be developed. For instance, I gave a combinatorial realization of Lusztig's involution on crystals, in finite types, in the paper "On the combinatorics of crystal graphs, I. Lusztig's involution" (also available on my webpage). This paper also contains a type-independent analog of jeu de taquin for tableaux; this is not yet implemented, but has several applications. A forthcoming paper entitled "On the combinatorics of crystal graphs II. Crystal multiplication" will contain a combinatorial realization of the commutator in the category of crystals (for finite types) that has been recently studied by Henriques and Kamnitzer. This package was first used for experiments related to this paper. Projects include the connection between the alcove path model and the tableaux models in classical types, plus the Kyoto path model in the affine types. Stembridge's packages, on which this package is based, have to be loaded into Maple first (available from www.math.lsa.umich.edu/~jrs), then the "alcove_path" file is loaded. The data format in Stembridge's packages is used. The procedure "prepare" (see below) has to be run each time before switching to a new root system. PROCEDURES ========== prepare - initializes the basic structures related to a root system lchain - constructs a particular lambda-chain of roots fold - constructs all admissible subsets for a given lambda-chain weight - computes the weight of an admissible subset admfold - constructs the admissible folding corresponding to an admissible subset tstlrfold - tests whether an admissible subset indexes an irreducible crystal in the tensor product of two irreducible crystals fp - constructs the result of applying a root operator f_p to an admissible subset repf - applies a sequence of root operators f_p to an admissible subset ep - constructs the result of applying a root operator e_p to an admissible subset repe - applies a sequence of root operators e_p to an admissible subset fp2 - constructs the result of applying a root operator f_p to a pair of admissible subsets (in a tensor product of irreducible crystals) ep2 - constructs the result of applying a root operator e_p to a pair of admissible subsets (in a tensor product of irreducible crystals) gototop1 - constructs a sequence of root operators e_p corresponding to a path from a vertex to the highest weight vertex in an irreducible crystal gototop - constructs a sequence of root operators e_p corresponding to a path from a vertex to the highest weight vertex in a tensor product of two irreducible crystals gotobot1 - constructs a sequence of root operators f_p corresponding to a path from a vertex to the lowest weight vertex in an irreducible crystal gotobot - constructs a sequence of root operators f_p corresponding to a path from a vertex to the lowest weight vertex in a tensor product of two irreducible crystals compkey - computes the Weyl group element w(J) for an admissible subset J (this is an analog of the Lascoux-Schuetzenberger key, and is relevant to the corresponding Demazure modules) sp - constructs the result of applying a simple reflection to a vertex of an irreducible crystal actw - constructs the result of applying a sequence of simple reflections to a vertex of an irreducible crystal sp2 - constructs the result of applying a simple reflection to a pair of admissible subsets (in a tensor product of two irreducible crystals) actw2 - constructs the result of applying a sequence of simple reflections to a pair of admissible subsets (in a tensor product of two irreducible crystals) invol - constructs the result of applying Lusztig's involution to a vertex of an irreducible crystal commutator - realizes the commutator in the category of crystals studied by Henriques and Kamnitzer DESCRIPTION =========== PROCEDURE: prepare - initializes the basic structures related to a root system CALLING SEQUENCE: prepare(rs) PARAMETERS: rs = root system type (cf. Stembridge's packages) OUTPUT: no output, but some invisible global parameters are initialized (b = simple roots, w = fundamental weights etc). PROCEDURE: lchain - constructs a particular lambda-chain (of roots) CALLING SEQUENCE: lchain(lam) PARAMETERS: lam = dominant weight indexing an irreducible representation (cf. Stembridge's format) OUTPUT: lambda-chain of roots; sequence of "levels" corresponding to it PROCEDURE: fold - constructs all admissible subsets for a given lambda-chain CALLING SEQUENCE: fold(lc) PARAMETERS: lc = lambda-chain constructed by "lchain" OUTPUT: sequence of admissible subsets (each one is a sequence J_i=[p, q, ...]); corresponding sequence of Weyl group elements [w(J_1), w(J_2), ...], each one being in the form of a reduced word - see "compkey" PROCEDURE: weight - computes the weight of an admissible subset CALLING SEQUENCE: weight(lc,lev,fld,lam) PARAMETERS: lc = lambda-chain of roots lev = sequence of "levels" associated to a lambda-chain (output of lchain) fld = admissible subset lam = corresponding dominant weight OUTPUT: weight of fld, denoted \mu(fld), in the form [a_1,...,a_n], where a_i is the coefficient of the ith fundamental weight in \mu(fld) PROCEDURE: admfold - constructs the admissible folding corresponding to an admissible subset CALLING SEQUENCE: admfold(lc,fld) PARAMETERS: lc, fld = same as the ones with the same name in "weight" OUTPUT: sequence of pairs of roots (see definition of "admissible folding" in the paper cited at the beginning of the file) PROCEDURE: tstlrfold - tests whether an admissible subset fld indexes an irreducible crystal in the tensor product of two irreducible crystals CALLING SEQUENCE: tstlrfold(nu,fld,key,lc) PARAMETERS: lc, fld = same as the ones with the same name in "weight" (correspond to the second irreducible crystal in the tensor product) key = Weyl group element w(fld) in the form of a reduced word, see "compkey"; this is computed by "compkey" and is also an output of "fold" nu = dominant weight corresponding to the first irreducible crystal in the tensor product NOTE: a highest weight vertex of an irreducible crystal in a tensor product of two irreducible crystals corresponds to a pair of admissible subsets of the form [[], fld] OUTPUT: true/false PROCEDURE: fp - constructs the result of applying a root operator f_p to an admissible subset CALLING SEQUENCE: fp(p,lc,fld) PARAMETERS: lc, fld = same as the ones with the same name in "weight" p = index of root operator "f" OUTPUT: f_p(fld) or 0, if the former is not defined PROCEDURE: repf - applies a sequence of root operators f_p to an admissible subset CALLING SEQUENCE: repf(lc,fld,sf) PARAMETERS: lc, fld = same as the ones with the same name in "weight" sf= sequence of indices of root operators "f" (applied from left to right) OUTPUT: admissible subset obtained by applying the given sequence of root operators, or 0 if some root operator is undefined PROCEDURE: ep - constructs the result of applying a root operator e_p to an admissible subset CALLING SEQUENCE: ep(p,lc,fld,w) PARAMETERS: p, lc, fld = same as the ones with the same name in "fp" w = weight of fld OUTPUT: e_p(fld) or 0, if the former is undefined; weight of e_p(fld) or 0 PROCEDURE: repe - applies a sequence of root operators e_p to an admissible subset CALLING SEQUENCE: repe(lc,fld,sf,w) PARAMETERS: lc, fld, sf = same as in "repf" w = weight of fld OUTPUT: same as in "repf" PROCEDURE: fp2 - constructs the result of applying a root operator f_p to a pair of admissible subsets (in a tensor product of irreducible crystals) CALLING SEQUENCE: fp2(p,lc1,fld1,lc2,fld2,w1,w2) PARAMETERS: p = index of root operator "f" lc1, lc2 = the two lambda-chains corresponding to the two irreducible crystals in the tensor product fld1,fld2 = admissible subsets corresponding to lc1 and lc2 w1,w2 = weights of fld1 and fld2 OUTPUT: f_p([fld1,fld2]) or 0, if the former is undefined; weights of the two admissible subsets in f_p([fld1,fld2]) or 0, 0 PROCEDURE: ep2 - constructs the result of applying a root operator e_p to a pair of admissible subsets (in a tensor product of irreducible crystals) CALLING SEQUENCE: ep2(p,lc1,fld1,lc2,fld2,w1,w2) PARAMETERS: same as in "fp2" OUTPUT: e_p([fld1,fld2]) or 0, if the former is undefined; weights of the two admissible subsets in e_p([fld1,fld2]) or 0, 0 PROCEDURE: gototop1 - constructs a sequence of root operators e_p corresponding to a path from a vertex to the highest weight vertex in an irreducible crystal CALLING SEQUENCE: gototop1(lc,fld,w) PARAMETERS: lc, fld = same as the ones with the same name in "weight" w = weight of fld OUTPUT: sequence of indices of root operators "e_p" applied from left to right PROCEDURE: gototop - constructs a sequence of root operators e_p corresponding to a path from a vertex to the highest weight vertex in a tensor product of two irreducible crystals (see NOTE in "tstlrfold") CALLING SEQUENCE: gototop(lc1,lc2,lev1,lev2,fld,lam1,lam2) PARAMETERS: lc1, lc2 = the two lambda-chains corresponding to the two irreducible crystals in the tensor product lev1, lev2 = the two sequences of "levels" corresponding to lc1 and lc2 (output of "lchain") fld = pair of admissible subsets lam1, lam2 = dominant weights corresponding to the two irreducible crystals OUTPUT: sequence of indices of root operators "e_p" applied from left to right; highest weight pair in the tensor product PROCEDURE: gotobot1 - constructs a sequence of root operators f_p corresponding to a path from a vertex to the lowest weight vertex in an irreducible crystal CALLING SEQUENCE: gotobot1(lc,fld) PARAMETERS: same as in "gototop1" OUTPUT: sequence of indices of root operators "f_p" applied from left to right PROCEDURE: gotobot - constructs a sequence of root operators f_p corresponding to a path from a vertex to the lowest weight vertex in a tensor product of two irreducible crystals CALLING SEQUENCE: gotobot(lc1,lc2,lev1,lev2,fld,lam1,lam2) PARAMETERS: same as in gototop OUTPUT: sequence of indices of root operators "f_p" applied from left to right; lowest weight pair in the tensor product PROCEDURE: compkey - computes the Weyl group element w(J) for an admissible subset J (this is an analog of the Lascoux-Schuetzenberger key, and is relevant to the corresponding Demazure module) CALLING SEQUENCE: compkey(lc,fld) PARAMETERS: same as the ones with the same name in "weight" OUTPUT: the Weyl group element w(fld) in the form of a reduced word PROCEDURE: sp - constructs the result of applying a simple reflection to a vertex of an irreducible crystal CALLING SEQUENCE: sp(p,lc,fld,w) PARAMETERS: lc, fld = same as the ones with the same name in "weight" p = index of the corresponding simple reflection w = weight of fld OUTPUT: s_p(fld) PROCEDURE: actw - constructs the result of applying a sequence of simple reflections to a vertex of an irreducible crystal CALLING SEQUENCE: actw(r,lc,fld,w) PARAMETERS: lc, fld, w = same as the ones with the same name in "sp" r = sequence of indices of simple reflections (applied from right to left) OUTPUT: admissible subset obtained by applying the simple reflections in r to fld PROCEDURE: sp2 - constructs the result of applying a simple reflection to a pair of admissible subsets (in a tensor product of two irreducible crystals) CALLING SEQUENCE: sp2(p,lc1,fld1,lc2,fld2,w1,w2) PARAMETERS: p = index of simple reflection applied lc1, lc2, fld1, fld2, w1, w2 = same as the ones with the same name in "fp2" OUTPUT: s_p([fld1,fld2]); weights of the two admissible subsets in s_p([fld1,fld2]) PROCEDURE: actw2 - constructs the result of applying a sequence of simple reflections to a pair of admissible subsets (in a tensor product of two irreducible crystals) CALLING SEQUENCE: actw2(r,lc1,fld1,lc2,fld2,w1,w2) PARAMETERS: lc1, lc2, fld1, fld2, w1, w2 = same as the ones with the same name in "fp2" r = same as in "actw" OUTPUT: pair of admissible subsets obtained by applying the simple reflections in r to [fld1,fld2] PROCEDURE: invol - constructs the result of applying Lusztig's involution to a vertex of an irreducible crystal CALLING SEQUENCE: invol(lc,fld) PARAMETERS: same as the ones with the same name in "weight" OUTPUT: admissible subset obtained by applying Lusztig's involution to fld PROCEDURE: commutator - realizes the commutator in the category of crystals studied by Henriques and Kamnitzer CALLING SEQUENCE: commutator(lc1,lc2,lev2,fld2,p2,lam2) PARAMETERS: lc1, lc2 = lambda-chains for two irreducible crystals A and B lev2 = the level sequence corresponding to the crystal B (output of "lchain") lam2 = the dominant weight corresponding to the crystal B fld2 = an admissible subset for lc2, such that [[],fld2] is a highest weight vertex for an irreducible crystal in the tensor product A x B p2 = w(fld2), see "compkey"; this Weyl group element is computed by compkey and is also an output of "fold" OUTPUT: the pair [[],fld1] in the tensor product B x A that corresponds to [[],fld2] in A x B via the commutator studied by Henriques-Kamnitzer. Here fld1 is an admissible subset for the lambda-chain lc1. 2006 C. Lenart