next | previous | forward | backward | up | index | toc

# kernel(RingMap) -- kernel of a ringmap

## Synopsis

• Function: kernel
• Usage:
kernel f
• Inputs:
• f, , R --> S
• Optional inputs:
• SubringLimit => an integer, default value infinity, stop the computation after this many elements of the kernel have been found
• Outputs:
• an ideal, an ideal of R

## Description

 i1 : R = QQ[a..d]; i2 : S = QQ[s,t]; i3 : F = map(S,R,{s^3, s^2*t, s*t^2, t^3}) 3 2 2 3 o3 = map (S, R, {s , s t, s*t , t }) o3 : RingMap S <--- R i4 : ker F 2 2 o4 = ideal (c - b*d, b*c - a*d, b - a*c) o4 : Ideal of R i5 : G = map(S,R,{s^5, s^3*t^2-t, s*t-s, t^5}) 5 3 2 5 o5 = map (S, R, {s , s t - t, s*t - s, t }) o5 : RingMap S <--- R i6 : ker(G, SubringLimit=>1) 2 10 2 7 2 7 2 2 4 3 5 6 3 3 o6 = ideal(a c + 10a b*c - 5a c + 25a b c + 2a c - 5a*b*c - 5a*b c + ------------------------------------------------------------------------ 6 5 2 3 3 2 2 3 4 2 2 3 2 5a*c - a*b + 10a b c - 15a b*c - 5a*b c - 5a*b + 25a b c - 5a c - ------------------------------------------------------------------------ 5 4 3 2 2 2 c + a - 10a*b + 20a b*c - 10a*b + 5a c - 5a*b - a) o6 : Ideal of R
In the case when everything is homogeneous, Hilbert functions are used to speed up the computations.

## Caveat

It should be possible to interrupt the computation and restart it, but this has not yet been implemented.