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

# isAction -- test whether a list of square matrices induces an action

## Synopsis

• Usage:
isAction(I,actionList)
• Inputs:
• I, an ideal, the saturated ideal of a projective variety X in P^N
• actionList, a list, the list \{X_0,...,X_N\} \, of maps M\to M(1) for some module M
• Outputs:
• v, ,

## Description

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

## Ways to use isAction :

• isAction(Ideal,List)

## For the programmer

The object isAction is .