restart loadPackage "VersalDeformations" --Example I: A1 singularity S=QQ[x,y,z] F=matrix {{x^2+y^2-z^2}} --no relations syz F CT^1(F) CT^2(F) (FL,RL,GL,CL)=versalDeformation(F); sum FL --the perturbation matrix sum RL --the lifted relations sum GL --the equations for the base space sum CL --something related to T2 restart loadPackage "VersalDeformations" --Example II: the cone over the rational normal curve of degree 3 S=QQ[x_1..x_4,MonomialOrder=>Lex] F=matrix {{x_1*x_3-x_2^2,x_2*x_4-x_3^2,x_1*x_4-x_2*x_3}} syz F CT^1(F) sum((firstOrderDeformations(F,syz F, CT^1(F)))_0) CT^2(F) (FL,RL,GL,CL)=versalDeformation(F); sum FL --the perturbation matrix sum RL --the lifted relations sum GL --the equations for the base space sum CL --something related to T2 (sum FL)*(sum RL) --Example III: the cone over the rational normal curve S=QQ[x_1..x_5,MonomialOrder=>Lex] F=matrix {{x_1*x_3-x_2^2,x_2*x_4-x_3^2,x_3*x_5-x_4^2,x_1*x_4-x_2*x_3,x_2*x_5-x_3*x_4, x_1*x_5-x_2*x_4}} syz F CT^1(F) transpose sum((firstOrderDeformations(F,syz F, CT^1(F)))_0) CT^2(F) (FL,RL,GL,CL)=versalDeformation(F); transpose sum FL --the perturbation matrix sum RL --the lifted relations sum GL --the equations for the base space sum CL --something related to T2 --check the deformation equation: (transpose ((sum FL)*(sum RL))) (transpose ((sum FL)*(sum RL)))+((sum CL)*(sum GL)) --the base space: sum GL decompose ideal sum GL --Example IV: a toric Fano threefold S=QQ[x_1..x_6,y_0,y_1,y_2] F=matrix{{x_1*x_3-x_2*y_0,x_2*x_4-x_3*y_0,x_3*x_5-x_4*y_0,x_4*x_6-x_5*y_0, x_5*x_1-x_6*y_0,x_6*x_2-x_1*y_0,x_1*x_4-y_0^2,x_2*x_5-y_0^2, x_3*x_6-y_0^2,y_1*y_2-y_0^2}} --do everything in degree 0 CT^1(0,F) CT^2(0,F) (FL,RL,GL,CL)=versalDeformation(F,CT^1(0,F),CT^2(0,F),HighestOrder=>4); --stop after order 4 --the base space: sum GL decompose ideal sum GL --the versal family transpose sum FL --let's deform onto one component decompose ideal sum GL A=(coefficientRing ring FL_0)[s] sublist=apply(gens ring FL_0,g->(if g==t_19 or g==t_20 then return g=>s;g=>0)) F1=apply(FL,f->sub(f,sublist)); R1=apply(RL,f->sub(f,sublist)); G1=apply(GL,f->sub(f,sublist)); C1=apply(CL,f->sub(f,sublist)); (F2,R2,G2,C2)=versalDeformation(F1,R1,G1,C1,SmartLift=>false,Verbosity=>4); transpose sum F2 J=ideal sub(sum F2,s=>1) CT^2(0,gens J) --Hilbert Scheme example: twisted cubics S=QQ[x,y,z,w] F=matrix {{x*z,y*z,z^2,x^3}} (FL,RL,GL,CL)=localHilbertScheme(F); sum FL sum GL