Class functions of groups.#

This module implements a wrapper of GAP’s ClassFunction function.

AUTHORS:

  • Franco Saliola (November 2008): initial version

  • Volker Braun (October 2010): Bugfixes, exterior and symmetric power.

sage.groups.class_function.ClassFunction(group, values)[source]#

Construct a class function.

INPUT:

  • group – a group

  • values – list/tuple/iterable of numbers; the values of the class function on the conjugacy classes, in that order

EXAMPLES:

sage: G = CyclicPermutationGroup(4)
sage: G.conjugacy_classes()
[Conjugacy class of () in Cyclic group of order 4 as a permutation group,
 Conjugacy class of (1,2,3,4) in Cyclic group of order 4 as a permutation group,
 Conjugacy class of (1,3)(2,4) in Cyclic group of order 4 as a permutation group,
 Conjugacy class of (1,4,3,2) in Cyclic group of order 4 as a permutation group]
sage: values  = [1, -1, 1, -1]
sage: chi = ClassFunction(G, values); chi
Character of Cyclic group of order 4 as a permutation group
>>> from sage.all import *
>>> G = CyclicPermutationGroup(Integer(4))
>>> G.conjugacy_classes()
[Conjugacy class of () in Cyclic group of order 4 as a permutation group,
 Conjugacy class of (1,2,3,4) in Cyclic group of order 4 as a permutation group,
 Conjugacy class of (1,3)(2,4) in Cyclic group of order 4 as a permutation group,
 Conjugacy class of (1,4,3,2) in Cyclic group of order 4 as a permutation group]
>>> values  = [Integer(1), -Integer(1), Integer(1), -Integer(1)]
>>> chi = ClassFunction(G, values); chi
Character of Cyclic group of order 4 as a permutation group
class sage.groups.class_function.ClassFunction_gap(G, values)[source]#

Bases: SageObject

A wrapper of GAP’s ClassFunction function.

Note

It is not checked whether the given values describes a character, since GAP does not do this.

EXAMPLES:

sage: G = CyclicPermutationGroup(4)
sage: values  = [1, -1, 1, -1]
sage: chi = ClassFunction(G, values); chi
Character of Cyclic group of order 4 as a permutation group
sage: loads(dumps(chi)) == chi
True
>>> from sage.all import *
>>> G = CyclicPermutationGroup(Integer(4))
>>> values  = [Integer(1), -Integer(1), Integer(1), -Integer(1)]
>>> chi = ClassFunction(G, values); chi
Character of Cyclic group of order 4 as a permutation group
>>> loads(dumps(chi)) == chi
True
adams_operation(k)[source]#

Return the k-th Adams operation on self.

Let \(G\) be a finite group. The \(k\)-th Adams operation \(\Psi^k\) is given by

\[\Psi^k(\chi)(g) = \chi(g^k).\]

The Adams operations turn the representation ring of \(G\) into a \(\lambda\)-ring.

EXAMPLES:

sage: G = groups.permutation.Alternating(5)
sage: chars = G.irreducible_characters()
sage: [chi.adams_operation(2).values() for chi in chars]
[[1, 1, 1, 1, 1],
 [3, 3, 0, -zeta5^3 - zeta5^2, zeta5^3 + zeta5^2 + 1],
 [3, 3, 0, zeta5^3 + zeta5^2 + 1, -zeta5^3 - zeta5^2],
 [4, 4, 1, -1, -1],
 [5, 5, -1, 0, 0]]
sage: chars[4].adams_operation(2).decompose()
((1, Character of Alternating group of order 5!/2 as a permutation group),
 (-1, Character of Alternating group of order 5!/2 as a permutation group),
 (-1, Character of Alternating group of order 5!/2 as a permutation group),
 (2, Character of Alternating group of order 5!/2 as a permutation group))
>>> from sage.all import *
>>> G = groups.permutation.Alternating(Integer(5))
>>> chars = G.irreducible_characters()
>>> [chi.adams_operation(Integer(2)).values() for chi in chars]
[[1, 1, 1, 1, 1],
 [3, 3, 0, -zeta5^3 - zeta5^2, zeta5^3 + zeta5^2 + 1],
 [3, 3, 0, zeta5^3 + zeta5^2 + 1, -zeta5^3 - zeta5^2],
 [4, 4, 1, -1, -1],
 [5, 5, -1, 0, 0]]
>>> chars[Integer(4)].adams_operation(Integer(2)).decompose()
((1, Character of Alternating group of order 5!/2 as a permutation group),
 (-1, Character of Alternating group of order 5!/2 as a permutation group),
 (-1, Character of Alternating group of order 5!/2 as a permutation group),
 (2, Character of Alternating group of order 5!/2 as a permutation group))

REFERENCES:

central_character()[source]#

Return the central character of self.

EXAMPLES:

