Orders in Function Fields

AUTHORS:

  • William Stein (2010): initial version
  • Maarten Derickx (2011-09-14): fixed ideal_with_gens_over_base() for rational function fields
  • Julian Rueth (2011-09-14): added check in _element_constructor_

EXAMPLES:

Maximal orders in rational function fields:

sage: K.<x> = FunctionField(QQ)
sage: O = K.maximal_order()
sage: I = O.ideal(1/x); I
Ideal (1/x) of Maximal order in Rational function field in x over Rational Field
sage: 1/x in O
False

Equation orders in extensions of rational function fields:

sage: K.<x> = FunctionField(GF(3)); R.<y> = K[]
sage: L.<y> = K.extension(y^3-y-x)
sage: O = L.equation_order()
sage: 1/y in O
False
sage: x/y in O
True
class sage.rings.function_field.function_field_order.FunctionFieldOrder(fraction_field)

Bases: sage.rings.ring.IntegralDomain

Base class for orders in function fields.

fraction_field()

Returns the function field in which this is an order.

EXAMPLES:

sage: FunctionField(QQ,'y').maximal_order().fraction_field()
Rational function field in y over Rational Field
function_field()

Returns the function field in which this is an order.

EXAMPLES:

sage: FunctionField(QQ,'y').maximal_order().fraction_field()
Rational function field in y over Rational Field
ideal(*gens)

Returns the fractional ideal generated by the elements in gens.

INPUT:

  • gens – a list of generators or an ideal in a ring which

    coerces to this order.

EXAMPLES:

sage: K.<y> = FunctionField(QQ)
sage: O = K.maximal_order()
sage: O.ideal(y)
Ideal (y) of Maximal order in Rational function field in y over Rational Field
sage: O.ideal([y,1/y]) == O.ideal(y,1/y) # multiple generators may be given as a list
True

A fractional ideal of a nontrivial extension:

sage: K.<x> = FunctionField(GF(7)); R.<y> = K[]
sage: O = K.maximal_order()
sage: I = O.ideal(x^2-4)
sage: L.<y> = K.extension(y^2 - x^3 - 1)
sage: S = L.equation_order()
sage: S.ideal(1/y)
Ideal (1, (6/(x^3 + 1))*y) of Order in Function field in y defined by y^2 + 6*x^3 + 6
sage: I2 = S.ideal(x^2-4); I2
Ideal (x^2 + 3, (x^2 + 3)*y) of Order in Function field in y defined by y^2 + 6*x^3 + 6
sage: I2 == S.ideal(I)
True
ideal_with_gens_over_base(gens)

Returns the fractional ideal with basis gens over the maximal order of the base field. That this is really an ideal is not checked.

INPUT:

  • gens – list of elements that are a basis for the ideal over the maximal order of the base field

EXAMPLES:

We construct an ideal in a rational function field:

sage: K.<y> = FunctionField(QQ)
sage: O = K.maximal_order()
sage: I = O.ideal_with_gens_over_base([y]); I
Ideal (y) of Maximal order in Rational function field in y over Rational Field
sage: I*I
Ideal (y^2) of Maximal order in Rational function field in y over Rational Field

We construct some ideals in a nontrivial function field:

sage: K.<x> = FunctionField(GF(7)); R.<y> = K[]
sage: L.<y> = K.extension(y^2 - x^3 - 1)
sage: O = L.equation_order(); O
Order in Function field in y defined by y^2 + 6*x^3 + 6
sage: I = O.ideal_with_gens_over_base([1, y]);  I
Ideal (1, y) of Order in Function field in y defined by y^2 + 6*x^3 + 6
sage: I.module()
Free module of degree 2 and rank 2 over Maximal order in Rational function field in x over Finite Field of size 7
Echelon basis matrix:
[1 0]
[0 1]

There is no check if the resulting object is really an ideal:

sage: K.<x> = FunctionField(GF(7)); R.<y> = K[]
sage: L.<y> = K.extension(y^2 - x^3 - 1)
sage: O = L.equation_order()
sage: I = O.ideal_with_gens_over_base([y]); I
Ideal (y) of Order in Function field in y defined by y^2 + 6*x^3 + 6
sage: y in I
True
sage: y^2 in I
False
is_field(proof=True)

