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

Reply via email to