# 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
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
True


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]]
((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]]
((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
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
True


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]]
((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]]
((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]]