# Structure Operations

## Related Structures

### `IntegerRing(F): FldFunRat -> RngPol`

### `RingOfIntegers(F): FldFunRat -> RngPol`

Given the rational function field $F$ this returns the polynomial ring from which $F$ was constructed as its field of fractions.

### `BaseRing(F): FldFunRat -> Rng`

### `CoefficientRing(F): FldFunRat -> Rng`

The coefficient ring of the (ring of integers of) the rational function field $F$.

### `Rank(F): FldFunRat -> RngIntElt`

The rank (number of indeterminates) of the rational function field $F$.

### `ValuationRing(F): FldFunRat -> RngVal`

Given the rational function field $F$ for which the coefficients come from a field, this returns the valuation ring of $F$ with respect to the valuation given by the degree. This valuation ring consists of those rational functions $g/h$ for which the degree of $h$ is greater than or equal to that of $g$.

### `ValuationRing(F, f): FldFunRat, RngUPolElt -> RngVal`

Given the rational function field $F$ for which the coefficients come from a field, and an irreducible polynomial $f$ in the ring of integers of $F$, this returns the valuation ring of $F$ with respect to the valuation associated with $f$. This valuation ring consists of those rational functions $g/h$ for which $f$ divides $g$ but not $h$.

### `Category(R): FldFunRat -> Cat`

### `Parent(R): FldFunRat -> Pow`

### `PrimeRing(R): FldFunRat -> Rng`

## 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).

```magma
> 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

```
