#9293: Better expose GAP's character tables from Sage
----------------------------+-----------------------------------------------
Reporter: nthiery | Owner: joyner
Type: enhancement | Status: new
Priority: major | Milestone: sage-wishlist
Component: group_theory | Keywords:
Author: | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
----------------------------+-----------------------------------------------
GAP's character tables could be better exposed from Sage. One
approach is to just improve the GAP interface: conversion of objects
back to Sage (see #7890), introspection, ... Another approach is to
implement an abstract class in Sage for character tables, with a
concrete subclass whose elements wraps GAP's character tables. The
later offers a more integrated user experience, at the price of
needing to explicitly wrap all GAP's functions.
Here is a rough draft of an abstract class, written during Sage Days 20:
{{{
class AbstractCharacterTable
def row_indices()
"""
That's irredinfo in Chevie (a Family of irreducible reps)
"""
def column_indices()
classparam / classname in Chevie (a Family of conjugacy classes)
def __getitem__(self, r,c)
def powermap(self, c, n)
"""
Specific to group
INPUT:
- ``c`` - the index of a conjugacy class C
Returns the index of the conjugacy class of x^n for x in C
"""
def irreducibles(self):
"""
returns the character table as a matrix
"""
def orders(self):
"""
orders of the conjugacy classes
"""
def centralizer(self):
"""
cardinality of the centralizer of the conjugacy classes
"""
}}}
For the record, here is the data structure of a character table of a
Coxeter group in GAP3:
{{{
T := CharTable(CoxeterGroup("E",8));
RecFields(T.operations);
[ "name", "operations", "ScalarProduct", "NoMessageScalarProduct",
"Print",
"Eigenvalues", "IsAbelian", "IsCyclic", "IsSimple", "IsSolvable",
"SupersolvableResiduum", "IsSupersolvable", "UpperCentralSeriesFactor",
"UpperCentralSeries", "LowerCentralSeries", "IsNilpotentFactor",
"IsNilpotent", "IsNilpotentNormalSubgroup", "AbelianInvariants",
"Agemo",
"Automorphisms", "Centre", "CharacterDegrees", "DerivedSubgroup",
"ElementaryAbelianSeries", "Exponent", "FittingSubgroup",
"InertiaSubgroup",
"MaximalNormalSubgroups", "NormalClosure", "NormalSubgroups", "Size",
"FusionConjugacyClasses", "SizesConjugacyClasses", "*", "/", "mod",
"Restricted", "Induced", "Lattice", "Display", "CharNames",
"StringEntry" ]
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9293>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.