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