### Navigation

- index
- modules |
- next |
- previous |
- Algebraic Function Fields »

# 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

### Navigation

- index
- modules |
- next |
- previous |
- Algebraic Function Fields »