(I asked this question in a SAGE-specialized forum --see here--, but did not received an answer there sofar. I therefore decided to post the question also here.)
Let $R \rightarrow S$ be a ring map. I would like to check, using SAGE, if $S$ is finite as an $R$-module. 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 \rightarrow S$ is given by some explicit polynomial functions. Is there some reasonable way to perform this?
I tried to implement this in some naive way, using the methods for ring extensions described here:
k = GF(17)
R.<y> = k['y']
S.<z> = R['z']
L = S.over(R)
L.is_finite_over()
This produces the following error (in cocalc, sage 10.1):
1598 pass<br/>
1599 b = (<RingExtension_generic?>b)._base<br/>
-> 1600 raise NotImplementedError<br/>
1601 <br/>
1602 cpdef _is_finite_over(self, CommutativeRing base):<br/>
NotImplementedError:<br/>
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)?
Whatever the reason for the described error is, how do I check finiteness of $S$ as an $R$-module with SAGE?
NotImplementedErrormeans that it is not implemented.is_finite_overappears to be implemented in only very limited settings. Looking at the code, my guess is that it can't tell thatSis finite overR; if it could, it would returnTrue.I don't know what answer you're expecting. What is the relationship between
yandz?