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 groupvalues
– 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 onself
.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 itselfn
times.INPUT:
n
– positive integer.
OUTPUT: the
n
-th antisymmetrized power ofself
as aClassFunction
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 ofself
OUTPUT:
A
ClassFunction
ofG
defined by induction. Induction is the adjoint functor to restriction, seerestrict()
.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
ifself
cannot be written as the sum of two nonzero characters ofself
.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 ofself
OUTPUT: a
ClassFunction
ofH
defined by restrictionEXAMPLES:
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 itselfn
times.INPUT:
n
– positive integer
OUTPUT: the
n
-th symmetrized power ofself
as aClassFunction
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 onself
.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 itselfn
times.INPUT:
n
– positive integer
OUTPUT: the
n
-th antisymmetrized power ofself
as aClassFunction
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 ofself
OUTPUT:
A
ClassFunction
ofG
defined by induction. Induction is the adjoint functor to restriction, seerestrict()
.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
ifself
cannot be written as the sum of two nonzero characters ofself
.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 ofself
OUTPUT: a
ClassFunction
ofH
defined by restrictionEXAMPLES:
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
withother
.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 itselfn
times.INPUT:
n
– positive integer
OUTPUT: the
n
-th symmetrized power ofself
as aClassFunction
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
andother
.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]]