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