#7424: inconsistency between constructors SL and PSL
----------------------------+-----------------------------------------------
Reporter: AlexGhitza | Owner: joyner
Type: defect | Status: new
Priority: minor | Milestone: sage-4.3
Component: group_theory | Keywords:
Work_issues: | Author:
Reviewer: | Merged:
----------------------------+-----------------------------------------------
Probably because these are implemented as different classes (matrix group
versus permutation group), the constructors for {{{SL}}} and {{{PSL}}}
have slightly different behaviour. In particular, {{{PSL}}} does not take
a field argument, and the error message it gives is misleading. We should
just make it behave exactly like {{{SL}}}:
{{{
[ghi...@artin ~]$ sage
----------------------------------------------------------------------
| Sage Version 4.2, Release Date: 2009-10-24 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: SL(2, 7)
Special Linear Group of degree 2 over Finite Field of size 7
sage: SL(2, GF(7))
Special Linear Group of degree 2 over Finite Field of size 7
sage: PSL(2, 7)
Permutation Group with generators [(3,7,5)(4,8,6), (1,2,6)(3,4,8)]
sage: PSL(2, GF(7))
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call
last)
/home/ghitza/.sage/temp/artin/31630/_home_ghitza__sage_init_sage_0.py in
<module>()
/home/ghitza/sage-stable/local/lib/python2.6/site-
packages/sage/groups/perm_gps/permgroup_named.pyc in __init__(self, n, q,
name)
645 else:
646 id = 'PSL(%s,%s)'%(n,q)
--> 647 PermutationGroup_generic.__init__(self, gap_group=id)
648 self._q = q
649 self._base_ring = GF(q, name=name)
/home/ghitza/sage-stable/local/lib/python2.6/site-
packages/sage/groups/perm_gps/permgroup.pyc in __init__(self, gens,
gap_group, canonicalize)
334 if gens is None:
335 self._gap_string = gap_group if isinstance(gap_group,
str) else str(gap_group)
--> 336 self._gens = self._gens_from_gap()
337 return
338
/home/ghitza/sage-stable/local/lib/python2.6/site-
packages/sage/groups/perm_gps/permgroup.pyc in _gens_from_gap(self)
363 gens = self._gap_().GeneratorsOfGroup()
364 except TypeError, s:
--> 365 raise RuntimeError, "(It might be necessary to install
the database_gap optional Sage package, if you haven't already.)\n%s"%s
366 gens = [self._element_class()(gens[n],self, check=False)
367 for n in range(1, int(gens.Length())+1)]
RuntimeError: (It might be necessary to install the database_gap optional
Sage package, if you haven't already.)
Gap produced error output
Variable: 'Finite' must have a value
Syntax error: ) expected
$sage3:=PSL(2,Finite Field of size 7);;
^
executing $sage3:=PSL(2,Finite Field of size 7);;
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7424>
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
-~----------~----~----~----~------~----~------~--~---