Ideals of function fields: rational

class sage.rings.function_field.ideal_rational.FunctionFieldIdealInfinite_rational(ring, gen)[source]

Bases: FunctionFieldIdealInfinite

Fractional ideal of the maximal order of rational function field.

INPUT:

  • ring – infinite maximal order

  • gen – generator

Note that the infinite maximal order is a principal ideal domain.

EXAMPLES:

sage: K.<x> = FunctionField(GF(2))
sage: Oinf = K.maximal_order_infinite()
sage: Oinf.ideal(x)
Ideal (x) of Maximal infinite order of Rational function field in x over Finite Field of size 2
>>> from sage.all import *
>>> K = FunctionField(GF(Integer(2)), names=('x',)); (x,) = K._first_ngens(1)
>>> Oinf = K.maximal_order_infinite()
>>> Oinf.ideal(x)
Ideal (x) of Maximal infinite order of Rational function field in x over Finite Field of size 2
K.<x> = FunctionField(GF(2))
Oinf = K.maximal_order_infinite()
Oinf.ideal(x)
gen()[source]

Return the generator of this principal ideal.

EXAMPLES:

sage: # needs sage.rings.finite_rings
sage: K.<x> = FunctionField(GF(2))
sage: Oinf = K.maximal_order_infinite()
sage: I = Oinf.ideal((x+1)/(x^3+x), (x^2+1)/x^4)
sage: I.gen()
1/x^2
>>> from sage.all import *
>>> # needs sage.rings.finite_rings
>>> K = FunctionField(GF(Integer(2)), names=('x',)); (x,) = K._first_ngens(1)
>>> Oinf = K.maximal_order_infinite()
>>> I = Oinf.ideal((x+Integer(1))/(x**Integer(3)+x), (x**Integer(2)+Integer(1))/x**Integer(4))
>>> I.gen()
1/x^2
# needs sage.rings.finite_rings
K.<x> = FunctionField(GF(2))
Oinf = K.maximal_order_infinite()
I = Oinf.ideal((x+1)/(x^3+x), (x^2+1)/x^4)
I.gen()
gens()[source]

Return the generator of this principal ideal.

EXAMPLES:

sage: # needs sage.rings.finite_rings
sage: K.<x> = FunctionField(GF(2))
sage: Oinf = K.maximal_order_infinite()
sage: I = Oinf.ideal((x+1)/(x^3+x), (x^2+1)/x^4)
sage: I.gens()
(1/x^2,)
>>> from sage.all import *
>>> # needs sage.rings.finite_rings
>>> K = FunctionField(GF(Integer(2)), names=('x',)); (x,) = K._first_ngens(1)
>>> Oinf = K.maximal_order_infinite()
>>> I = Oinf.ideal((x+Integer(1))/(x**Integer(3)+x), (x**Integer(2)+Integer(1))/x**Integer(4))
>>> I.gens()
(1/x^2,)
# needs sage.rings.finite_rings
K.<x> = FunctionField(GF(2))
Oinf = K.maximal_order_infinite()
I = Oinf.ideal((x+1)/(x^3+x), (x^2+1)/x^4)
I.gens()
gens_over_base()[source]

Return the generator of this ideal as a rank one module over the infinite maximal order.

EXAMPLES:

sage: # needs sage.rings.finite_rings
sage: K.<x> = FunctionField(GF(2))
sage: Oinf = K.maximal_order_infinite()
sage: I = Oinf.ideal((x+1)/(x^3+x), (x^2+1)/x^4)
sage: I.gens_over_base()
(1/x^2,)
>>> from sage.all import *
>>> # needs sage.rings.finite_rings
>>> K = FunctionField(GF(Integer(2)), names=('x',)); (x,) = K._first_ngens(1)
>>> Oinf = K.maximal_order_infinite()
>>> I = Oinf.ideal((x+Integer(1))/(x**Integer(3)+x), (x**Integer(2)+Integer(1))/x**Integer(4))
>>> I.gens_over_base()
(1/x^2,)
# needs sage.rings.finite_rings
K.<x> = FunctionField(GF(2))
Oinf = K.maximal_order_infinite()
I = Oinf.ideal((x+1)/(x^3+x), (x^2+1)/x^4)
I.gens_over_base()
is_prime()[source]

Return True if this ideal is a prime ideal.

EXAMPLES:

