The function takes the first map psi of a matrix factorization and the shape of the monad and realizes a random monad with such shape, from which the ideal of a curve is then constructed. The shape B should be a subtable of betti psi
i1 : p=32009; |
i2 : Fp=ZZ/p; |
i3 : S=Fp[x_0..x_4]; |
i4 : time singC=singularCurveInP4(S,12,14);
-- used 4.29716 seconds
o4 : Ideal of S
|
i5 : omegaSingC=Ext^2(singC,S^{ -5}); -- canonical module of C
|
i6 : fomegaSing=res omegaSingC; |
i7 : sM=S^{ -5}**coker transpose fomegaSing.dd_3;
|
i8 : (psi,phi)=matrixFactorizationFromModule(sM); |
i9 : betti psi
0 1
o9 = total: 17 17
0: 15 2
1: 2 15
o9 : BettiTally
|
i10 : monadShape=betti map(S^{2:-1},S^{2:-1,2:-2},0)
0 1
o10 = total: 2 4
0: . 2
1: 2 2
o10 : BettiTally
|
i11 : IC=idealFromMatFac(psi, monadShape); o11 : Ideal of S |
i12 : betti res IC
0 1 2 3 4
o12 = total: 1 9 18 12 2
0: 1 . . . .
1: . . . . .
2: . 4 . . .
3: . 5 18 12 2
o12 : BettiTally
|
The function is implemented specifically for the cases of interest of the paper and might produce bizarre results, if any, in other non-verified cases.