Changeset 2dbc42 in git
- Timestamp:
- Apr 26, 2005, 7:19:41 PM (18 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'f875bbaccd0831e36aaed09ff6adeb3eb45aeb94')
- Children:
- 128cc4a1980147be32a8058a40a0f77f8ff85537
- Parents:
- bc80a9d82c63066b897f69d21b4b613d17162dd2
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/spcurve.lib
rbc80a9 r2dbc42 1 1 // (anne, last modified 31.5.99) 2 2 ///////////////////////////////////////////////////////////////////////////// 3 version="$Id: spcurve.lib,v 1.1 7 2002-05-17 12:20:44 anneExp $";3 version="$Id: spcurve.lib,v 1.18 2005-04-26 17:19:41 Singular Exp $"; 4 4 category="Singularities"; 5 5 info=" … … 188 188 and t1 is a presentation of the space of first order deformations 189 189 of i ((M,t1) as returned by the procedure matrixT1) 190 CREATE: new basering with name rneu 191 RETURN: ideal in rneu describing the semiuniversaldeformation of i;190 RETURN: new ring in which the ideal semi describing the semiuniversal 191 deformation of i; 192 192 if the optional third argument is given, the perturbation matrix 193 of the semiuniversal deformation is returned .193 of the semiuniversal deformation is returned instead of the ideal. 194 194 NOTE: The current basering should not contain any variables named 195 195 A(j) where j is some integer! … … 250 250 if(size(#)>0) 251 251 { 252 matrix result=O;252 matrix semi=O; 253 253 } 254 254 else 255 255 { 256 ideal result=minor(O,gt); 257 } 258 export rneu; 259 keepring rneu; 260 return(result); 256 ideal semi=minor(O,gt); 257 } 258 export semi; 259 return(rneu); 261 260 } 262 261 example … … 266 265 matrix M=isCMcod2(curve); 267 266 list l=matrixT1(M,3); 268 semiCMcod2(l[1],std(l[2])); 267 def rneu=semiCMcod2(l[1],std(l[2])); 268 setring rneu; 269 semi; 269 270 } 270 271 ///////////////////////////////////////////////////////////////////////////// … … 318 319 matrix M=isCMcod2(curve); 319 320 list l=matrixT1(M,3); 320 def sem=semiCMcod2(l[1],std(l[2]));321 basering;322 discr(sem ,3);321 def rneu=semiCMcod2(l[1],std(l[2])); 322 setring rneu; 323 discr(semi,3); 323 324 } 324 325 ///////////////////////////////////////////////////////////////////////////// … … 567 568 n=1 : only non-constant deformations of non-negative weight @* 568 569 n=2 : all deformations of positive weight @* 569 As an optional parameter the name of a new ring may be570 specified.571 570 ASSUME: M is a presentation matrix of a Cohen-Macaulay codimension 2 572 571 ideal and t1 is its T1 space in matrix notation 573 CREATE: new basering (default name: rneu); a different name for this ring 574 may be given as a 4th parameter 575 RETURN: list, consisting of a presentation matrix describing the deformation 576 given by the generators of T1 of non-negative/positive weight 577 and the weight vector for the new variables 572 RETURN: new ring containing a list posw, consisting of a presentation 573 matrix describing the deformation given by the generators of T1 574 of non-negative/positive weight and the weight vector for the new 575 variables 578 576 NOTE: The current basering should not contain any variables named 579 577 T(i) where i is some integer! … … 693 691 matrix O[gt+1][gt]=n; 694 692 //--------------------------------------------------------------------------- 695 // Keep the ring and return the matrix 696 //--------------------------------------------------------------------------- 697 if (defined(newname)>1) 698 { 699 def `newname`=rneu; 700 setring `newname`; 701 export `newname`; 702 keepring `newname`; 703 } 704 else 705 { 706 export rneu; 707 keepring rneu; 708 } 709 list ret=O,iv; 710 return(ret); 693 // Keep the matrix and return the ring in which it lives 694 //--------------------------------------------------------------------------- 695 list posw=O,iv; 696 export posw; 697 return(rneu); 711 698 } 712 699 example … … 716 703 matrix M=isCMcod2(curve); 717 704 list l=matrixT1(M,3); 718 list li=posweight(l[1],std(l[2]),0); 719 pmat(li[1]); 720 li[2]; 705 def rneu=posweight(l[1],std(l[2]),0); 706 setring rneu; 707 pmat(posw[1]); 708 posw[2]; 721 709 } 722 710 ///////////////////////////////////////////////////////////////////////////// … … 733 721 ASSUME: M is a quasihomogeneous n x (n+1) matrix where the n minors define 734 722 an isolated space curve singularity 735 CREATE: 2 new rings (default names: rneu and reneu) 736 different ring names may be specified as a 2nd parameter 737 RETURN: coefficient matrix representing the kernel of the Kodaira- 738 Spencer map of the family of non-negative deformations 739 having the given singularity as special fibre 723 RETURN: new ring containing the coefficient matrix KS representing 724 the kernel of the Kodaira-Spencer map of the family of 725 non-negative deformations having the given singularity as 726 special fibre 740 727 NOTE: * the initial basering should not contain variables with name 741 728 e(i) or T(i), since those variable names will internally be … … 903 890 // matrix M, compute T1 and pass again to the ring with the variables e(i) 904 891 //-------------------------------------------------------------------------- 905 if (defined(newname)>1) 906 { 907 list li=posweight(M,mo,2,newname+"1"); 908 def rneu=basering; 909 } 910 else 911 { 912 list li=posweight(M,mo,2); 913 } 892 def rneu=posweight(M,mo,2); 893 setring rneu; 894 list li=posw; 914 895 if (size(li)<=1) 915 896 { … … 1068 1049 } 1069 1050 option(set,optvec); 1070 // make sure that the exported ring has the right name 1071 if (defined(newname)>1) 1072 { 1073 def `newname`=reneu; 1074 setring `newname`; 1075 export `newname`; 1076 keepring `newname`; 1077 } 1078 else 1079 { 1080 export reneu; 1081 keepring reneu; 1082 } 1083 return(ret[2]); 1051 def KS=ret[2]; 1052 export KS; 1053 return(reneu); 1084 1054 } 1085 1055 example … … 1087 1057 ring r=0,(x,y,z),ds; 1088 1058 matrix M[3][2]=z-x^7,0,y^2,z,x^9,y; 1089 def KS=KSpencerKernel(M,"ar"); 1059 def rneu=KSpencerKernel(M,"ar"); 1060 setring rneu; 1061 basering; 1090 1062 print(KS); 1091 nameof(basering);1092 basering;1093 1063 } 1094 1064 ///////////////////////////////////////////////////////////////////////////
Note: See TracChangeset
for help on using the changeset viewer.