JuliaMath / JuliaMath/Combinatorics.jl
characters of S_n are incorrect
- 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.