sage: t = SymmetricGroup(4).trivial_character()
sage: t.central_character().values()
[1, 6, 3, 8, 6]
>>> from sage.all import *
>>> t = SymmetricGroup(Integer(4)).trivial_character()
>>> t.central_character().values()
[1, 6, 3, 8, 6]
decompose()[source]#

Return a list of the characters appearing the decomposition of self.

EXAMPLES:

sage: S5 = SymmetricGroup(5)
sage: chi = ClassFunction(S5, [22, -8, 2, 1, 1, 2, -3])
sage: chi.decompose()
((3, Character of Symmetric group of order 5! as a permutation group),
 (2, Character of Symmetric group of order 5! as a permutation group))
>>> from sage.all import *
>>> S5 = SymmetricGroup(Integer(5))
>>> chi = ClassFunction(S5, [Integer(22), -Integer(8), Integer(2), Integer(1), Integer(1), Integer(2), -Integer(3)])
>>> chi.decompose()
((3, Character of Symmetric group of order 5! as a permutation group),
 (2, Character of Symmetric group of order 5! as a permutation group))
degree()[source]#

Return the degree of the character self.

EXAMPLES:

sage: S5 = SymmetricGroup(5)
sage: irr = S5.irreducible_characters()
sage: [x.degree() for x in irr]
[1, 4, 5, 6, 5, 4, 1]
>>> from sage.all import *
>>> S5 = SymmetricGroup(Integer(5))
>>> irr = S5.irreducible_characters()
>>> [x.degree() for x in irr]
[1, 4, 5, 6, 5, 4, 1]
determinant_character()[source]#

Return the determinant character of self.

EXAMPLES:

sage: t = ClassFunction(SymmetricGroup(4), [1, -1, 1, 1, -1])
sage: t.determinant_character().values()
[1, -1, 1, 1, -1]
>>> from sage.all import *
>>> t = ClassFunction(SymmetricGroup(Integer(4)), [Integer(1), -Integer(1), Integer(1), Integer(1), -Integer(1)])
>>> t.determinant_character().values()
[1, -1, 1, 1, -1]
domain()[source]#

Return the domain of the self.

OUTPUT:

The underlying group of the class function.

EXAMPLES:

sage: ClassFunction(SymmetricGroup(4), [1,-1,1,1,-1]).domain()
Symmetric group of order 4! as a permutation group
>>> from sage.all import *
>>> ClassFunction(SymmetricGroup(Integer(4)), [Integer(1),-Integer(1),Integer(1),Integer(1),-Integer(1)]).domain()
Symmetric group of order 4! as a permutation group
exterior_power(n)[source]#

Return the antisymmetrized product of self with itself n times.

INPUT:

  • n – positive integer.

OUTPUT: the n-th antisymmetrized power of self as a ClassFunction

EXAMPLES:

sage: chi = ClassFunction(SymmetricGroup(4), gap([3, 1, -1, 0, -1]))
sage: p = chi.exterior_power(3)   # the highest antisymmetric power for a 3-d character
sage: p
Character of Symmetric group of order 4! as a permutation group
sage: p.values()
[1, -1, 1, 1, -1]
sage: p == chi.determinant_character()
True
>>> from sage.all import *
>>> chi = ClassFunction(SymmetricGroup(Integer(4)), gap([Integer(3), Integer(1), -Integer(1), Integer(0), -Integer(1)]))
>>> p = chi.exterior_power(Integer(3))   # the highest antisymmetric power for a 3-d character
>>> p
Character of Symmetric group of order 4! as a permutation group
>>> p.values()
[1, -1, 1, 1, -1]
>>> p == chi.determinant_character()
True
induct(G)[source]#

Return the induced character.

INPUT:

  • G – a supergroup of the underlying group of self

OUTPUT:

A ClassFunction of G defined by induction. Induction is the adjoint functor to restriction, see restrict().

EXAMPLES:

sage: G = SymmetricGroup(5)
sage: H = G.subgroup([(1,2,3), (1,2), (4,5)])
sage: xi = H.trivial_character(); xi
Character of Subgroup generated by [(1,2,3), (1,2), (4,5)] of
 (Symmetric group of order 5! as a permutation group)
sage: xi.induct(G)
Character of Symmetric group of order 5! as a permutation group
sage: xi.induct(G).values()
[10, 4, 2, 1, 1, 0, 0]
>>> from sage.all import *
>>> G = SymmetricGroup(Integer(5))
>>> H = G.subgroup([(Integer(1),Integer(2),Integer(3)), (Integer(1),Integer(2)), (Integer(4),Integer(5))])
>>> xi = H.trivial_character(); xi
Character of Subgroup generated by [(1,2,3), (1,2), (4,5)] of
 (Symmetric group of order 5! as a permutation group)
>>> xi.induct(G)
Character of Symmetric group of order 5! as a permutation group
>>> xi.induct(G).values()
[10, 4, 2, 1, 1, 0, 0]
irreducible_constituents()[source]#

