Some code for computing in the ring of symmetric functions, and the representation ring of GL(n). See it in action.
Building and Testing
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
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.tsknows 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.tsimplements 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.tshas a very ad-hoc parser for expressions, and uses the operations in
algebra.tsto 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...