#14300: CyclotomicField's is_isomorphic is mathematically incorrect
-----------------------------------+----------------------------------------
       Reporter:  robharron        |         Owner:  davidloeffler  
           Type:  defect           |        Status:  positive_review
       Priority:  critical         |     Milestone:  sage-5.10      
      Component:  number fields    |    Resolution:                 
       Keywords:  CyclotomicField  |   Work issues:                 
Report Upstream:  N/A              |     Reviewers:  Francis Clarke 
        Authors:  Robert Harron    |     Merged in:                 
   Dependencies:                   |      Stopgaps:                 
-----------------------------------+----------------------------------------
Changes (by fwclarke):

  * status:  needs_work => positive_review
  * reviewer:  => Francis Clarke


Comment:

 Replying to [comment:8 robharron]:

 > Since this ticket is for a mathematically incorrect output of sage it
 would be great to get it fixed ASAP (my functioning patch has already been
 sitting around for three weeks). In view of the examples above, I would
 propose worrying about optimizing this function in a separate ticket and
 (if there isn't some big problem with what I've written) accepting the
 current patch. How does that sound?

 After spending some time looking at why the existing code is sometimes
 slow, I agree with this suggestion, so a positive review.

 ----

 Using the fact that PARI's `nfisom` runs much faster when one of its
 arguments is a number field, rather than a polynomial, it is possible to
 make the generic `is_isomorphic` much quicker.  It gets a bit complicated
 though, because
   1. a field's `pari_nf` shouldn't be computed unnecessarily;
   2. doing so is much quicker for a cyclotomic field than a general field
 of the same degree;
   3. for (monic) polynomials with non-integer coefficients  PARI's
 `nfinit` fails, but `nfisom` works.
 I have a draft patch in preparation and will post it soon.

 When this is done, it might be sensible to eliminate the cyclotomic
 version as the new code will check first whether the defining polynomials
 are equal (at the moment `K.is_isomorphic(K)` can be slow).  This is
 hardly more time-consuming than comparing the values of `zero_order` when
 both fields are cyclotomic.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14300#comment:9>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to