#14239: symbolic radical expression for algebraic number
-------------------------------------+-------------------------------------
       Reporter:  gagern             |        Owner:  davidloeffler
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-6.4
      Component:  number fields      |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Martin von Gagern  |    Reviewers:  Marc Mezzarobba,
Report Upstream:  N/A                |  Jeroen Demeyer
         Branch:                     |  Work issues:
  u/jdemeyer/ticket/14239            |       Commit:
   Dependencies:  #17495, #16964     |  24b00c640ccc096afa24da92e29cf2c1372628e2
                                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by gagern):

 Thanks for the rationale from comment:35. Can you add test cases for each
 of these benefits? I see you already wrote one for the case where the
 generator has no radical expression. So far none of the existing test
 cases covers the other two benefits, though, since none had to be changed.

 Since you removed the caching of symbolic expressions in the `__symbolic`
 member of the number field element, I think you should also remove said
 member from the `number_field_element.pxd` since it is without use now.

 I'm still not happy that now we'll have to fix two other issues before we
 can evaluate what you did here and see whether the (quite valid) gains are
 worth the performance penalty due to the removal of caching. Or, to be
 more precise, I'm unhappy that my own modifications are blocked together
 with this.

 I also have some doubts about the `refine_embedding` approach. As far as I
 can see, the refined embedding ''should'' get cached in the number field,
 but I'd prefer to see that verified by a test case. The choice which of
 these embeddings to use doesn't seem to be cached, so that matching would
 be repeated for every conversion. Not sure how costly that is, but I would
 prefer if we could cache the algebraic embedding which matches the
 specified complex embedding explicitely. Looking at `embeddings` I also
 think that `K['x'](self.defining_polynomial()).roots()` is probably bad,
 since singular can't deal with polynomials with algebraic coefficients.
 Shouldn't this be `self.defining_polynomial().roots(K)` instead? The
 subsequent `r.sort()` seems superfluous, since roots are to my knowledge
 always returned in sorted order.

--
Ticket URL: <http://trac.sagemath.org/ticket/14239#comment:64>
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to