#14103: Implement tables indexed by arbitrary sage objects
----------------------------------+-----------------------------------------
Reporter: andrew.mathas | Owner: was
Type: enhancement | Status: new
Priority: major | Milestone: sage-5.8
Component: user interface | Resolution:
Keywords: | Work issues:
Report Upstream: N/A | Reviewers:
Authors: Andrew Mathas | Merged in:
Dependencies: 14104, 13605 | Stopgaps:
----------------------------------+-----------------------------------------
Description changed by andrew.mathas:
Old description:
> Implement a wrapper for tables/matrices which are indexed by arbitrary
> sage objects. For example, this would allow for things like
> {{{
> EXAMPLES::
>
> sage: ct=CharacterTable( SymmetricGroup(5) ).display()
> Character table of Symmetric group of order 5! as a permutation group
> -------------------------
> | 1a 2a 2b 3a 6a 4a 5a
> ---|---------------------
> X0 | 1 -1 1 1 -1 -1 1
> X1 | 4 -2 0 1 1 0 -1
> X2 | 5 -1 1 -1 -1 1 0
> X3 | 6 0 -2 0 0 0 1
> X4 | 5 1 1 -1 1 -1 0
> X5 | 4 2 0 1 -1 0 -1
> X6 | 1 1 1 1 1 1 1
> sage: ct['X3']
> [6, 0, -2, 0, 0, 0, 1]
> sage: ct[3]
> [6, 0, -2, 0, 0, 0, 1]
> sage: ct[:,'3a']
> [1, 1, -1, 0, -1, 1, 1]
> sage: ct['X3','3a']
> 0
> sage.html_display() # display in web browser using #14104
> }}}
>
> There should also be an HTML interface as per #14104.
>
> This is related to #13131, which provides better formatting for tables in
> sage, however the main thrust here is different as we want to index
> matrices/tables by other sage objects.
>
> **Preliminary** patch is attached. It has quite a lot of documentation,
> however, I would like to add sections on how the labelled, reordering,
> options, ... all work. Some of the examples depend upon #13605 which
> gives extended options for printing partitions. The are a few minor
> issues to be fixed including refactoring the _repr_/latex/html methods.
>
> Comments welcome.
New description:
Implement a wrapper for tables/matrices which are indexed by arbitrary
sage objects. For example, this would allow for things like
{{{
EXAMPLES::
sage: ct=CharacterTable( SymmetricGroup(5) ).display()
Character table of Symmetric group of order 5! as a permutation group
-------------------------
| 1a 2a 2b 3a 6a 4a 5a
---|---------------------
X0 | 1 -1 1 1 -1 -1 1
X1 | 4 -2 0 1 1 0 -1
X2 | 5 -1 1 -1 -1 1 0
X3 | 6 0 -2 0 0 0 1
X4 | 5 1 1 -1 1 -1 0
X5 | 4 2 0 1 -1 0 -1
X6 | 1 1 1 1 1 1 1
sage: ct['X3']
[6, 0, -2, 0, 0, 0, 1]
sage: ct[3]
[6, 0, -2, 0, 0, 0, 1]
sage: ct[:,'3a']
[1, 1, -1, 0, -1, 1, 1]
sage: ct['X3','3a']
0
sage: ct.html_display() # display in web browser using #14104
}}}
There should also be an HTML interface as per #14104.
This is related to #13131, which provides better formatting for tables in
sage, however the main thrust here is different as we want to index
matrices/tables by other sage objects.
**Preliminary** patch is attached. It has quite a lot of documentation,
however, I would like to add sections on how the labelled, reordering,
options, ... all work. Some of the examples depend upon #13605 which gives
extended options for printing partitions. The are a few minor issues to be
fixed including refactoring the _repr_/latex/html methods.
Comments welcome.
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14103#comment:11>
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 unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.