Returns False since orders are never fields.

EXAMPLES:

sage: FunctionField(QQ,'y').maximal_order().is_field()
False
is_finite()

Returns False since orders are never finite.

EXAMPLES:

sage: FunctionField(QQ,'y').maximal_order().is_finite()
False
is_noetherian()

Returns True since orders in function fields are noetherian.

EXAMPLES:

sage: FunctionField(QQ,'y').maximal_order().is_noetherian()
True
class sage.rings.function_field.function_field_order.FunctionFieldOrder_basis(basis, check=True)

Bases: sage.rings.function_field.function_field_order.FunctionFieldOrder

An order given by a basis over the maximal order of the base field.

basis()

Returns a basis of self over the maximal order of the base field.

EXAMPLES:

sage: K.<x> = FunctionField(GF(7)); R.<y> = K[]
sage: L.<y> = K.extension(y^4 + x*y + 4*x + 1)
sage: O = L.equation_order()
sage: O.basis()
(1, y, y^2, y^3)
fraction_field()

Returns the function field in which this is an order.

EXAMPLES:

sage: K.<x> = FunctionField(GF(7)); R.<y> = K[]
sage: L.<y> = K.extension(y^4 + x*y + 4*x + 1)
sage: O = L.equation_order()
sage: O.fraction_field()
Function field in y defined by y^4 + x*y + 4*x + 1
free_module()

Returns the free module formed by the basis over the maximal order of the base field.

EXAMPLES:

sage: K.<x> = FunctionField(GF(7)); R.<y> = K[]
sage: L.<y> = K.extension(y^4 + x*y + 4*x + 1)
sage: O = L.equation_order()
sage: O.free_module()
Free module of degree 4 and rank 4 over Maximal order in Rational function field in x over Finite Field of size 7
Echelon basis matrix:
[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1]
polynomial()

Returns the defining polynomial of the function field of which this is an order.

EXAMPLES:

sage: K.<x> = FunctionField(GF(7)); R.<y> = K[]
sage: L.<y> = K.extension(y^4 + x*y + 4*x + 1)
sage: O = L.equation_order()
sage: O.polynomial()
y^4 + x*y + 4*x + 1
class sage.rings.function_field.function_field_order.FunctionFieldOrder_rational(function_field)

Bases: sage.rings.ring.PrincipalIdealDomain, sage.rings.function_field.function_field_order.FunctionFieldOrder

The maximal order in a rational function field.

basis()

Returns the basis (=1) for this order as a module over the polynomial ring.

EXAMPLES:

sage: K.<t> = FunctionField(GF(19))
sage: O = K.maximal_order()
sage: O.basis()
(1,)
sage: parent(O.basis()[0])
Maximal order in Rational function field in t over Finite Field of size 19
gen(n=0)

Returns the n-th generator of self. Since there is only one generator n must be 0.

EXAMPLES:

sage: O = FunctionField(QQ,'y').maximal_order()
sage: O.gen()
y
sage: O.gen(1)
Traceback (most recent call last):
...
IndexError: Only one generator.
ideal(*gens)

Returns the fractional ideal generated by gens.

EXAMPLES:

sage: K.<x> = FunctionField(QQ)
sage: O = K.maximal_order()
sage: O.ideal(x)
Ideal (x) of Maximal order in Rational function field in x over Rational Field
sage: O.ideal([x,1/x]) == O.ideal(x,1/x) # multiple generators may be given as a list
True
sage: O.ideal(x^3+1,x^3+6)
Ideal (1) of Maximal order in Rational function field in x over Rational Field
sage: I = O.ideal((x^2+1)*(x^3+1),(x^3+6)*(x^2+1)); I
Ideal (x^2 + 1) of Maximal order in Rational function field in x over Rational Field
sage: O.ideal(I)
Ideal (x^2 + 1) of Maximal order in Rational function field in x over Rational Field
ngens()

Returns 1, the number of generators of self.

EXAMPLES:

sage: FunctionField(QQ,'y').maximal_order().ngens()
1

Previous topic

Function Field Elements

Next topic

Ideals in Function Fields

This Page