#6079: [with patch, needs review] modernize base inclusion morphism of relative
number fields
---------------------------+------------------------------------------------
 Reporter:  ncalexan       |       Owner:  was                                  
        
     Type:  enhancement    |      Status:  new                                  
        
 Priority:  major          |   Milestone:  sage-4.0.1                           
        
Component:  number theory  |    Keywords:  base inclusion morphism relative 
number field
---------------------------+------------------------------------------------

Comment(by fwclarke):

 Replying to [comment:6 ncalexan]:
 > Please disregard the second patch for the time being.  The result is not
 unique, at least not in some cases I thought it would be, and I have to
 deduce the correct conditions on the embeddings to make it unique.

 I would have thought that the simplest way to implement the function would
 be by a recursive use of `relativize`.  '''Except''' this function does
 not, in my opinion, work correctly with relative extensions.  If L/K is a
 relative extensions, and alpha is in L, then `L.relativize(alpha, 'alpha')
 returns the relative extension L/QQ(alpha).  I think it would be much more
 useful if it returned L/K(alpha).  This should be easy to fix, and then
 `subfields_containing` would follow, including the relative case.

 Some other remarks :

 I take the point about the difference between `subfield` and
 `subfield_containing` (I didn't read carefully enough), but there needs to
 be a reference to the latter in
 the documentation for the former.

 However the function is implemented, `K.subfields_containing([a],
 'b')[:2]` and
 `K.subfield(a, 'b')` should give the same answer.

 It should be possible to leave the name out as in
 {{{
 sage: C.<z> = CyclotomicField(20)
 sage: C.subfield(z^4)
 (Number Field in z0 with defining polynomial x^4 + x^3 + x^2 + x + 1,
  Ring morphism:
   From: Number Field in z0 with defining polynomial x^4 + x^3 + x^2 + x +
 1
   To:   Cyclotomic Field of order 20 and degree 8
   Defn: z0 |--> z^4)
 }}}

 I suggest there's a doctest looking like
 {{{
 sage: D.<u>, phi, alphas = C.subfield_containing([z^4, z^6])
 sage: alphas
 (1/4*u2^2, 1/8*u2^3)
 sage: phi
 sage: map(phi, alphas)
 [z^4, z^6]
 }}}
 But, at present,
 {{{
 sage: u
 u2
 }}}
 which can't be right.

 I note that the corresponding
 {{{
 sage: D.<w>, phi = C.subfield(z^4)
 }}}
 fails because the variable name in `subfield` is `name` rather than
 `names`.
 I'll open a ticket for this.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6079#comment:7>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of 
Reinventing the Wheel

--~--~---------~--~----~------------~-------~--~----~
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