Return a list of the characters that appear in the decomposition of chi.

EXAMPLES:

sage: S5 = SymmetricGroup(5)
sage: chi = ClassFunction(S5, [22, -8, 2, 1, 1, 2, -3])
sage: irr = chi.irreducible_constituents(); irr
(Character of Symmetric group of order 5! as a permutation group,
 Character of Symmetric group of order 5! as a permutation group)
sage: list(map(list, irr))
[[4, -2, 0, 1, 1, 0, -1], [5, -1, 1, -1, -1, 1, 0]]
sage: G = GL(2,3)
sage: chi = ClassFunction(G, [-1, -1, -1, -1, -1, -1, -1, -1])
sage: chi.irreducible_constituents()
(Character of General Linear Group of degree 2 over Finite Field of size 3,)
sage: chi = ClassFunction(G, [1, 1, 1, 1, 1, 1, 1, 1])
sage: chi.irreducible_constituents()
(Character of General Linear Group of degree 2 over Finite Field of size 3,)
sage: chi = ClassFunction(G, [2, 2, 2, 2, 2, 2, 2, 2])
sage: chi.irreducible_constituents()
(Character of General Linear Group of degree 2 over Finite Field of size 3,)
sage: chi = ClassFunction(G, [-1, -1, -1, -1, 3, -1, -1, 1])
sage: ic = chi.irreducible_constituents(); ic
(Character of General Linear Group of degree 2 over Finite Field of size 3,
 Character of General Linear Group of degree 2 over Finite Field of size 3)
sage: list(map(list, ic))
[[2, -1, 2, -1, 2, 0, 0, 0], [3, 0, 3, 0, -1, 1, 1, -1]]
>>> from sage.all import *
>>> S5 = SymmetricGroup(Integer(5))
>>> chi = ClassFunction(S5, [Integer(22), -Integer(8), Integer(2), Integer(1), Integer(1), Integer(2), -Integer(3)])
>>> irr = chi.irreducible_constituents(); irr
(Character of Symmetric group of order 5! as a permutation group,
 Character of Symmetric group of order 5! as a permutation group)
>>> list(map(list, irr))
[[4, -2, 0, 1, 1, 0, -1], [5, -1, 1, -1, -1, 1, 0]]
>>> G = GL(Integer(2),Integer(3))
>>> chi = ClassFunction(G, [-Integer(1), -Integer(1), -Integer(1), -Integer(1), -Integer(1), -Integer(1), -Integer(1), -Integer(1)])
>>> chi.irreducible_constituents()
(Character of General Linear Group of degree 2 over Finite Field of size 3,)
>>> chi = ClassFunction(G, [Integer(1), Integer(1), Integer(1), Integer(1), Integer(1), Integer(1), Integer(1), Integer(1)])
>>> chi.irreducible_constituents()
(Character of General Linear Group of degree 2 over Finite Field of size 3,)
>>> chi = ClassFunction(G, [Integer(2), Integer(2), Integer(2), Integer(2), Integer(2), Integer(2), Integer(2), Integer(2)])
>>> chi.irreducible_constituents()
(Character of General Linear Group of degree 2 over Finite Field of size 3,)
>>> chi = ClassFunction(G, [-Integer(1), -Integer(1), -Integer(1), -Integer(1), Integer(3), -Integer(1), -Integer(1), Integer(1)])
>>> ic = chi.irreducible_constituents(); ic
(Character of General Linear Group of degree 2 over Finite Field of size 3,
 Character of General Linear Group of degree 2 over Finite Field of size 3)
>>> list(map(list, ic))
[[2, -1, 2, -1, 2, 0, 0, 0], [3, 0, 3, 0, -1, 1, 1, -1]]
is_irreducible()[source]#

Return True if self cannot be written as the sum of two nonzero characters of self.

EXAMPLES:

sage: S4 = SymmetricGroup(4)
sage: irr = S4.irreducible_characters()
sage: [x.is_irreducible() for x in irr]
[True, True, True, True, True]
>>> from sage.all import *
>>> S4 = SymmetricGroup(Integer(4))
>>> irr = S4.irreducible_characters()
>>> [x.is_irreducible() for x in irr]
[True, True, True, True, True]
norm()[source]#

Return the norm of self.

EXAMPLES:

sage: A5 = AlternatingGroup(5)
sage: [x.norm() for x in A5.irreducible_characters()]
[1, 1, 1, 1, 1]
>>> from sage.all import *
>>> A5 = AlternatingGroup(Integer(5))
>>> [x.norm() for x in A5.irreducible_characters()]
[1, 1, 1, 1, 1]
restrict(H)[source]#

Return the restricted character.

INPUT:

  • H – a subgroup of the underlying group of self

OUTPUT: a ClassFunction of H defined by restriction

EXAMPLES:

