Skip to content

Fix membership in QQbar for number field elements -- canonical embedding of subfields #4621

@simon-king-jena

Description

@simon-king-jena

Reported by Alex Raichev
on sage-support.

sage: F.<a> = NumberField(x^2 - 2)
sage: a^2
2
sage: a^2 in QQ
True
sage: a^2 in QQbar
False
sage: 2 in QQbar
True 

or more directly

sage: F(2) in QQbar
False

Perhaps related to this is

sage: F.<a> = NumberField(x^2 - 2)
sage: QQ.is_subring(F)
True
sage: F.is_subring(QQbar)
False 

Robert Bradshow comments that F.is_subring(QQbar) should be False, because QQbar has a canonical embedding into CC, but F has not.

So, from that point of view, it makes sense that a^2 is in F but not in QQbar. However, a^2 is equal to 2 after all, and hence is in a part of F that does have a canonical embedding.

In other words, we have a field element x in F_1 such that there is in fact a subfield F_2 of F_1 with x in F_1. Moreover, we have a field F_3 such that F_2 has a canonical embedding into F_3, but F_1 has no canonical embedding.

Is it possible for Sage to detect that situation?

Idea: Is there a unique maximal subfield F_m of F_1 that has a canonical embedding into F_3? If there is, there could be a method max_subfield_coercing_into(...).

Then, in the original example, we probably have

sage: F.max_subfield_coercing_into(QQbar)
Rational Field

and then x in QQbar would answer True, since

sage: x in F_1.max_subfield_coercing_into(QQbar)
True

Sorry if that idea is not realistic.

CC: @kliem @slel

Component: algebra

Keywords: canonical embedding subfield

Issue created by migration from https://trac.sagemath.org/ticket/4621

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions