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

Run in calculator