sage: # needs sage.rings.finite_rings
sage: K.<x> = FunctionField(GF(2))
sage: Oinf = K.maximal_order_infinite()
sage: I = Oinf.ideal(x/(x^2 + 1))
sage: I.is_prime()
True
>>> from sage.all import *
>>> # needs sage.rings.finite_rings
>>> K = FunctionField(GF(Integer(2)), names=('x',)); (x,) = K._first_ngens(1)
>>> Oinf = K.maximal_order_infinite()
>>> I = Oinf.ideal(x/(x**Integer(2) + Integer(1)))
>>> I.is_prime()
True
# needs sage.rings.finite_rings
K.<x> = FunctionField(GF(2))
Oinf = K.maximal_order_infinite()
I = Oinf.ideal(x/(x^2 + 1))
I.is_prime()
valuation(ideal)[source]

Return the valuation of ideal at this prime ideal.

INPUT:

  • ideal – fractional ideal

EXAMPLES:

sage: F.<x> = FunctionField(QQ)
sage: O = F.maximal_order_infinite()
sage: p = O.ideal(1/x)
sage: p.valuation(O.ideal(x/(x+1)))
0
sage: p.valuation(O.ideal(0))
+Infinity
>>> from sage.all import *
>>> F = FunctionField(QQ, names=('x',)); (x,) = F._first_ngens(1)
>>> O = F.maximal_order_infinite()
>>> p = O.ideal(Integer(1)/x)
>>> p.valuation(O.ideal(x/(x+Integer(1))))
0
>>> p.valuation(O.ideal(Integer(0)))
+Infinity
F.<x> = FunctionField(QQ)
O = F.maximal_order_infinite()
p = O.ideal(1/x)
p.valuation(O.ideal(x/(x+1)))
p.valuation(O.ideal(0))
class sage.rings.function_field.ideal_rational.FunctionFieldIdeal_rational(ring, gen)[source]

Bases: FunctionFieldIdeal

Fractional ideals of the maximal order of a rational function field.

INPUT:

  • ring – the maximal order of the rational function field

  • gen – generator of the ideal, an element of the function field

EXAMPLES:

sage: K.<x> = FunctionField(QQ)
sage: O = K.maximal_order()
sage: I = O.ideal(1/(x^2+x)); I
Ideal (1/(x^2 + x)) of Maximal order of Rational function field in x over Rational Field
>>> from sage.all import *
>>> K = FunctionField(QQ, names=('x',)); (x,) = K._first_ngens(1)
>>> O = K.maximal_order()
>>> I = O.ideal(Integer(1)/(x**Integer(2)+x)); I
Ideal (1/(x^2 + x)) of Maximal order of Rational function field in x over Rational Field
K.<x> = FunctionField(QQ)
O = K.maximal_order()
I = O.ideal(1/(x^2+x)); I
denominator()[source]

Return the denominator of this fractional ideal.

EXAMPLES:

sage: F.<x> = FunctionField(QQ)
sage: O = F.maximal_order()
sage: I = O.ideal(x/(x^2+1))
sage: I.denominator()
x^2 + 1
>>> from sage.all import *
>>> F = FunctionField(QQ, names=('x',)); (x,) = F._first_ngens(1)
>>> O = F.maximal_order()
>>> I = O.ideal(x/(x**Integer(2)+Integer(1)))
>>> I.denominator()
x^2 + 1
F.<x> = FunctionField(QQ)
O = F.maximal_order()
I = O.ideal(x/(x^2+1))
I.denominator()
gen()[source]

Return the unique generator of this ideal.

EXAMPLES:

sage: # needs sage.rings.finite_rings
sage: K.<x> = FunctionField(GF(4))
sage: O = K.maximal_order()
sage: I = O.ideal(x^2 + x)
sage: I.gen()
x^2 + x
>>> from sage.all import *
>>> # needs sage.rings.finite_rings
>>> K = FunctionField(GF(Integer(4)), names=('x',)); (x,) = K._first_ngens(1)
>>> O = K.maximal_order()
>>> I = O.ideal(x**Integer(2) + x)
>>> I.gen()
x^2 + x
# needs sage.rings.finite_rings
K.<x> = FunctionField(GF(4))
O = K.maximal_order()
I = O.ideal(x^2 + x)
I.gen()
gens()[source]

Return the tuple of the unique generator of this ideal.

EXAMPLES:

sage: # needs sage.rings.finite_rings
sage: K.<x> = FunctionField(GF(4))
sage: O = K.maximal_order()
sage: I = O.ideal(x^2 + x)
sage: I.gens()
(x^2 + x,)
>>> from sage.all import *
>>> # needs sage.rings.finite_rings
>>> K = FunctionField(GF(Integer(4)), names=('x',)); (x,) = K._first_ngens(1)
>>> O = K.maximal_order()
>>> I = O.ideal(x**Integer(2) + x)
>>> I.gens()
(x^2 + x,)
# needs sage.rings.finite_rings
K.<x> = FunctionField(GF(4))
O = K.maximal_order()
I = O.ideal(x^2 + x)
I.gens()
gens_over_base()[source]

