Skip to content

carsonmit/StackSortingPermutations

Repository files navigation

StackSortingPermutations

File Directory

  • Dilate: One function dilateP that dilates vertices of a polytope by a given factor
  • FundamentalParallelepipedEnumerator: Tools to enumerate all lattice points in the fundamental parallelepiped of a given polytope (only works with simplices for now)
  • Ln1Permutations: Various functions to generate Ln1 permutations and their families
  • SimplexPointEnumerator: Tools to enumerate all lattice points in a given simplex
  • StackSort: The stack-sorting algorithm plus extra functions to quickly stack sort large families of permutations
  • tValueCalculator: Calculate t-values for given permutations, the number of times it takes the stack sorting algorithm to reach the identity

AscentsPlusMore

  • AscentsTables: Code for the tables in TablesTool, see below
  • NumAscents: Calculate the number of ascents in given permutations
  • StartsEndsWith: Functions to find the numbers permutations start and end with
  • TablesTool: Generates the tables from our prior discussions, compares number of iterations of the algorithm to ascents, starting number, and ending number for large families of permutations (used to find patterns)

MiscellaneousTools

  • FindIndices: One function findIndices, takes a list and an item, outputs a list containing all indices where the item is found in the list

PermutationTools

  • AllPermutationsLexicographic: Code to enumerate all permutations from 1 to n (given by user) in lexicographic order
  • IdentityPermutation: One function identityp, takes a positive integer n and outputs the identity permutation 1,2,...,n