#11068: Basic implementation of one- and twosided ideals of non-commutative 
rings,
and quotients by twosided ideals
-------------------------------------------------------------------------------+
   Reporter:  SimonKing                                                        
|          Owner:  AlexGhitza                                 
       Type:  enhancement                                                      
|         Status:  needs_work                                 
   Priority:  major                                                            
|      Milestone:  sage-4.7.2                                 
  Component:  algebra                                                          
|       Keywords:  onesided twosided ideal noncommutative ring
Work_issues:  Print quotient ring elements if the cover has no variable names  
|       Upstream:  N/A                                        
   Reviewer:                                                                   
|         Author:  Simon King                                 
     Merged:                                                                   
|   Dependencies:  #10961, #9138, #11115                      
-------------------------------------------------------------------------------+
Changes (by SimonKing):

  * status:  needs_review => needs_work
  * work_issues:  Shall one move code from ring.pyx to rings.py? => Print
                  quotient ring elements if the cover has
                  no variable names


Comment:

 It turns out that, although the variable names are available, Q does not
 know its generators. And that's clearly strange: MS knows its generators,
 and hence the quotient Q could simply be generated by the equivalence
 classes of the generators of MS:
 {{{
 sage: MS.gens()
 (
 [1 0]  [0 1]  [0 0]  [0 0]
 [0 0], [0 0], [1 0], [0 1]
 )
 sage: Q.variable_names()
 ('a', 'b', 'c', 'd')
 sage: Q.ngens()
 4
 sage: Q.gens()
 ERROR: An unexpected error occurred while tokenizing input
 The following traceback may be corrupted or invalid
 The error message is: ('EOF in multi-line statement', (359, 0))

 ---------------------------------------------------------------------------
 ValueError                                Traceback (most recent call
 last)
 ...
 ValueError: variable names have not yet been set using
 self._assign_names(...)
 }}}

 Actually, it seems that the problem simply is ''printing'' the elements:
 {{{
 sage: L = Q.gens()
 sage: L[0]
 ERROR: An unexpected error occurred while tokenizing input
 The following traceback may be corrupted or invalid
 The error message is: ('EOF in multi-line statement', (359, 0))

 ---------------------------------------------------------------------------
 ValueError                                Traceback (most recent call
 last)
 ...
 ValueError: variable names have not yet been set using
 self._assign_names(...)
 }}}

 Indeed, it seems that the printing method of quotient ring elements
 expects that the cover ring uses variable names in order to print its
 elemennts; the variable names of the quotient rings are used to replace
 the variable names of the cover ring.

 However, the elements of MS are not printed using any variable names.

 I think that's a bug that could be fixed here (I wouldn't open a new
 ticket for it).

 Thank you for spotting it!

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11068#comment:25>
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