Finiteness of extension of rings

asked 2023-12-30 22:42:56 +0100

AlexI gravatar image

Recall that an extension of commutative unital rings R \subseteq S is finite, when S is finite as an R-module. I would like to check this property with SAGE for particular ring extensions. In my case, R and S can be taken as polynomial rings in finitely many variables over a fixed finite field and the map R --> S is given by some explicit polynomial functions. Is there some reasonable way to perform this (with, say, Sage 10.1 in cocalc)?

I tried to implement this in some naive way, using the methods for ring extensions described at (the webpage http :// sporadic.stanford.edu/reference/rings/sage/rings/ring_extension. html --> please delete the spaces -- for some reason, I am not allowed to publish links) :

k = GF(17)
R.<y> = k['y']
S.<z> = R['z']
L = S.over(R)
L.is_finite_over()

This approach runs into the following problem. The output (in cocalc, sage 10.1) is an error:

File /ext/sage/10.1/src/sage/rings/ring_extension.pyx:1600, in sage.rings.ring_extension.RingExtension_generic.is_finite_over()
1598             pass
1599         b = (<RingExtension_generic?>b)._base
-> 1600     raise NotImplementedError
   1601 
1602 cpdef _is_finite_over(self, CommutativeRing base):
NotImplementedError:

I do not understand, what causes the error. According to the description of "is_finite_over", the output in this minimal example should be simply "False". Note that when I replace R by (say) GF(5^2) and S by GF(5^4) then the output is "true", which is correct. Can it be that the function "is_finite_over" only works for field extensions, not general ring extensions (in contrast to what is said under the link)?

edit retag flag offensive close merge delete