Skip to content

Degree localization of a rational function field

Degree localization

Given a (univariate) rational function field, there are two rings of interest, both of which are Euclidean:

The second of these rings is the localization of at inside the rational function field , i.e. the localization of the function field at the point at infinity, i.e. the valuation ring for valuation degree.

We refer to this ring as the degree localization of the rational function field .

Construction of the degree localization

The degree localization of a rational function field can be constructed using a localization constructor, passing in the degree function as argument.

# localizationMethod.

localization(K::RationalFunctionField{T}, ::typeof(degree)) where T <: FieldElement

Return the localization of at inside the rational function field , i.e. the localization of the function field at the point at infinity, i.e. the valuation ring for valuation degree. This is the ring .

source


Example +

julia> K, x = rational_function_field(FlintQQ, "x");


julia> R = localization(K, degree)
Degree localization of Rational function field over QQ

Elements of the degree localization

Elements of the degree localization are created using the parent object representing the degree localization


Example +

julia> K, x = rational_function_field(FlintQQ, "x");


julia> R = localization(K, degree)
Degree localization of Rational function field over QQ

julia> a = R()
0

julia> b = R(1)
1

julia> c = R((x + 1)//x)
(x + 1)//x

Note that the degree of the denominator of the function field element passed to the constructor must be at least that of the numerator or an exception is raised.

Element functionality

# degreeMethod.

 degree(a::KInftyElem)

Return the degree of the given element, i.e. degree(numerator) - degree(denominator).

source

# valuationMethod.

valuation(a::KInftyElem)

Return the degree valuation of the given element, i.e. -degree(a).

source

One can test whether a given element of a rational function field is in the degree localization.

# inMethod.

in(a::Generic.RationalFunctionFieldElem{T}, R::KInftyRing{T}) where T <: FieldElement

Return true if the given element of the rational function field is an element of , i.e. if degree(numerator) <= degree(denominator).

source

All basic arithmetic operations are provided for elements of the degree localization.

As the degree localization is a Euclidean ring, all standard Euclidean functions, including div, divrem, mod, gcd, gcdx, are provided.