sage: G = SymmetricGroup(5)
sage: chi = ClassFunction(G, [3, -3, -1, 0, 0, -1, 3]); chi
Character of Symmetric group of order 5! as a permutation group
sage: H = G.subgroup([(1,2,3), (1,2), (4,5)])
sage: chi.restrict(H)
Character of Subgroup generated by [(1,2,3), (1,2), (4,5)] of
 (Symmetric group of order 5! as a permutation group)
sage: chi.restrict(H).values()
[3, -3, -3, -1, 0, 0]
>>> from sage.all import *
>>> G = SymmetricGroup(Integer(5))
>>> chi = ClassFunction(G, [Integer(3), -Integer(3), -Integer(1), Integer(0), Integer(0), -Integer(1), Integer(3)]); chi
Character of Symmetric group of order 5! as a permutation group
>>> H = G.subgroup([(Integer(1),Integer(2),Integer(3)), (Integer(1),Integer(2)), (Integer(4),Integer(5))])
>>> chi.restrict(H)
Character of Subgroup generated by [(1,2,3), (1,2), (4,5)] of
 (Symmetric group of order 5! as a permutation group)
>>> chi.restrict(H).values()
[3, -3, -3, -1, 0, 0]
scalar_product(other)[source]#

Return the scalar product of self with other.

EXAMPLES:

sage: S4 = SymmetricGroup(4)
sage: irr = S4.irreducible_characters()
sage: [[x.scalar_product(y) for x in irr] for y in irr]
[[1, 0, 0, 0, 0],
 [0, 1, 0, 0, 0],
 [0, 0, 1, 0, 0],
 [0, 0, 0, 1, 0],
 [0, 0, 0, 0, 1]]
>>> from sage.all import *
>>> S4 = SymmetricGroup(Integer(4))
>>> irr = S4.irreducible_characters()
>>> [[x.scalar_product(y) for x in irr] for y in irr]
[[1, 0, 0, 0, 0],
 [0, 1, 0, 0, 0],
 [0, 0, 1, 0, 0],
 [0, 0, 0, 1, 0],
 [0, 0, 0, 0, 1]]
symmetric_power(n)[source]#

Return the symmetrized product of self with itself n times.

INPUT:

  • n – positive integer

OUTPUT: the n-th symmetrized power of self as a ClassFunction

EXAMPLES:

sage: chi = ClassFunction(SymmetricGroup(4), gap([3, 1, -1, 0, -1]))
sage: p = chi.symmetric_power(3)
sage: p
Character of Symmetric group of order 4! as a permutation group
sage: p.values()
[10, 2, -2, 1, 0]
>>> from sage.all import *
>>> chi = ClassFunction(SymmetricGroup(Integer(4)), gap([Integer(3), Integer(1), -Integer(1), Integer(0), -Integer(1)]))
>>> p = chi.symmetric_power(Integer(3))
>>> p
Character of Symmetric group of order 4! as a permutation group
>>> p.values()
[10, 2, -2, 1, 0]
tensor_product(other)[source]#

EXAMPLES:

sage: S3 = SymmetricGroup(3)
sage: chi1, chi2, chi3 = S3.irreducible_characters()
sage: chi1.tensor_product(chi3).values()
[1, -1, 1]
>>> from sage.all import *
>>> S3 = SymmetricGroup(Integer(3))
>>> chi1, chi2, chi3 = S3.irreducible_characters()
>>> chi1.tensor_product(chi3).values()
[1, -1, 1]
values()[source]#

Return the list of values of self on the conjugacy classes.

EXAMPLES:

sage: G = GL(2,3)
sage: [x.values() for x in G.irreducible_characters()] #random
[[1, 1, 1, 1, 1, 1, 1, 1],
 [1, 1, 1, 1, 1, -1, -1, -1],
 [2, -1, 2, -1, 2, 0, 0, 0],
 [2, 1, -2, -1, 0, -zeta8^3 - zeta8, zeta8^3 + zeta8, 0],
 [2, 1, -2, -1, 0, zeta8^3 + zeta8, -zeta8^3 - zeta8, 0],
 [3, 0, 3, 0, -1, -1, -1, 1],
 [3, 0, 3, 0, -1, 1, 1, -1],
 [4, -1, -4, 1, 0, 0, 0, 0]]
>>> from sage.all import *
>>> G = GL(Integer(2),Integer(3))
>>> [x.values() for x in G.irreducible_characters()] #random
[[1, 1, 1, 1, 1, 1, 1, 1],
 [1, 1, 1, 1, 1, -1, -1, -1],
 [2, -1, 2, -1, 2, 0, 0, 0],
 [2, 1, -2, -1, 0, -zeta8^3 - zeta8, zeta8^3 + zeta8, 0],
 [2, 1, -2, -1, 0, zeta8^3 + zeta8, -zeta8^3 - zeta8, 0],
 [3, 0, 3, 0, -1, -1, -1, 1],
 [3, 0, 3, 0, -1, 1, 1, -1],
 [4, -1, -4, 1, 0, 0, 0, 0]]
class sage.groups.class_function.ClassFunction_libgap(G, values)[source]#

Bases: SageObject

A wrapper of GAP’s ClassFunction function.

Note

It is not checked whether the given values describes a character, since GAP does not do this.

EXAMPLES:

sage: G = SO(3,3)
sage: values  = [1, -1, -1, 1, 2]
sage: chi = ClassFunction(G, values); chi
Character of Special Orthogonal Group of degree 3 over Finite Field of size 3
sage: loads(dumps(chi)) == chi
True
>>> from sage.all import *
>>> G = SO(Integer(3),Integer(3))
>>> values  = [Integer(1), -Integer(1), -Integer(1), Integer(1), Integer(2)]
>>> chi = ClassFunction(G, values); chi
Character of Special Orthogonal Group of degree 3 over Finite Field of size 3
>>> loads(dumps(chi)) == chi
True
adams_operation(k)[source]#

Return the k-th Adams operation on self.

Let \(G\) be a finite group. The \(k\)-th Adams operation \(\Psi^k\) is given by

\[\Psi^k(\chi)(g) = \chi(g^k).\]

The Adams operations turn the representation ring of \(G\) into a \(\lambda\)-ring.

EXAMPLES:

sage: G = GL(2,3)
sage: chars = G.irreducible_characters()
sage: [chi.adams_operation(2).values() for chi in chars]
[[1, 1, 1, 1, 1, 1, 1, 1],
 [1, 1, 1, 1, 1, 1, 1, 1],
 [2, -1, 2, -1, 2, 2, 2, 2],
 [2, -1, 2, -1, -2, 0, 0, 2],
 [2, -1, 2, -1, -2, 0, 0, 2],
 [3, 0, 3, 0, 3, -1, -1, 3],
 [3, 0, 3, 0, 3, -1, -1, 3],
 [4, 1, 4, 1, -4, 0, 0, 4]]
sage: chars[5].adams_operation(3).decompose()
((1, Character of General Linear Group of degree 2 over Finite Field of size 3),
 (1, Character of General Linear Group of degree 2 over Finite Field of size 3),
 (-1, Character of General Linear Group of degree 2 over Finite Field of size 3),
 (1, Character of General Linear Group of degree 2 over Finite Field of size 3))
>>> from sage.all import *
>>> G = GL(Integer(2),Integer(3))
>>> chars = G.irreducible_characters()
>>> [chi.adams_operation(Integer(2)).values() for chi in chars]
[[1, 1, 1, 1, 1, 1, 1, 1],
 [1, 1, 1, 1, 1, 1, 1, 1],
 [2, -1, 2, -1, 2, 2, 2, 2],
 [2, -1, 2, -1, -2, 0, 0, 2],
 [2, -1, 2, -1, -2, 0, 0, 2],
 [3, 0, 3, 0, 3, -1, -1, 3],
 [3, 0, 3, 0, 3, -1, -1, 3],
 [4, 1, 4, 1, -4, 0, 0, 4]]
>>> chars[Integer(5)].adams_operation(Integer(3)).decompose()
((1, Character of General Linear Group of degree 2 over Finite Field of size 3),
 (1, Character of General Linear Group of degree 2 over Finite Field of size 3),
 (-1, Character of General Linear Group of degree 2 over Finite Field of size 3),
 (1, Character of General Linear Group of degree 2 over Finite Field of size 3))

REFERENCES:

central_character()[source]#

Return the central character of self.

EXAMPLES:

sage: t = SymmetricGroup(4).trivial_character()
sage: t.central_character().values()
[1, 6, 3, 8, 6]
>>> from sage.all import *
>>> t = SymmetricGroup(Integer(4)).trivial_character()
>>> t.central_character().values()
[1, 6, 3, 8, 6]
decompose()[source]#

Return a list of the characters appearing the decomposition of self.

EXAMPLES:

sage: S5 = SymmetricGroup(5)
sage: chi = ClassFunction(S5, [22, -8, 2, 1, 1, 2, -3])
sage: chi.decompose()
((3, Character of Symmetric group of order 5! as a permutation group),
 (2, Character of Symmetric group of order 5! as a permutation group))
>>> from sage.all import *
>>> S5 = SymmetricGroup(Integer(5))
>>> chi = ClassFunction(S5, [Integer(22), -Integer(8), Integer(2), Integer(1), Integer(1), Integer(2), -Integer(3)])
>>> chi.decompose()
((3, Character of Symmetric group of order 5! as a permutation group),
 (2, Character of Symmetric group of order 5! as a permutation group))
degree()[source]#

Return the degree of the character self.

EXAMPLES:

