Create the field F of rational functions in 1 indeterminate (consisting of quotients of univariate polynomials) over the integral domain R. The angle bracket notation may be used to assign names to the indeterminates, just as in the case of polynomial rings: K<t> := FunctionField(IntegerRing());.
Create the field F of rational functions in r indeterminates over the integral domain R. may be used to assign names to the indeterminates, just as in the case of polynomial rings: K<a,b,c> := FunctionField(IntegerRing(), 3);.
Given a polynomial ring P, return its field of fractions F, consisting of quotients f/g, with f, g in P. The angle bracket notation may be used to assign names to the indeterminates, just as in the case of polynomial rings: K<t> := FieldOfFractions(P);.
Procedure to change the name of the indeterminates of a function field F. The i-th indeterminate will be given the name of the i-th element of the sequence of strings s (for 1 <= i <= #s); the sequence may have length less than the number of indeterminates of F, in which case the remaining indeterminate names remain unchanged.This procedure only changes the name used in printing the elements of F. It does not assign to identifiers corresponding to the strings the indeterminates in F; to do this, use an assignment statement, or use angle brackets when creating the field.
Note that since this is a procedure that modifies F, it is necessary to have a reference ~F to F in the call to this function.
Given a function field F, return the i-th indeterminate of F (as an element of F).
In its general form a ring homomorphism taking a function field R(x_1, ..., x_n) as domain requires n + 1 pieces of information, namely,
a map (homomorphism) telling how to map the coefficient ring R together
with the images of the n indeterminates.
hom< P -> S | f, y_1, ..., y_n > : FldFun, Rng -> Map
Given a function field F=R(x_1, ..., x_n), a ring S, a map f : F -> S and n elements y_1, ..., y_n in S, create the homomorphism g : F -> S by applying the rules that g(rx_1^(a_1) ... x_n^(a_n))=f(r)y_1^(a_1) ... y_n^(a_n) for monomials, linearity for polynomials, i.e., g(M + N)=g(M) + g(N), and respection of division for fractions, i.e., g(n/d)=g(n)/g(d).The coefficient ring map may be omitted, in which case the coefficients are mapped into S by the unitary homomorphism sending 1_R to 1_S. Also, the images y_i are allowed to be from a structure that allows automatic coercion into S.
> Q := RationalField(); > F<x, y> := FunctionField(Q, 2); > A<a> := PolynomialRing(IntegerRing()); > N<z, w> := NumberField([a^3-2, a^2+5]); > h := hom< F -> N | z, w >; > h(x^11*y^3-x+4/5*y-13/4); -40*w*z^2 - z + 4/5*w - 13/4 > h(x/3); 1/3*z > h(1/x); 1/2*z^2 > 1/z; 1/2*z^2
Given the rational function field F (which is the field of fractions of the polynomial ring R), and polynomials a, b in R (with b != 0), construct the rational function a / b.
Given the rational function field F as a field of fractions of R, and a polynomial a in R, create the rational function a=a/1 in F.
The i-th generator for the field of fractions K of R over the coefficient ring of R.
> R<x> := PolynomialRing(Integers()); > F<w> := FieldOfFractions(R); > F ! x+3; w + 3 > F ! [ x, x-1 ]; w/(w - 1)