One Hat Cyber Team
Your IP :
216.73.216.115
Server IP :
194.44.31.54
Server :
Linux zen.imath.kiev.ua 4.18.0-553.77.1.el8_10.x86_64 #1 SMP Fri Oct 3 14:30:23 UTC 2025 x86_64
Server Software :
Apache/2.4.37 (Rocky Linux) OpenSSL/1.1.1k
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
Macaulay2
/
Core
/
Edit File:
fano.m2
-- Copyright 1997 by Michael Stillman and David Eisenbud -- -- The code here should stay the SAME as the code -- in the tutorial 'Fano.m2', if that is possible. -- needs "matrix1.m2" needs "genmat.m2" Fano = method() -- Grassmannian = method() Fano(ZZ,Ideal,Ring) := Ideal => (k,X,GR) -> ( -- Get info about the base ring of X: -- The coefficient ring (to make new rings of -- the same characteristic, for example) -- and the number of variables KK:=coefficientRing ring X; r := (numgens ring X) - 1; -- Next make private variables for our -- intermediate rings, to avoid interfering -- with something outside: t:=symbol t; p:=symbol p; -- And rings S1 := KK[t_0..t_k]; S2 := KK[p_0..p_(k*r+k+r)]; S := tensor(S1,S2); -- Over S we have a generic point of a generic -- line, represented by a row vector, which -- we use to define a map from the base ring -- of X F := map(S,ring X, genericMatrix(S,S_0,1,k+1)* genericMatrix(S,S_(k+1),k+1,r+1) ); -- We now apply F to the ideal of X FX := F X; -- and the condition we want becomes the condition -- that FX vanishes identically in the t_i. -- The following line produces the matrix of -- coefficients of the monomials in the -- variables labelled 0..k: cFX := last coefficients (generators FX, Variables => 0..k); -- We can get rid of the variables t_i -- to ease the computation: cFX = substitute(cFX, S2); -- The ring we want is the quotient S2bar := S2/ideal cFX; -- Now we want to move to the Grassmannian, -- represented by the ring GR -- We define a map sending the variables of GR -- to the minors of the generic matrix in the -- p_i regarded as elements of S1bar gr := map(S2bar,GR, exteriorPower(k+1, genericMatrix(S2bar,S2bar_0,k+1,r+1) ) ); -- and the defining ideal of the Fano variety is kernel gr ) Fano(ZZ, Ideal) := Ideal => (k,X) -> ( KK:=coefficientRing ring X; r := (numgens ring X) - 1; -- We can specify a private ring with binomial(r+1,k+1) -- variables as follows M := monoid [Variables => binomial(r+1,k+1)]; GR := KK M; -- the work is done by Fano(k,X,GR) ) -- Grassmannian(ZZ,ZZ,Ring) := Ideal => (k,r,R) ->( -- KK := coefficientRing R; -- RPr := KK[Variables => r+1]; -- Pr := ideal(0_RPr); -- substitute( Fano(k,Pr) , vars R ) -- ) -- -- Grassmannian(ZZ,ZZ) := Ideal => (k,r) -> ( -- R := ZZ/31991[ -- vars(0..(binomial(r+1,k+1)-1)) -- ]; -- Grassmannian(k,r,R) -- ) -- Local Variables: -- compile-command: "make -C $M2BUILDDIR/Macaulay2/m2 " -- End:
Simpan