JuLie

JuLie is an early-stage package for the programming language Julia with the goal of providing mathematically sound structures and fast algorithms for things around representation theory, especially algebraic Lie theory and accompanying combinatorics. These fields are huge and this package is still small—hopefully it will grow with time. Contributions are necessary and very much welcome!

By Ulrich Thiel (University of Kaiserslautern) and contributors.

Installation

You first need to install Julia (this works on any operating system). Then after starting Julia, type the following to install this package:

julia> using Pkg
julia> Pkg.add(url="https://github.com/ulthiel/JuLie.jl")

Now, you can start using JuLie by typing:

julia> using JuLie

Here's an example:

julia> partitions(3)
3-element Vector{Partition{Int64}}:
 [3]
 [2, 1]
 [1, 1, 1]
julia> @time partitions(Int8(90)); #One goal of JuLie is being fast :-)
  5.723798 seconds (56.63 M allocations: 4.529 GiB, 25.55% gc time)

Acknowledgments

This work is a contribution to the SFB-TRR 195 'Symbolic Tools in Mathematics and their Application' of the German Research Foundation (DFG). I thank everyone who contributed (see below). The logo shows the root system of type G₂ and is taken from Wikipedia.

Contributors

  • Max Horn (TU Kaiserslautern, 2020): Julia generalities
  • Tom Schmit (TU Kaiserslautern, 2020–2021): Cartan matrices, Coxeter groups (Casselman I algorithm), Documenter.jl and GitHub integration, Kostka polynomials, Schur polynomials, Tableaux
  • Elisa Thiel (2020): De-gotoing old ALGOL code