next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Macaulay2Doc :: toField(Ring)

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

Synopsis

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, y, 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