Magma

MAGMA Computational Algebra System

Magma
 •  How to get it
 •  Download
 •  Online Demo
 
Resources
 •  Online Help
 •  Discovering Mathematics with Magma
 •  Citations
 •  How to cite Magma
 •  Links
 •  Contact us
 
[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Predicates

This subsection contains tests for several important properties of coherent sheaves. It contains an isomorphism test that, combined with DivisorToSheaf, can be used as a test for linear equivalence of Cartier divisors.

IsLocallyFree(S) : ShfCoh -> BoolElt, RngIntElt
S is a sheaf on ordinary projective scheme X. Returns whether S is a locally free sheaf on X and, if so, also returns its rank.

The assumption here, which again is not checked, is that X is equidimensional (all of its primary components have the same dimension), locally Cohen-Macaulay and connected. The last is to guarantee that S has the same rank everywhere if it is locally free.

The equidimensional and locally Cohen-Macaulay assumptions are in order that we can use cohomological duality and Serre's criterion over a Noether normalisation R0 for the coordinate ring of X. The assumptions and standard flatness properties mean that S is locally free over X iff it is locally free as a sheaf over P0 = Proj(R0), which is just a full projective space. Serre's criterion (see [Ser55]) says that the latter is true iff all intermediate cohomology rings Hi(P0, S(q)) vanish for q ll 0. If Mmax is the maximal graded module of S, this translates to all intermediate Ext(Mmax, R0) R0-modules being finite length, which in turn translates to the dual complex to the minimal free resolution of Mmax as an R0-module having finite-length homology groups at all intermediate places. Rather than actually computing homology modules, we can further translate this condition into a number of equality tests for Hilbert polynomials of cokernels of the maps between free modules in the dual complex. This gives the final algorithm used here, which seems to be fairly fast and efficient in practise.

IsIsomorphic(S,T) : ShfCoh, ShfCoh -> BoolElt, ShfHom
IsIsomorphicWithTwist(S,T) : ShfCoh, ShfCoh -> BoolElt, RngIntElt, ShfHom
For S and T coherent sheaves on the same base scheme X, returns whether S is isomorphic to T or (for the second intrinsic) to a Serre twist T(d) of T. In either case, an isomorphism returns, if one exists and for the second intrinsic,the twist d is also returned as the second return value (so the isomorphism is between S and T(d)).

For the implementation, we first do a quick Hilbert polynomial check and then a Betti number check for the maximal modules Mmax and Nmax of S and T. This gives necessary conditions for an isomorphism and the possible d in the "with twist" case. Then we look for an isomorphism in the finite dimensional space of homomorphisms between Mmax and Nmax. We could have chosen to work with the homomorphisms between the truncated modules with gradings ≥N for some N greater than or equal to the regularity of any defining modules for the two sheaves, but these have much larger presentations in general so the computation of homomorphisms is slower.

To look for isomorphisms, we look at the "zero degree" subblocks of the matrices giving a basis to the space of all homomorphisms. This reduces the problem to determining whether there is an invertible matrix in a space of n x n matrices over the base field. This is a known difficult problem in general and currently our implementation is rather weak at this point. We hope to improve it for future releases.

IsArithmeticallyCohenMacaulay(S) : ShfCoh -> BoolElt
S is a sheaf on ordinary projective scheme X. Returns whether the maximal graded module Mmax of S is a Cohen-Macaulay module over the coordinate ring of X.

X is called arithmetically Cohen-Macaulay iff its coordinate ring is a Cohen-Macaulay ring. This is then true iff its coordinate ring is equal to the maximal module of OX and the intrinsic returns true for OX.

This is a fairly straightforward computation once Mmax has been determined. If we already know the structure of Mmax as a module over a Noether normalisation of the coordinate ring of X, it is an immediate freeness check. Otherwise it is a straightforward depth calculation from a minimal free resolution of Mmax as a graded module over the coordinate ring of the ambient of X.

 [Next][Prev] [Right] [Left] [Up] [Index] [Root]
                       

Version: V2.16 of Mon Nov 16 15:04:45 EST 2009

Valid HTML 4.01! Valid CSS!