#18836: Make refine_embedding into a method of number fields instead of 
stand-alone
-------------------------------------+-------------------------------------
       Reporter:  cremona            |        Owner:
           Type:  enhancement        |       Status:  needs_work
       Priority:  minor              |    Milestone:  sage-6.8
      Component:  number fields      |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  John Cremona       |    Reviewers:  Vincent Delecroix
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/cremona/18836-refine_embedding   |  94a1d567b17399c9e39517ab6943004210ee23ba
   Dependencies:  #20064             |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by lftabera):

 You are right, I thought #20064 was already merged, while it is not.
 Everything is fine now.

 - The code is ok, I miss extending embeddings from number to p-adic
 fields, but this issue is out of scope for this ticket.

 - Please document that precision cannot decrease.

 {{{
 sage: N=QQ[sqrt(2)]
 sage: e=N.embeddings(RR)[0]
 sage: N.refine_embedding(e,16) is e
 True
 sage: e
 Ring morphism:
   From: Number Field in sqrt2 with defining polynomial x^2 - 2
   To:   Real Field with 53 bits of precision
   Defn: sqrt2 |--> -1.41421356237310
 }}}

 Also, it would be nice to note that, when the refinement is not unique, an
 "arbitrary" one is returned:

 {{{
 sage: N=NumberField(x^4 - 199999999/50000000*x^2 +
 40000000400000001/10000000000000000,'a')
 sage: e = N.embeddings(ComplexField(16))[1]
 sage: e
 Ring morphism:
   From: Number Field in a with defining polynomial x^4 -
 199999999/50000000*x^2 + 40000000400000001/10000000000000000
   To:   Complex Field with 16 bits of precision
   Defn: a |--> 1.414
 sage: N.refine_embedding(e,32)
 Ring morphism:
   From: Number Field in a with defining polynomial x^4 -
 199999999/50000000*x^2 + 40000000400000001/10000000000000000
   To:   Complex Field with 32 bits of precision
   Defn: a |--> 1.41421356 - 0.0000988882552*I
 sage: len(N.embeddings(ComplexField(16)))
 2
 sage: len(N.embeddings(ComplexField(32)))
 4
 }}}

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

Reply via email to