Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

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

Use

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.

TODO

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...

About

An implementation of the symmetric functions.

Resources

Releases

No releases published

Packages

No packages published