Macaulay2 » Documentation
Packages » PencilsOfQuadrics :: searchUlrich
next | previous | forward | backward | up | index | toc

searchUlrich -- searching an Ulrich module of smallest possible rank, or an Ulrich module of given rank.

Description

M is assumed to be a Clifford module with a Morita bundle F_u, i.e., associated to a maximal isotropic subspace u.

Let G be a coherent sheaf on a hyperelliptic curve E, and N be the corresponding module over CI=P/ideal(q1,q2). Using the Tate resolution of u in a complete intersection of 2 quadrics, one can compute the graded Betti numbers of N by the rank of cohomology groups of G twisted by the Morita bundle F_u. In particular, an Ulrich module on CI corresponds to a sheaf G on E such that G \otimes F_u is an Ulrich bundle on E.

From this perspective, Eisenbud and Schreyer conjectured that it is the case when G is a general vector bundle of rank \ge 2 of suitable degree.

searchUlrich looks for a candidate G of rank 2 on E and returns a module on S supported on a CI V(q_1,q_2) \subset PP^{2g+1}.

When r is indicated, searchUlrich looks for a candidate G of rank r on E and returns a module on S supported on a CI V(q_1,q_2) \subset PP^{2g+1}.

i1 : kk=ZZ/101;
i2 : setRandomSeed 0
 -- setting random seed to 0

o2 = 0
i3 : g=2;
i4 : rNP=randNicePencil(kk,g);
i5 : S=rNP.qqRing;
i6 : R=rNP.baseRing;
i7 : qq=rNP.quadraticForm;
i8 : qs=apply(2,i->diff(S_(2*g+2+i),qq))

                     2     2               2                             
o8 = {x y  + x y  - z , 35x  + 39x x  - 40x  - 13x y  + 44x y  + 39x y  -
       0 0    1 1    1     0      0 1      1      0 0      1 0      0 1  
     ------------------------------------------------------------------------
                                                     2                  
     37x y  - 30x z  + 42x z  + 29y z  + 48y z  - 44z  + x z  - 43x z  -
        1 1      0 1      1 1      0 1      1 1      1    0 2      1 2  
     ------------------------------------------------------------------------
                                  2
     6y z  + 23y z  + 31z z  - 38z }
       0 2      1 2      1 2      2

o8 : List
i9 : Mu1=rNP.matFactu1;

             8      8
o9 : Matrix S  <-- S
i10 : Mu2=rNP.matFactu2;

              8      8
o10 : Matrix S  <-- S
i11 : M=cliffordModule(Mu1,Mu2,R)

o11 = CliffordModule{...6...}

o11 : CliffordModule
i12 : elapsedTime Ulr = searchUlrich(M,S);
 -- .989721s elapsed
i13 : betti freeResolution Ulr

             0  1 2
o13 = total: 8 16 8
          0: 8 16 8

o13 : BettiTally
i14 : ann Ulr == ideal qs

o14 = true
i15 : elapsedTime Ulr3 = searchUlrich(M,S,3);
 -- 4.8437s elapsed
i16 : betti freeResolution Ulr3

              0  1  2
o16 = total: 12 24 12
          0: 12 24 12

o16 : BettiTally
i17 : ann Ulr3 == ideal qs

o17 = true

Caveat

searchUlrich uses the method randomLineBundle, so the ground field kk has to be finite.

See also

Ways to use searchUlrich:

  • searchUlrich(CliffordModule,Ring)
  • searchUlrich(CliffordModule,Ring,ZZ)

For the programmer

The object searchUlrich is a method function.


The source of this document is in PencilsOfQuadrics.m2:3389:0.