Structure Operations#
Invariants#
- Characteristic(F): FldFunRat -> FldFunRatElt#
Ring Predicates and Booleans#
- IsCommutative(F): FldFunRat -> BoolElt#
- IsUnitary(F): FldFunRat -> BoolElt#
- IsFinite(F): FldFunRat -> BoolElt#
- IsOrdered(F): FldFunRat -> BoolElt#
- IsField(F): FldFunRat -> BoolElt#
- IsEuclideanDomain(F): FldFunRat -> BoolElt#
- IsPID(F): FldFunRat -> BoolElt#
- IsUFD(F): FldFunRat -> BoolElt#
- IsDivisionRing(F): FldFunRat -> BoolElt#
- IsEuclideanRing(F): FldFunRat -> BoolElt#
- IsPrincipalIdealRing(F): FldFunRat -> BoolElt#
- IsDomain(F): FldFunRat -> BoolElt#
- F eq G: FldFunRat, Rng -> BoolElt#
- F ne G: FldFunRat, Rng -> BoolElt#
Homomorphisms#
In its general form a ring homomorphism taking a function field \(R(x_1, \ldots, 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₁, ..., yₙ >: FldFunRat, Rng -> Map#
- hom< P -> S | y₁, ..., yₙ >: FldFunRat, Rng -> Map#
Given a function field \(F=R(x_1,\ldots, x_n)\), a ring \(S\), a map \(f : F\rightarrow S\) and \(n\) elements \(y_1, \ldots, y_n\in S\), create the homomorphism \(g : F\rightarrow S\) by applying the rules of \(g(rx_1^{a_1}\cdots x_n^{a_n})=f(r)y_1^{a_1}\cdots y_n^{a_n}\) for monomials, linearity for polynomials, i.e., \(g(M+N)=g(M)+g(N)\), and 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\).
- Example: Homomorphism (ex-bca4bf)#
In this example we map \({\mathbb{Q}}(x, y)\) into the number field \({\mathbb{Q}}(\root 3 \of 2, \sqrt{5})\) by sending \(x\) to \(\root 3 \of 2\) and \(y\) to \(\sqrt{5}\) and the identity map on the coefficients (which we omit).
> 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