Let S be the homogeneous coordinate ring of P^N, and x_0,...,x_N be the coordinates. Let \pi:X\to P^n be a Noether normalization. Note that giving a coherent sheaf F on X is equivalent to giving a sheaf G (=\pi_{*}F) on P^n together with multiplication maps X_i (=\pi_{*} (\cdot x_i)) : G\to G(1) such that X_i X_j = X_j X_i for every i, j, and f(X_0, ..., X_n)=0 for every f \in I. In other words, \{X_0,...,X_N\} \, gives an action which makes G into an O_X-module.
This method checks first that actionList is composed of commuting matrices, and then checks whether f(X_0,...,X_n)=0 for each generator f of I.
The following is an example when C is a conic, F=O_C, and \pi\, is a linear projection at the coordinate point [0:0:1]. In the case, the pushforward \pi_{*}F = O_{P^1} \oplus O_{P^1}(-1).
i1 : S=QQ[x_0..x_2]; R=QQ[y_0,y_1]; |
i3 : I=ideal(x_0*x_1-x_2^2); o3 : Ideal of S |
i4 : M=R^{{1:0},{1:-1}}; |
i5 : X0=map(M**R^{1},M,{{y_0,0},{0,y_0}}) o5 = {-1} | y_0 0 | {0} | 0 y_0 | 2 2 o5 : Matrix R <--- R |
i6 : X1=map(M**R^{1},M,{{y_1,0},{0,y_1}}) o6 = {-1} | y_1 0 | {0} | 0 y_1 | 2 2 o6 : Matrix R <--- R |
i7 : X2=map(M**R^{1},M,{{0,y_0*y_1},{1,0}}) o7 = {-1} | 0 y_0y_1 | {0} | 1 0 | 2 2 o7 : Matrix R <--- R |
i8 : isAction(I,{X0,X1,X2}) o8 = true |
The object isAction is a method function.