JuliaMath / JuliaMath/Combinatorics.jl

characters of S_n are incorrect

Open
#53 4 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Julia
Stars
230
Forks
62
PR merge metrics
No merged PRs in 30d

Description

The function `character(l, m)` gives wrong results, e.g. the dimensions of representations (i.e. values at `[1,1,...,1]`):
```julia
N = 4
for λ in partitions(N)
println("λ = $(rpad(λ,10))\t χ_λ($(ones(Int,N))) = ", character(λ, ones(Int,N)))
end
```
>` λ = [4] χ_λ([1,1,1,1]) = 1`
` λ = [3,1] χ_λ([1,1,1,1]) = 2`
` λ = [2,2] χ_λ([1,1,1,1]) = 2`
` λ = [2,1,1] χ_λ([1,1,1,1]) = 4`
` λ = [1,1,1,1] χ_λ([1,1,1,1]) = 1`
are incorrect; these should be
>` λ = [4] χ_λ([1,1,1,1]) = 1 # sign repr`
` λ = [3,1] χ_λ([1,1,1,1]) = 3 # regular repr`
` λ = [2,2] χ_λ([1,1,1,1]) = 2 # repr via epimorphism to S₃`
` λ = [2,1,1] χ_λ([1,1,1,1]) = 3 # sign ⊗ regular`
` λ = [1,1,1,1] χ_λ([1,1,1,1]) = 1 # trivial`

The results are incorrect for `N≥4`. For `N≤3` the characters are correct. I think this is related to an incorrect dictionary key of https://github.com/JuliaMath/Combinatorics.jl/blob/84fe2fd43a945007fdf192bb959de24c48838435/src/youngdiagrams.jl#L137

Moreover `character([2,2,2,2], [8])` will result in `BoundsError: attempt to access 6-element Array{Int64,1} at index [7]`. This is due to the fact that `MN1inner` does not check if `μ[t]` (the length of the requested rim-hooks) is smaller than `length(R)`. It should, and should return `0` otherwise (i.e. if no hooks of the requested length are found).

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.