#9390: is_galois_relative() not always right
------------------------------+---------------------------------------------
   Reporter:  arminstraub     |       Owner:  davidloeffler   
       Type:  defect          |      Status:  needs_review    
   Priority:  major           |   Milestone:  sage-4.6.1      
  Component:  number fields   |    Keywords:  galois extension
     Author:  Francis Clarke  |    Upstream:  N/A             
   Reviewer:  Marco Streng    |      Merged:                  
Work_issues:                  |  
------------------------------+---------------------------------------------
Changes (by fwclarke):

  * status:  needs_work => needs_review


Comment:

 Replying to [comment:6 mstreng]:

 > On which Sage version is this a speedup for is_galois_absolute? ...

 I'm sorry about this.  I don't know how I convinced myself that the
 absolute version was faster.

 > On the other hand, my suggestion allowed for a good test of your code,
 as is_galois is ubiquitous:
 {{{
 sage -t -long devel/sage/sage/schemes/elliptic_curves/gal_reps.py
  *** *** Error: TIMED OUT! PROCESS KILLED! *** ***
 }}}

 I can't reproduce this.  Actually `is_galois` is not particularly
 ubiquitous (and certainly does figure in `gal_reps.py`):

 {{{
 sage -grep -l is_galois
 ----------------------------------------------------------------------
 | Sage Version 4.6, Release Date: 2010-10-30                         |
 | Type notebook() for the GUI, and license() for information.        |
 ----------------------------------------------------------------------
 coding/linear_code.py
 rings/number_field/galois_group.py
 rings/number_field/number_field.py
 rings/number_field/number_field_rel.py
 rings/number_field/totallyreal_rel.py
 rings/padics/unramified_extension_generic.py
 rings/number_field/number_field_element.pyx
 }}}
 > Maybe it is better to stick with the is_galois_relative correction only.
 Also, if you know about cached methods, then perhaps you could make
 is_galois_relative and is_galois_absolute cached while you're at it. You
 can also make a distinction in is_galois between degree <= 11 (use the old
 method) and degree > 11 (old method only works if KASH is installed, use
 your method). I suppose it is good to still let is_galois_absolute()
 simply call absolute_field().is_galois().

 The new patch implements this, except it doesn't do any caching.
 `is_galois_absolute` is already cached in the degree <= 11 cases via
 `self.absolute_field()`.  In the other cases, I think what really needs
 caching is the factorisation of the defining polynomial over `self,` since
 it's also what's needed to compute endomorphisms. But that is for another
 patch, I think.

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