Return the generator of this ideal as a rank one module over the maximal order.

EXAMPLES:

sage: # needs sage.rings.finite_rings
sage: K.<x> = FunctionField(GF(4))
sage: O = K.maximal_order()
sage: I = O.ideal(x^2 + x)
sage: I.gens_over_base()
(x^2 + x,)
>>> from sage.all import *
>>> # needs sage.rings.finite_rings
>>> K = FunctionField(GF(Integer(4)), names=('x',)); (x,) = K._first_ngens(1)
>>> O = K.maximal_order()
>>> I = O.ideal(x**Integer(2) + x)
>>> I.gens_over_base()
(x^2 + x,)
# needs sage.rings.finite_rings
K.<x> = FunctionField(GF(4))
O = K.maximal_order()
I = O.ideal(x^2 + x)
I.gens_over_base()
is_prime()[source]

Return True if this is a prime ideal.

EXAMPLES:

sage: K.<x> = FunctionField(QQ)
sage: O = K.maximal_order()
sage: I = O.ideal(x^3 + x^2)
sage: [f.is_prime() for f,m in I.factor()]                                  # needs sage.libs.pari
[True, True]
>>> from sage.all import *
>>> K = FunctionField(QQ, names=('x',)); (x,) = K._first_ngens(1)
>>> O = K.maximal_order()
>>> I = O.ideal(x**Integer(3) + x**Integer(2))
>>> [f.is_prime() for f,m in I.factor()]                                  # needs sage.libs.pari
[True, True]
K.<x> = FunctionField(QQ)
O = K.maximal_order()
I = O.ideal(x^3 + x^2)
[f.is_prime() for f,m in I.factor()]                                  # needs sage.libs.pari
module()[source]

Return the module, that is the ideal viewed as a module over the ring.

EXAMPLES:

sage: K.<x> = FunctionField(QQ)
sage: O = K.maximal_order()
sage: I = O.ideal(x^3 + x^2)
sage: I.module()                                                                                            # needs sage.modules
Free module of degree 1 and rank 1 over Maximal order of Rational
function field in x over Rational Field
Echelon basis matrix:
[x^3 + x^2]
sage: J = 0*I
sage: J.module()                                                                                            # needs sage.modules
Free module of degree 1 and rank 0 over Maximal order of Rational
function field in x over Rational Field
Echelon basis matrix:
[]
>>> from sage.all import *
>>> K = FunctionField(QQ, names=('x',)); (x,) = K._first_ngens(1)
>>> O = K.maximal_order()
>>> I = O.ideal(x**Integer(3) + x**Integer(2))
>>> I.module()                                                                                            # needs sage.modules
Free module of degree 1 and rank 1 over Maximal order of Rational
function field in x over Rational Field
Echelon basis matrix:
[x^3 + x^2]
>>> J = Integer(0)*I
>>> J.module()                                                                                            # needs sage.modules
Free module of degree 1 and rank 0 over Maximal order of Rational
function field in x over Rational Field
Echelon basis matrix:
[]
K.<x> = FunctionField(QQ)
O = K.maximal_order()
I = O.ideal(x^3 + x^2)
I.module()                                                                                            # needs sage.modules
J = 0*I
J.module()                                                                                            # needs sage.modules
valuation(ideal)[source]

Return the valuation of the ideal at this prime ideal.

INPUT:

  • ideal – fractional ideal

EXAMPLES:

sage: F.<x> = FunctionField(QQ)
sage: O = F.maximal_order()
sage: I = O.ideal(x^2*(x^2+x+1)^3)
sage: [f.valuation(I) for f,_ in I.factor()]                                # needs sage.libs.pari
[2, 3]
>>> from sage.all import *
>>> F = FunctionField(QQ, names=('x',)); (x,) = F._first_ngens(1)
>>> O = F.maximal_order()
>>> I = O.ideal(x**Integer(2)*(x**Integer(2)+x+Integer(1))**Integer(3))
>>> [f.valuation(I) for f,_ in I.factor()]                                # needs sage.libs.pari
[2, 3]
F.<x> = FunctionField(QQ)
O = F.maximal_order()
I = O.ideal(x^2*(x^2+x+1)^3)
[f.valuation(I) for f,_ in I.factor()]                                # needs sage.libs.pari