#10063: Some determinants can not be computed
--------------------------------------------+-------------------------------
   Reporter:  tmonteil                      |       Owner:  tmonteil            
    
       Type:  defect                        |      Status:  needs_review        
    
   Priority:  critical                      |   Milestone:                      
    
  Component:  commutative algebra           |    Keywords:  determinant, ring, 
ideal
     Author:  Thierry Monteil               |    Upstream:  N/A                 
    
   Reviewer:  Mike Hansen, Sébastien Labbé  |      Merged:                      
    
Work_issues:                                |  
--------------------------------------------+-------------------------------

Comment(by slabbe):

 > Should we think to clean the whole `determinant` code?

 Maybe. I don't know. But, I don't feel I am the determinant expert that
 could rethink/refactor/improve that code.

 Although, I reviewed your most recent patch (`
 trac_10063-determinant_not_computed_in_some_rings_bugfix_attempt_4-tm.patch`).

 I was able to reproduce the problem on my computer. The problem is indeed
 fixed by the patch. All test passed in the repository `sage/matrix`.
 Documentation builds fine.

 The problem originated from a `NotImplementedError` when computing
 `R.is_field()` in the case where `algorithm=None` (see below). So your new
 code instead tries to compute `R.is_field()` and if `R.is_field()` raises
 a `NotImplementedError` you consider this as `R.is_field() == False`. This
 computation is done only if algorithm is None so that the method doesn't
 get slower. You also followed my earlier advise, that is, the try
 statement only tries what is necessary.

 Hence, from the knowledge I have, I am OK with giving a positive review to
 this ticket. Maybe Mike Hanson or Jason have comments, so I wait 24 hours,
 and then I will change the status to positive review.

 Sébastien

 PS : The `is_field` method is not implemented for the following ring
 (should we open a ticket for it?):

 {{{
 sage: A = GF(2)['x,y,z']
 sage: A.inject_variables()
 Defining x, y, z
 sage: R = A.quotient(x^2 + 1).quotient(y^2 + 1).quotient(z^2 + 1)
 sage: R.is_field()
 Traceback (most recent call last):

 NotImplementedError:
 }}}

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