1####################################################################### 2## Hecke - symmcomb.gd : Combinatorial functions on partitions. ## 3## ## 4## This file contains most of the combinatorial functions used ## 5## by Hecke. Most are standard operations on Young diagrams or ## 6## partitions. ## 7## ## 8## These programs, and the enclosed libraries, are distributed ## 9## under the usual licensing agreements and conditions of GAP. ## 10## ## 11## Dmitriy Traytel ## 12## (heavily using the GAP3-package SPECHT 2.4 by Andrew Mathas) ## 13## ## 14####################################################################### 15 16## Hecke 1.0: June 2010: 17## - initial 18 19MakeDispatcherFunc("Lexicographic", [[IsList]],[2],[2]); 20MakeDispatcherFunc("LengthLexicographic", [[IsList]],[2],[2]); 21MakeDispatcherFunc("ReverseDominance", [[IsList]],[2],[2]); 22MakeDispatcherFunc("Dominates", [[IsList]],[2],[2]); 23 24MakeDispatcherFunc("ConjugatePartition", [[]],[1],[1]); 25 26MakeDispatcherFunc("LittlewoodRichardsonRule", [[IsList]],[2],[2]); 27MakeDispatcherFunc("LittlewoodRichardsonCoefficient", [[IsList,IsList]],[3],[3]); 28MakeDispatcherFunc("InverseLittlewoodRichardsonRule", [[]],[1],[1]); 29 30MakeDispatcherFunc("SpechtDimension", [[],[IsHeckeSpecht]],[1,0],[1,1]); 31 32MakeDispatcherFunc("BetaNumbers", [[]],[1],[1]); 33MakeDispatcherFunc("PartitionBetaSet", [[]],[1],[1]); 34 35MakeDispatcherFunc("EAbacusRunners", [[IsInt]],[2],[2]); 36MakeDispatcherFunc("ECore",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 37MakeDispatcherFunc("IsECore",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 38MakeDispatcherFunc("EWeight",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 39MakeDispatcherFunc("EQuotient",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 40MakeDispatcherFunc("EAbacus",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 41MakeDispatcherFunc("CombineEQuotientECore",[[IsInt,IsList],[IsAlgebraObj,IsList]],[3,3],[3,3]); 42MakeDispatcherFunc("IsERegular",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 43MakeDispatcherFunc("ERegularPartitions",[[IsInt,IsInt],[IsAlgebraObj,IsInt]],[0,0],[2,2]); 44 45MakeDispatcherFunc("EResidueDiagram",[[IsInt],[IsAlgebraObj],[IsHeckeSpecht]],[2,2,0],[2,2,1]); 46 47MakeDispatcherFunc("ETopLadder",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 48MakeDispatcherFunc("EHookDiagram",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 49 50MakeDispatcherFunc("HookLengthDiagram",[[]],[1],[1]); 51 52MakeDispatcherFunc("NormalNodes",[[IsInt],[IsAlgebraObj],[IsInt,IsInt],[IsAlgebraObj,IsInt]],[2,2,2,2],[2,2,3,3]); 53MakeDispatcherFunc("RemoveNormalNodes",[[IsInt,IsInt],[IsAlgebraObj,IsInt]],[2,2],[3,3]); 54MakeDispatcherFunc("GoodNodes",[[IsInt],[IsAlgebraObj],[IsInt,IsInt],[IsAlgebraObj,IsInt]],[2,2,2,2],[2,2,3,3]); 55MakeDispatcherFunc("GoodNodeSequence",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 56MakeDispatcherFunc("GoodNodeSequences",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 57MakeDispatcherFunc("PartitionGoodNodeSequence",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 58MakeDispatcherFunc("GoodNodeLatticePath",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 59MakeDispatcherFunc("GoodNodeLatticePaths",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 60MakeDispatcherFunc("LatticePathGoodNodeSequence",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 61 62MakeDispatcherFunc("MullineuxSymbol",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 63MakeDispatcherFunc("PartitionMullineuxSymbol",[[IsInt],[IsAlgebraObj]],[2,2],[2,2]); 64 65MakeDispatcherFunc("RemoveRimHook",[[IsInt,IsInt],[IsList,IsInt,IsInt]],[1,4],[3,4]); 66MakeDispatcherFunc("AddRimHook",[[IsInt,IsInt]],[1],[3]); 67 68