sage: S5 = SymmetricGroup(5)
sage: irr = S5.irreducible_characters()
sage: [x.degree() for x in irr]
[1, 4, 5, 6, 5, 4, 1]
>>> from sage.all import *
>>> S5 = SymmetricGroup(Integer(5))
>>> irr = S5.irreducible_characters()
>>> [x.degree() for x in irr]
[1, 4, 5, 6, 5, 4, 1]
determinant_character()[source]#

Return the determinant character of self.

EXAMPLES:

sage: t = ClassFunction(SymmetricGroup(4), [1, -1, 1, 1, -1])
sage: t.determinant_character().values()
[1, -1, 1, 1, -1]
>>> from sage.all import *
>>> t = ClassFunction(SymmetricGroup(Integer(4)), [Integer(1), -Integer(1), Integer(1), Integer(1), -Integer(1)])
>>> t.determinant_character().values()
[1, -1, 1, 1, -1]
domain()[source]#

Return the domain of self.

OUTPUT: the underlying group of the class function

EXAMPLES:

sage: ClassFunction(SymmetricGroup(4), [1,-1,1,1,-1]).domain()
Symmetric group of order 4! as a permutation group
>>> from sage.all import *
>>> ClassFunction(SymmetricGroup(Integer(4)), [Integer(1),-Integer(1),Integer(1),Integer(1),-Integer(1)]).domain()
Symmetric group of order 4! as a permutation group
exterior_power(n)[source]#

Return the antisymmetrized product of self with itself n times.

INPUT:

  • n – positive integer

OUTPUT: the n-th antisymmetrized power of self as a ClassFunction

EXAMPLES:

sage: chi = ClassFunction(SymmetricGroup(4), [3, 1, -1, 0, -1])
sage: p = chi.exterior_power(3)   # the highest antisymmetric power for a 3-d character
sage: p
Character of Symmetric group of order 4! as a permutation group
sage: p.values()
[1, -1, 1, 1, -1]
sage: p == chi.determinant_character()
True
>>> from sage.all import *
>>> chi = ClassFunction(SymmetricGroup(Integer(4)), [Integer(3), Integer(1), -Integer(1), Integer(0), -Integer(1)])
>>> p = chi.exterior_power(Integer(3))   # the highest antisymmetric power for a 3-d character
>>> p
Character of Symmetric group of order 4! as a permutation group
>>> p.values()
[1, -1, 1, 1, -1]
>>> p == chi.determinant_character()
True
gap()[source]#

Return the underlying LibGAP element.

EXAMPLES:

sage: G = CyclicPermutationGroup(4)
sage: values  = [1, -1, 1, -1]
sage: chi = ClassFunction(G, values);  chi
Character of Cyclic group of order 4 as a permutation group
sage: type(chi)
<class 'sage.groups.class_function.ClassFunction_libgap'>
sage: libgap(chi)
ClassFunction( CharacterTable( Group([ (1,2,3,4) ]) ), [ 1, -1, 1, -1 ] )
sage: type(_)
<class 'sage.libs.gap.element.GapElement_List'>
>>> from sage.all import *
>>> G = CyclicPermutationGroup(Integer(4))
>>> values  = [Integer(1), -Integer(1), Integer(1), -Integer(1)]
>>> chi = ClassFunction(G, values);  chi
Character of Cyclic group of order 4 as a permutation group
>>> type(chi)
<class 'sage.groups.class_function.ClassFunction_libgap'>
>>> libgap(chi)
ClassFunction( CharacterTable( Group([ (1,2,3,4) ]) ), [ 1, -1, 1, -1 ] )
>>> type(_)
<class 'sage.libs.gap.element.GapElement_List'>
induct(G)[source]#

Return the induced character.

INPUT:

  • G – a supergroup of the underlying group of self

OUTPUT:

A ClassFunction of G defined by induction. Induction is the adjoint functor to restriction, see restrict().

EXAMPLES:

sage: G = SymmetricGroup(5)
sage: H = G.subgroup([(1,2,3), (1,2), (4,5)])
sage: xi = H.trivial_character(); xi
Character of Subgroup generated by [(1,2,3), (1,2), (4,5)] of
 (Symmetric group of order 5! as a permutation group)
sage: xi.induct(G)
Character of Symmetric group of order 5! as a permutation group
sage: xi.induct(G).values()
[10, 4, 2, 1, 1, 0, 0]
>>> from sage.all import *
>>> G = SymmetricGroup(Integer(5))
>>> H = G.subgroup([(Integer(1),Integer(2),Integer(3)), (Integer(1),Integer(2)), (Integer(4),Integer(5))])
>>> xi = H.trivial_character(); xi
Character of Subgroup generated by [(1,2,3), (1,2), (4,5)] of
 (Symmetric group of order 5! as a permutation group)
>>> xi.induct(G)
Character of Symmetric group of order 5! as a permutation group
>>> xi.induct(G).values()
[10, 4, 2, 1, 1, 0, 0]
irreducible_constituents()[source]#

Return a list of the characters that appear in the decomposition of self.

EXAMPLES:

