Macaulay2 » Documentation
Packages » Macaulay2Doc » rings » finite field extensions » toField(Ring)
next | previous | forward | backward | up | index | toc

# toField(Ring) -- declare that a ring is a field

- Function: toField
- Usage:
    `L = toField R`
- Inputs:
  - R, a ring
- Outputs:
  - L, a new ring, isomorphic to R, declared to be a field. Polynomial rings over it will support Gröbner basis operations.

## Description

    i1 : A = QQ[i]/(i^2+1);

    i2 : L = toField A

    o2 = L

    o2 : PolynomialRing

    i3 : B = L[x,y,z]

    o3 = B

    o3 : PolynomialRing

    i4 : I = ideal(i*x^2-y-i, i*y^2-z-i)

                   2             2
    o4 = ideal (i*x  - y - i, i*y  - z - i)

    o4 : Ideal of B

    i5 : gens gb I

    o5 = | y2+iz-1 x2+iy-1 |

                 1      2
    o5 : Matrix B  <-- B

If the engine eventually discovers that some nonzero element of L is not a unit, an error will be signalled. The user may then use getNonUnit to obtain a non-invertible element of L. If a ring probably is a field, it can be used as a field until a contradiction is found, and this may be a good way of discovering whether a ring is a field.

    i6 : A = ZZ[a]/(a^2+3);

    i7 : L = toField A

    o7 = L

    o7 : PolynomialRing

    i8 : L[x,y,z]

    o8 = L[x..z]

    o8 : PolynomialRing

    i9 : try gb ideal (a*x^2-y^2-z^2, y^3, z^3) else getNonUnit L

    o9 = a

    o9 : L

## See also

- getNonUnit -- retrieve a previously discovered non-unit
- try -- catch an error

## Ways to use this method:

- toField(Ring) -- declare that a ring is a field

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/Macaulay2Doc/functions/toField-doc.m2:40:0.