AUTHORS:
EXAMPLES:
sage: K.<x> = FunctionField(QQ); K
Rational function field in x over Rational Field
sage: L.<x> = FunctionField(QQ); L
Rational function field in x over Rational Field
sage: K is L
True
Bases: sage.structure.factory.UniqueFactory
Return the function field in one variable with constant field F. The function field returned is unique in the sense that if you call this function twice with the same base field and name then you get the same python object back.
INPUT:
EXAMPLES:
sage: K.<x> = FunctionField(QQ); K
Rational function field in x over Rational Field
sage: L.<y> = FunctionField(GF(7)); L
Rational function field in y over Finite Field of size 7
sage: R.<z> = L[]
sage: M.<z> = L.extension(z^7-z-y); M
Function field in z defined by z^7 + 6*z + 6*y
TESTS:
sage: K.<x> = FunctionField(QQ)
sage: L.<x> = FunctionField(QQ)
sage: K is L
True
sage: M.<x> = FunctionField(GF(7))
sage: K is M
False
sage: N.<y> = FunctionField(QQ)
sage: K is N
False
Given the arguments and keywords, create a key that uniquely determines this object.
EXAMPLES:
sage: K.<x> = FunctionField(QQ) # indirect doctest
Create the object from the key and extra arguments. This is only called if the object was not found in the cache.
EXAMPLES:
sage: K.<x> = FunctionField(QQ)
sage: L.<x> = FunctionField(QQ)
sage: K is L
True
Bases: sage.structure.factory.UniqueFactory
Create a function field defined as an extension of another function field by adjoining a root of a univariate polynomial. The returned function field is unique in the sense that if you call this function twice with an equal polynomial and names it returns the same python object in both calls.
INPUT:
EXAMPLES:
sage: K.<x> = FunctionField(QQ)
sage: R.<y>=K[]
sage: y2 = y*1
sage: y2 is y
False
sage: L.<w>=K.extension(x-y^2)
sage: M.<w>=K.extension(x-y2^2)
sage: L is M
True
Given the arguments and keywords, create a key that uniquely determines this object.
EXAMPLES:
sage: K.<x> = FunctionField(QQ)
sage: R.<y>=K[]
sage: L.<w> = K.extension(x-y^2) # indirect doctest
TESTS:
Verify that trac ticket #16530 has been resolved:
sage: K.<x> = FunctionField(QQ)
sage: R.<y> = K[]
sage: L.<y> = K.extension(y^2-x)
sage: R.<z> = L[]
sage: M.<z> = L.extension(z-1)
sage: R.<z> = K[]
sage: N.<z> = K.extension(z-1)
sage: M is N
False
Create the object from the key and extra arguments. This is only called if the object was not found in the cache.
EXAMPLES:
sage: K.<x> = FunctionField(QQ)
sage: R.<y>=K[]
sage: L.<w> = K.extension(x-y^2) # indirect doctest
sage: y2 = y*1
sage: M.<w> = K.extension(x-y2^2) # indirect doctest
sage: L is M
True