diff --git a/docs/src/Groups/group_characters.md b/docs/src/Groups/group_characters.md index b9f59f84be44..1fd15c209833 100644 --- a/docs/src/Groups/group_characters.md +++ b/docs/src/Groups/group_characters.md @@ -209,7 +209,8 @@ arithmetic operations: where the group of `chi` is a subgroup of the group of `tbl`. ```@docs -scalar_product +scalar_product(chi::GAPGroupClassFunction, psi::GAPGroupClassFunction) +tensor_product(chi::GAPGroupClassFunction, psi::GAPGroupClassFunction) coordinates(chi::GAPGroupClassFunction) multiplicities_eigenvalues induce(chi::GAPGroupClassFunction, tbl::GAPGroupCharacterTable) diff --git a/src/Groups/group_characters.jl b/src/Groups/group_characters.jl index 42280273a14a..2c08fb765e62 100644 --- a/src/Groups/group_characters.jl +++ b/src/Groups/group_characters.jl @@ -2405,6 +2405,17 @@ function Base.:*(chi::GAPGroupClassFunction, psi::GAPGroupClassFunction) return GAPGroupClassFunction(parent(chi), GapObj(chi) * GapObj(psi)) end +""" + tensor_product(chi::GAPGroupClassFunction, psi::GAPGroupClassFunction) + +Return the pointwise product of `chi` and `psi`. +The resulting character is afforded by the tensor product of representations +corresponding to `chi` and `psi`, hence the name. + +Alias for `chi * psi`. +""" +tensor_product(chi::GAPGroupClassFunction, psi::GAPGroupClassFunction) = chi * psi + function Base.zero(chi::GAPGroupClassFunction) val = QQAbFieldElem(0) return class_function(parent(chi), [val for i in 1:length(chi)]) diff --git a/test/Groups/group_characters.jl b/test/Groups/group_characters.jl index 3c2698066302..dfa29cf5e2b5 100644 --- a/test/Groups/group_characters.jl +++ b/test/Groups/group_characters.jl @@ -858,6 +858,8 @@ end @test sort!([order(center(chi)[1]) for chi in t]) == [1, 1, 4, 24, 24] @test all(i -> findfirst(==(t[i]), t) == i, 1:nrows(t)) + @test all(chi -> chi * chi == tensor_product(chi, chi), t) + scp = scalar_product(t[1], t[1]) @test scp == 1 @test scp isa QQFieldElem @@ -1232,6 +1234,8 @@ end @test all(chi -> order(center(chi)[1]) == n, tbl1) @test all(chi -> is_subgroup(kernel(chi)[1], G1)[1], tbl1) + @test all(chi -> chi * chi == tensor_product(chi, chi), tbl1) + scp = scalar_product(tbl1[1], tbl1[1]) @test scp == 1 @test scp isa QQFieldElem