sage: S5 = SymmetricGroup(5)
sage: chi = ClassFunction(S5, [22, -8, 2, 1, 1, 2, -3])
sage: irr = chi.irreducible_constituents(); irr
(Character of Symmetric group of order 5! as a permutation group,
 Character of Symmetric group of order 5! as a permutation group)
sage: list(map(list, irr))
[[4, -2, 0, 1, 1, 0, -1], [5, -1, 1, -1, -1, 1, 0]]

sage: G = GL(2,3)
sage: chi = ClassFunction(G, [-1, -1, -1, -1, -1, -1, -1, -1])
sage: chi.irreducible_constituents()
(Character of General Linear Group of degree 2 over Finite Field of size 3,)
sage: chi = ClassFunction(G, [1, 1, 1, 1, 1, 1, 1, 1])
sage: chi.irreducible_constituents()
(Character of General Linear Group of degree 2 over Finite Field of size 3,)
sage: chi = ClassFunction(G, [2, 2, 2, 2, 2, 2, 2, 2])
sage: chi.irreducible_constituents()
(Character of General Linear Group of degree 2 over Finite Field of size 3,)
sage: chi = ClassFunction(G, [-1, -1, -1, -1, 3, -1, -1, 1])
sage: ic = chi.irreducible_constituents(); ic
(Character of General Linear Group of degree 2 over Finite Field of size 3,
 Character of General Linear Group of degree 2 over Finite Field of size 3)
sage: list(map(list, ic))
[[2, -1, 2, -1, 2, 0, 0, 0], [3, 0, 3, 0, -1, 1, 1, -1]]
>>> from sage.all import *
>>> S5 = SymmetricGroup(Integer(5))
>>> chi = ClassFunction(S5, [Integer(22), -Integer(8), Integer(2), Integer(1), Integer(1), Integer(2), -Integer(3)])
>>> irr = chi.irreducible_constituents(); irr
(Character of Symmetric group of order 5! as a permutation group,
 Character of Symmetric group of order 5! as a permutation group)
>>> list(map(list, irr))
[[4, -2, 0, 1, 1, 0, -1], [5, -1, 1, -1, -1, 1, 0]]

>>> G = GL(Integer(2),Integer(3))
>>> chi = ClassFunction(G, [-Integer(1), -Integer(1), -Integer(1), -Integer(1), -Integer(1), -Integer(1), -Integer(1), -Integer(1)])
>>> chi.irreducible_constituents()
(Character of General Linear Group of degree 2 over Finite Field of size 3,)
>>> chi = ClassFunction(G, [Integer(1), Integer(1), Integer(1), Integer(1), Integer(1), Integer(1), Integer(1), Integer(1)])
>>> chi.irreducible_constituents()
(Character of General Linear Group of degree 2 over Finite Field of size 3,)
>>> chi = ClassFunction(G, [Integer(2), Integer(2), Integer(2), Integer(2), Integer(2), Integer(2), Integer(2), Integer(2)])
>>> chi.irreducible_constituents()
(Character of General Linear Group of degree 2 over Finite Field of size 3,)
>>> chi = ClassFunction(G, [-Integer(1), -Integer(1), -Integer(1), -Integer(1), Integer(3), -Integer(1), -Integer(1), Integer(1)])
>>> ic = chi.irreducible_constituents(); ic
(Character of General Linear Group of degree 2 over Finite Field of size 3,
 Character of General Linear Group of degree 2 over Finite Field of size 3)
>>> list(map(list, ic))
[[2, -1, 2, -1, 2, 0, 0, 0], [3, 0, 3, 0, -1, 1, 1, -1]]
is_irreducible()[source]#

Return True if self cannot be written as the sum of two nonzero characters of self.

EXAMPLES:

sage: S4 = SymmetricGroup(4)
sage: irr = S4.irreducible_characters()
sage: [x.is_irreducible() for x in irr]
[True, True, True, True, True]
>>> from sage.all import *
>>> S4 = SymmetricGroup(Integer(4))
>>> irr = S4.irreducible_characters()
>>> [x.is_irreducible() for x in irr]
[True, True, True, True, True]
norm()[source]#

Return the norm of self.

EXAMPLES:

sage: A5 = AlternatingGroup(5)
sage: [x.norm() for x in A5.irreducible_characters()]
[1, 1, 1, 1, 1]
>>> from sage.all import *
>>> A5 = AlternatingGroup(Integer(5))
>>> [x.norm() for x in A5.irreducible_characters()]
[1, 1, 1, 1, 1]
restrict(H)[source]#

Return the restricted character.

INPUT:

  • H – a subgroup of the underlying group of self

OUTPUT: a ClassFunction of H defined by restriction

EXAMPLES:

