# Places of function fields: rational#

class sage.rings.function_field.place_rational.FunctionFieldPlace_rational(parent, prime)[source]#

Places of rational function fields.

degree()[source]#

Return the degree of the place.

EXAMPLES:

```sage: F.<x> = FunctionField(GF(2))
sage: O = F.maximal_order()
sage: i = O.ideal(x^2 + x + 1)
sage: p = i.place()
sage: p.degree()
2
```
```>>> from sage.all import *
>>> F = FunctionField(GF(Integer(2)), names=('x',)); (x,) = F._first_ngens(1)
>>> O = F.maximal_order()
>>> i = O.ideal(x**Integer(2) + x + Integer(1))
>>> p = i.place()
>>> p.degree()
2
```
is_infinite_place()[source]#

Return `True` if the place is at infinite.

EXAMPLES:

```sage: F.<x> = FunctionField(GF(2))
sage: F.places()
[Place (1/x), Place (x), Place (x + 1)]
sage: [p.is_infinite_place() for p in F.places()]
[True, False, False]
```
```>>> from sage.all import *
>>> F = FunctionField(GF(Integer(2)), names=('x',)); (x,) = F._first_ngens(1)
>>> F.places()
[Place (1/x), Place (x), Place (x + 1)]
>>> [p.is_infinite_place() for p in F.places()]
[True, False, False]
```
local_uniformizer()[source]#

Return a local uniformizer of the place.

EXAMPLES:

```sage: F.<x> = FunctionField(GF(2))
sage: F.places()
[Place (1/x), Place (x), Place (x + 1)]
sage: [p.local_uniformizer() for p in F.places()]
[1/x, x, x + 1]
```
```>>> from sage.all import *
>>> F = FunctionField(GF(Integer(2)), names=('x',)); (x,) = F._first_ngens(1)
>>> F.places()
[Place (1/x), Place (x), Place (x + 1)]
>>> [p.local_uniformizer() for p in F.places()]
[1/x, x, x + 1]
```
residue_field(name=None)[source]#

Return the residue field of the place.

EXAMPLES:

```sage: F.<x> = FunctionField(GF(2))
sage: O = F.maximal_order()
sage: p = O.ideal(x^2 + x + 1).place()
sage: k, fr_k, to_k = p.residue_field()                                     # needs sage.rings.function_field
sage: k                                                                     # needs sage.rings.function_field
Finite Field in z2 of size 2^2
sage: fr_k                                                                  # needs sage.rings.function_field
Ring morphism:
From: Finite Field in z2 of size 2^2
To:   Valuation ring at Place (x^2 + x + 1)
sage: to_k                                                                  # needs sage.rings.function_field
Ring morphism:
From: Valuation ring at Place (x^2 + x + 1)
To:   Finite Field in z2 of size 2^2
```
```>>> from sage.all import *
>>> F = FunctionField(GF(Integer(2)), names=('x',)); (x,) = F._first_ngens(1)
>>> O = F.maximal_order()
>>> p = O.ideal(x**Integer(2) + x + Integer(1)).place()
>>> k, fr_k, to_k = p.residue_field()                                     # needs sage.rings.function_field
>>> k                                                                     # needs sage.rings.function_field
Finite Field in z2 of size 2^2
>>> fr_k                                                                  # needs sage.rings.function_field
Ring morphism:
From: Finite Field in z2 of size 2^2
To:   Valuation ring at Place (x^2 + x + 1)
>>> to_k                                                                  # needs sage.rings.function_field
Ring morphism:
From: Valuation ring at Place (x^2 + x + 1)
To:   Finite Field in z2 of size 2^2
```
valuation_ring()[source]#

Return the valuation ring at the place.

EXAMPLES:

```sage: K.<x> = FunctionField(GF(2)); _.<Y> = K[]
sage: L.<y> = K.extension(Y^2 + Y + x + 1/x)                                # needs sage.rings.function_field
sage: p = L.places_finite()[0]                                              # needs sage.rings.function_field
sage: p.valuation_ring()                                                    # needs sage.rings.function_field
Valuation ring at Place (x, x*y)
```
```>>> from sage.all import *
>>> K = FunctionField(GF(Integer(2)), names=('x',)); (x,) = K._first_ngens(1); _ = K['Y']; (Y,) = _._first_ngens(1)
>>> L = K.extension(Y**Integer(2) + Y + x + Integer(1)/x, names=('y',)); (y,) = L._first_ngens(1)# needs sage.rings.function_field
>>> p = L.places_finite()[Integer(0)]                                              # needs sage.rings.function_field
>>> p.valuation_ring()                                                    # needs sage.rings.function_field
Valuation ring at Place (x, x*y)
```