Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



3 Commits

Repository files navigation

Symmetric Functions

Some code for computing in the ring of symmetric functions, and the representation ring of GL(n). See it in action.

Building and Testing


npm install

to install the typescript compiler and testing/benchmarking libraries. The only dependency of the code itself is the typescript compiler, and it has no runtime dependencies. Here are some handy commands defined in package.json:

npm test              # Run the tests in test/
npm run-script bench  # Run the benchmarks in bench/
npm run-script build  # Generate symfunc.js from interface.ts.
npm run-script clean  # Remove all compiled javascript and sourcemap files.

The file SymmetricAlgebra.html has a barebones implementation of what you might do with this, and is tightly coupled to interface.ts. Aside from that, the rest of the code should be fairly usable as a library, and is roughly structured as follows:

  • crystal.ts knows the GL(n) crystal operators, and how to tensor crystals. It also knows how to multiply partitions using this rule, and compute dimensions using hook length formulae.
  • algebra.ts implements linear combinations of partitions. There is nothing much interesting in here, aside from a little logic about how to restrict to the representation ring of GL(n), as well as which n to use when multiplying partitions.
  • parse.ts has a very ad-hoc parser for expressions, and uses the operations in algebra.ts to evaluate expressions.


A laundry list of items to fix.

  • Eventually, it would be nice to use exact arithmetic to do things like the hook length dimension calculations. Feels so bad rounding floats.
  • I wonder how hard the Kronecker product is to implement...


An implementation of the symmetric functions.






No releases published


No packages published