Skip to content

Commit

Permalink
let trivial_character set the irreducibility flag
Browse files Browse the repository at this point in the history
some examples in invariant theory should get faster

(set the flag also in `linear_characters`)
  • Loading branch information
ThomasBreuer committed Feb 6, 2025
1 parent ca6338c commit 9e00207
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
2 changes: 2 additions & 0 deletions src/GAP/wrappers.jl
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,7 @@ GAP.@wrap RootSystem(x::GapObj)::GapObj
GAP.@wrap ScalarProduct(x::GapObj, y::GapObj, z::GapObj)::GAP.Obj
GAP.@wrap SchurIndexByCharacter(x::GapObj, y::GapObj, z::GapObj)::GAP.Obj
GAP.@wrap Set(x::GapObj)::GapObj
GAP.@wrap SetIsIrreducibleCharacter(x::Any, y::Bool)::Nothing
GAP.@wrap SetMaximalAbelianQuotient(x::Any, y::Any)::Nothing
GAP.@wrap SetSize(x::Any, y::Any)::Nothing
GAP.@wrap ShrinkRowVector(x::GapObj)::Nothing
Expand All @@ -374,6 +375,7 @@ GAP.@wrap Symmetrizations(x::GapObj, y::GapObj, z::GapInt)::GapObj
GAP.@wrap SymplecticComponents(x::GapObj, y::GapObj, z::GapInt)::GapObj
GAP.@wrap TableOfMarks(x::GapObj)::GapObj
GAP.@wrap Trace(x::GapObj, y::GAP.Obj)::GAP.Obj
GAP.@wrap TrivialCharacter(x::GapObj)::GapObj
GAP.@wrap UnderlyingElement(x::GapObj)::GapObj
GAP.@wrap UnderlyingGroup(x::GapObj)::GapObj
GAP.@wrap UnderlyingRingElement(x::GapObj)::GapObj
Expand Down
17 changes: 11 additions & 6 deletions src/Groups/group_characters.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1978,8 +1978,9 @@ true
```
"""
function trivial_character(tbl::GAPGroupCharacterTable)
val = QQAbFieldElem(1)
return class_function(tbl, [val for i in 1:ncols(tbl)])
triv = GAPWrap.TrivialCharacter(GapObj(tbl))
GAPWrap.SetIsIrreducibleCharacter(triv, true)
return class_function(tbl, triv)
end

@doc raw"""
Expand All @@ -1997,8 +1998,9 @@ true
```
"""
function trivial_character(G::GAPGroup)
val = QQAbFieldElem(1)
return class_function(G, [val for i in 1:Int(number_of_conjugacy_classes(G))])
triv = GAPWrap.TrivialCharacter(GapObj(G))
GAPWrap.SetIsIrreducibleCharacter(triv, true)
return class_function(G, triv)
end

@doc raw"""
Expand Down Expand Up @@ -2201,10 +2203,13 @@ julia> length(linear_characters(tbl))
```
"""
function linear_characters(tbl::GAPGroupCharacterTable)
return [class_function(tbl, chi) for chi in GAPWrap.LinearCharacters(GapObj(tbl))]
lin = GAPWrap.LinearCharacters(GapObj(tbl))
for chi in lin
GAPWrap.SetIsIrreducibleCharacter(chi, true)
end
return [class_function(tbl, chi) for chi in lin]
end


@doc raw"""
induce(chi::GAPGroupClassFunction, G::Union{GAPGroup, FinGenAbGroup})
induce(chi::GAPGroupClassFunction, tbl::GAPGroupCharacterTable[, fusion::Vector{Int}])
Expand Down

0 comments on commit 9e00207

Please sign in to comment.