sage: G = SymmetricGroup(5)
sage: chi = ClassFunction(G, [3, -3, -1, 0, 0, -1, 3]); chi
Character of Symmetric group of order 5! as a permutation group
sage: H = G.subgroup([(1,2,3), (1,2), (4,5)])
sage: chi.restrict(H)
Character of Subgroup generated by [(1,2,3), (1,2), (4,5)] of
 (Symmetric group of order 5! as a permutation group)
sage: chi.restrict(H).values()
[3, -3, -3, -1, 0, 0]
>>> from sage.all import *
>>> G = SymmetricGroup(Integer(5))
>>> chi = ClassFunction(G, [Integer(3), -Integer(3), -Integer(1), Integer(0), Integer(0), -Integer(1), Integer(3)]); chi
Character of Symmetric group of order 5! as a permutation group
>>> H = G.subgroup([(Integer(1),Integer(2),Integer(3)), (Integer(1),Integer(2)), (Integer(4),Integer(5))])
>>> chi.restrict(H)
Character of Subgroup generated by [(1,2,3), (1,2), (4,5)] of
 (Symmetric group of order 5! as a permutation group)
>>> chi.restrict(H).values()
[3, -3, -3, -1, 0, 0]
scalar_product(other)[source]#

Return the scalar product of self with other.

EXAMPLES:

sage: S4 = SymmetricGroup(4)
sage: irr = S4.irreducible_characters()
sage: [[x.scalar_product(y) for x in irr] for y in irr]
[[1, 0, 0, 0, 0],
 [0, 1, 0, 0, 0],
 [0, 0, 1, 0, 0],
 [0, 0, 0, 1, 0],
 [0, 0, 0, 0, 1]]
>>> from sage.all import *
>>> S4 = SymmetricGroup(Integer(4))
>>> irr = S4.irreducible_characters()
>>> [[x.scalar_product(y) for x in irr] for y in irr]
[[1, 0, 0, 0, 0],
 [0, 1, 0, 0, 0],
 [0, 0, 1, 0, 0],
 [0, 0, 0, 1, 0],
 [0, 0, 0, 0, 1]]
symmetric_power(n)[source]#

Return the symmetrized product of self with itself n times.

INPUT:

  • n – positive integer

OUTPUT: the n-th symmetrized power of self as a ClassFunction

EXAMPLES:

sage: chi = ClassFunction(SymmetricGroup(4), [3, 1, -1, 0, -1])
sage: p = chi.symmetric_power(3)
sage: p
Character of Symmetric group of order 4! as a permutation group
sage: p.values()
[10, 2, -2, 1, 0]
>>> from sage.all import *
>>> chi = ClassFunction(SymmetricGroup(Integer(4)), [Integer(3), Integer(1), -Integer(1), Integer(0), -Integer(1)])
>>> p = chi.symmetric_power(Integer(3))
>>> p
Character of Symmetric group of order 4! as a permutation group
>>> p.values()
[10, 2, -2, 1, 0]
tensor_product(other)[source]#

Return the tensor product of self and other.

EXAMPLES:

sage: S3 = SymmetricGroup(3)
sage: chi1, chi2, chi3 = S3.irreducible_characters()
sage: chi1.tensor_product(chi3).values()
[1, -1, 1]
>>> from sage.all import *
>>> S3 = SymmetricGroup(Integer(3))
>>> chi1, chi2, chi3 = S3.irreducible_characters()
>>> chi1.tensor_product(chi3).values()
[1, -1, 1]
values()[source]#

Return the list of values of self on the conjugacy classes.

EXAMPLES:

sage: G = GL(2,3)
sage: [x.values() for x in G.irreducible_characters()]  # random
[[1, 1, 1, 1, 1, 1, 1, 1],
 [1, 1, 1, 1, 1, -1, -1, -1],
 [2, -1, 2, -1, 2, 0, 0, 0],
 [2, 1, -2, -1, 0, -zeta8^3 - zeta8, zeta8^3 + zeta8, 0],
 [2, 1, -2, -1, 0, zeta8^3 + zeta8, -zeta8^3 - zeta8, 0],
 [3, 0, 3, 0, -1, -1, -1, 1],
 [3, 0, 3, 0, -1, 1, 1, -1],
 [4, -1, -4, 1, 0, 0, 0, 0]]
>>> from sage.all import *
>>> G = GL(Integer(2),Integer(3))
>>> [x.values() for x in G.irreducible_characters()]  # random
[[1, 1, 1, 1, 1, 1, 1, 1],
 [1, 1, 1, 1, 1, -1, -1, -1],
 [2, -1, 2, -1, 2, 0, 0, 0],
 [2, 1, -2, -1, 0, -zeta8^3 - zeta8, zeta8^3 + zeta8, 0],
 [2, 1, -2, -1, 0, zeta8^3 + zeta8, -zeta8^3 - zeta8, 0],
 [3, 0, 3, 0, -1, -1, -1, 1],
 [3, 0, 3, 0, -1, 1, 1, -1],
 [4, -1, -4, 1, 0, 0, 0, 0]]