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.