Changeset 0b59f5 in git
- Timestamp:
- Dec 13, 1999, 4:33:50 PM (23 years ago)
- Branches:
- (u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
- Children:
- 82ed244cff3158b7a79a6eed4e0548d485960cfe
- Parents:
- 925cab8e04ecb2f3c2e451b913c11bcac28b2374
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/classify.lib
r925cab r0b59f5 1 e// $Id: classify.lib,v 1. 39 1999-12-09 12:41:44 obachman Exp $1 e// $Id: classify.lib,v 1.40 1999-12-13 15:33:44 obachman Exp $ 2 2 // KK, last modified: 04.04.1998 3 3 /////////////////////////////////////////////////////////////////////////////// 4 4 5 version = "$Id: classify.lib,v 1. 39 1999-12-09 12:41:44 obachman Exp $";5 version = "$Id: classify.lib,v 1.40 1999-12-13 15:33:44 obachman Exp $"; 6 6 info=" 7 LIBRARY: classify.lib P ROCEDURES FOR THE ARNOLD-CLASSIFIER OF SINGULARITIES7 LIBRARY: classify.lib Procedures for the Arnold-Classifier of Singularities 8 8 9 9 OVERVIEW: -
Singular/LIB/deform.lib
r925cab r0b59f5 1 // $Id: deform.lib,v 1.1 8 1999-08-19 15:19:52obachman Exp $1 // $Id: deform.lib,v 1.19 1999-12-13 15:33:45 obachman Exp $ 2 2 // author: Bernd Martin email: martin@math.tu-cottbus.de 3 3 //(bm, last modified 4/98) 4 4 /////////////////////////////////////////////////////////////////////////////// 5 version="$Id: deform.lib,v 1.1 8 1999-08-19 15:19:52obachman Exp $";5 version="$Id: deform.lib,v 1.19 1999-12-13 15:33:45 obachman Exp $"; 6 6 info=" 7 7 LIBRARY: deform.lib PROCEDURES FOR COMPUTING MINIVERSAL DEFORMATION … … 84 84 setring Po; 85 85 poly X_s = product(maxideal(1)); 86 //------- reproduce T 12 ------------------------------------------------------87 list Ls = T 12(Fo,1);86 //------- reproduce T_12 ----------------------------------------------------- 87 list Ls = T_12(Fo,1); 88 88 matrix Ro = Ls[6]; // syz(i) 89 89 matrix InfD = Ls[5]; // matrix of inf. deformations 90 90 matrix PreO = Ls[7]; // representation of (Syz/Kos)* 91 91 module PreO'= std(PreO); 92 module PreT = Ls[2]; // representation of modT 2 (sb)92 module PreT = Ls[2]; // representation of modT_2 (sb) 93 93 if(dim(PreT)==0) 94 94 { 95 matrix kbT 2 = kbase(PreT); // kbase of T295 matrix kbT_2 = kbase(PreT); // kbase of T_2 96 96 } 97 97 else 98 98 { 99 matrix kbT 2 ; // kbase of T2 : empty100 } 101 @t1 = Ls[3]; // vdim of T 1102 @t2 = Ls[4]; // vdim of T 299 matrix kbT_2 ; // kbase of T_2 : empty 100 } 101 @t1 = Ls[3]; // vdim of T_1 102 @t2 = Ls[4]; // vdim of T_2 103 103 kill Ls; 104 104 t1' = @t1; 105 105 if( @t1==0) { dbprint(p,"// rigit!"); return();} 106 106 if( @t2==0) { @smooth=1; dbprint(p,"// smooth base space");} 107 dbprint(p,"// ready: T 1 and T2");107 dbprint(p,"// ready: T_1 and T_2"); 108 108 @colR = ncols(Ro); 109 109 //----- test: quasi-homogeneous, choice of inf. def.-------------------------- … … 111 111 @jv = 1..@t1; 112 112 if (@degrees!="") 113 { dbprint(p-1,"// T 1 is quasi-homogeneous represented with weight-vector",113 { dbprint(p-1,"// T_1 is quasi-homogeneous represented with weight-vector", 114 114 @degrees); 115 115 } … … 160 160 module PreO'= imap(Po,PreO'); attrib(PreO',"isSB",1); 161 161 module PreT = imap(Po,PreT); attrib(PreT,"isSB",1); 162 matrix kbT 2 = imap(Po,kbT2);162 matrix kbT_2 = imap(Po,kbT_2); 163 163 matrix Mon = fetch(`myPx`,Mon); 164 164 matrix F_R = fetch(`myPx`,F_R); … … 178 178 Cup = jet(Cup,@d,@jv); 179 179 } 180 //------- express obstructions in kbase of T 2 --------------------------------180 //------- express obstructions in kbase of T_2 -------------------------------- 181 181 if ( @noObstr==0 ) 182 182 { Cup' = reduce(Cup,PreO'); … … 187 187 } 188 188 Cup = lift(PreO,Cup); 189 MASS = lift_rel_kb(Cup,PreT,kbT 2,X_s);189 MASS = lift_rel_kb(Cup,PreT,kbT_2,X_s); 190 190 dbprint(p-3,"// next MASSEY-products:",MASS-jet(MASS,@d-1,@jv)); 191 191 if (MASS==transpose(Js)) -
Singular/LIB/general.lib
r925cab r0b59f5 1 // $Id: general.lib,v 1.2 2 1999-10-22 09:07:07obachman Exp $1 // $Id: general.lib,v 1.23 1999-12-13 15:33:46 obachman Exp $ 2 2 //GMG, last modified 18.6.99 3 3 /////////////////////////////////////////////////////////////////////////////// 4 4 5 version="$Id: general.lib,v 1.2 2 1999-10-22 09:07:07obachman Exp $";5 version="$Id: general.lib,v 1.23 1999-12-13 15:33:46 obachman Exp $"; 6 6 info=" 7 7 LIBRARY: general.lib PROCEDURES OF GENERAL TYPE 8 8 9 9 PROCEDURES: 10 A_Z(\"a\",n); string a,b,... of n comma sep erated letters10 A_Z(\"a\",n); string a,b,... of n comma separated letters 11 11 ASCII([n,m]); string of printable ASCII characters (number n to m) 12 12 binomial(n,m[,../..]); n choose m (type int), [type string/type number] … … 32 32 "USAGE: A_Z(\"a\",n); a any letter, n integer (-26<= n <=26, !=0) 33 33 RETURN: string of n small (if a is small) or capital (if a is capital) 34 letters, comma sep erated, beginning with a, in alphabetical34 letters, comma separated, beginning with a, in alphabetical 35 35 order (or revers alphabetical order if n<0) 36 36 EXAMPLE: example A_Z; shows an example … … 95 95 { 96 96 string s1 = 97 " ! \" # $ 97 " ! \" # $ & ' ( ) * + , - . 98 98 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 99 99 / 0 1 2 3 4 5 6 7 8 9 : ; < = … … 137 137 "USAGE: binomial(n,k[,p]); n,k,p integers 138 138 RETURN: binomial(n,k); binomial coefficient n choose k, 139 - of type string (computed in characteristic 0)139 @* - of type string (computed in characteristic 0) 140 140 binomial(n,k,p); n choose k, computed in characteristic prime(p) 141 - of type number if a basering is present and prime(p)=char(basering)142 - of type string else141 @* - of type number if a basering is present and prime(p)=char(basering) 142 @* - of type string else 143 143 NOTE: In any characteristic, binomial(n,k) = coefficient of x^k in (1+x)^n 144 144 EXAMPLE: example binomial; shows an example -
Singular/LIB/graphics.lib
r925cab r0b59f5 1 // $Id: graphics.lib,v 1. 5 1999-09-21 12:29:29obachman Exp $1 // $Id: graphics.lib,v 1.6 1999-12-13 15:33:46 obachman Exp $ 2 2 // 3 3 // author : Christian Gorzel email: gorzelc@math.uni-muenster.de 4 4 // 5 5 /////////////////////////////////////////////////////////////////////////////// 6 version="$Id: graphics.lib,v 1. 5 1999-09-21 12:29:29obachman Exp $";6 version="$Id: graphics.lib,v 1.6 1999-12-13 15:33:46 obachman Exp $"; 7 7 info=" 8 8 LIBRARY: graphics.lib PROCEDURES FOR GRAPHICS WITH MATHEMATICA 9 9 10 AUTHOR: Christian Gorzel, gorzelc@math.uni-muenster.de 10 11 PROCEDURES: 11 12 staircase(fname,I); Mathematica text for displaying staircase of I -
Singular/LIB/hnoether.lib
r925cab r0b59f5 1 // $Id: hnoether.lib,v 1.1 7 1999-08-31 14:58:38 lammExp $1 // $Id: hnoether.lib,v 1.18 1999-12-13 15:33:46 obachman Exp $ 2 2 // last change: 31.08.99 3 3 /////////////////////////////////////////////////////////////////////////////// 4 4 // This library is for Singular 1-3-4 or newer 5 5 6 version="$Id: hnoether.lib,v 1.1 7 1999-08-31 14:58:38 lammExp $";6 version="$Id: hnoether.lib,v 1.18 1999-12-13 15:33:46 obachman Exp $"; 7 7 info=" 8 LIBRARY: hnoether.lib P ROCEDURES FOR THE HAMBURGER-NOETHER DEVELOPMENT8 LIBRARY: hnoether.lib Procedures for the Hamburger-Noether (Puiseux) development 9 9 10 10 AUTHOR: Martin Lamm, lamm@mathematik.uni-kl.de 11 KEYWORDS: Hamburger-Noether expansion; curve singularities 12 11 12 OVERVIEW: 13 A library for computing the Hamburger-Noether resp. Puiseux 14 development of a plane curve singularity following A. Campillo: 15 Algebroid curves in positive characteristic, Lecture Notes in Math. 16 813, Springer (1980). 17 The library contains also procedures for computing the (topoligical) 18 numerical invariants of plane curve singularities. 19 13 20 MAIN PROCEDURES: 14 21 HNdevelop(f); Hamburger-Noether development of f … … 33 40 allsquarefree(f,l); returns the maximal squarefree divisor of the poly f 34 41 further_hn_proc(); show further procedures useful for interactive use 42 43 KEYWORDS: Hamburger-Noether expansion; curve singularities 35 44 "; 36 45 /////////////////////////////////////////////////////////////////////////////// -
Singular/LIB/homolog.lib
r925cab r0b59f5 1 // $Id: homolog.lib,v 1. 9 1999-08-03 11:43:06obachman Exp $1 // $Id: homolog.lib,v 1.10 1999-12-13 15:33:47 obachman Exp $ 2 2 //(BM/GMG) 3 3 /////////////////////////////////////////////////////////////////////////////// 4 4 5 version="$Id: homolog.lib,v 1. 9 1999-08-03 11:43:06obachman Exp $";5 version="$Id: homolog.lib,v 1.10 1999-12-13 15:33:47 obachman Exp $"; 6 6 info=" 7 7 LIBRARY: homolog.lib PROCEDURES FOR HOMOLOGICAL ALGEBRA … … 554 554 0<--M'<-- F0 <-M-- F1 <-- F2 <--... resp. 0<--N'<-- G0 <--N- G1 be 555 555 a free resolution of M' resp. a presentations of N'. Consider 556 @format 556 557 0 0 0 557 558 |^ |^ |^ … … 562 563 |C |B 563 564 Hom(Fk,G1) -----> Hom(Fk+1,G1) 565 @end format 564 566 (Ak,Ak+1 induced by M and B,C induced by N). 565 567 Let K=modulo(Ak+1,B), J=module(Ak)+module(C) and Ext=modulo(K,J), … … 568 570 R^q -Ext-> R^p --K->Hom(Fk,G0)/im(Ak)+im(C) --Ak+1->Hom(Fk+1,G0)/im(B) 569 571 Hence Ext presents Ext^k(M',N') 570 RETURN: Ext, of type module, a presentation of Ext^k(M',N') if v is of type 572 RETURN: 573 Ext, of type module, a presentation of Ext^k(M',N') if v is of type 571 574 int, resp. a list of Ext^k (k=v[1],v[2],...) if v is of type intvec. 572 575 In case of a third argument of any type return a list: … … 715 718 Let ...-->F1 --M-> F0-->M'-->0 and ...-->G1 --N-> G0-->N'-->0 be 716 719 presentations of M' and N'. Consider 720 @format 717 721 0 0 718 722 |^ |^ … … 728 732 R^q -Hom-> R^p --D-> Hom(F0,G0)/im(C) --A-> Hom(F1,G0)/im(B). 729 733 Hence Hom presents Hom(M',N') 734 @end format 730 735 RETURN: Hom, of type module, presentation of Hom(M',N') or, 731 736 in case of 3 arguments, a list: … … 845 850 (R=basering) and let A:R^m-->R^n a matrix inducing a map A':M'-->N'. 846 851 Compute a presentation K of ker(A') as in the commutative diagram: 852 @format 847 853 ker(A') ---> M' --A'--> N' 848 854 |^ |^ |^ … … 853 859 | | | 854 860 R^s ---> R^p -----> R^q 861 @end format 855 862 RETURN: module K, a presentation of ker(A') 856 863 EXAMPLE: example kernel; shows examples -
Singular/LIB/linalg.lib
r925cab r0b59f5 3 3 ////////////////////////////////////////////////////////////////////////////// 4 4 5 version="$Id: linalg.lib,v 1. 3 1999-10-25 12:45:16obachman Exp $";5 version="$Id: linalg.lib,v 1.4 1999-12-13 15:33:48 obachman Exp $"; 6 6 info=" 7 7 LIBRARY: linalg.lib PROCEDURES FOR ALGORITHMIC LINEAR ALGEBRA … … 21 21 gaussred(A); gaussian reduction: P*A=U*S, S is a row reduced form of A 22 22 gaussred_pivot(A); gaussian reduction: P*A=U*S, S is a row reduced form of A 23 g nf(A); gauss normal form of A24 rk(A); rank of A25 U DO(A); P*A=U*D*O23 gauss_nf(A); gauss normal form of A 24 mat_rk(A); rank of A 25 U_D_O(A); P*A=U*D*O 26 26 pos_def(A,i); test of positive symmetric matrizes. 27 27 "; … … 824 824 825 825 ////////////////////////////////////////////////////////////////////////////// 826 proc g nf(matrix A)827 "USAGE: g nf(A); any constant matrix A826 proc gauss_nf(matrix A) 827 "USAGE: gauss_nf(A); any constant matrix A 828 828 RETURN: matrix; gauss normal form of A 829 EXAMPLE: example g nf; shows an example"829 EXAMPLE: example gauss_nf; shows an example" 830 830 { 831 831 list Z; … … 841 841 ring r=7,(x),dp; 842 842 matrix A[4][4]= 1,4,4,7,2,5,5,4,4,1,1,3,0,2,2,7; 843 print(g nf(A));844 } 845 846 ////////////////////////////////////////////////////////////////////////////// 847 proc rk(matrix A)848 "USAGE: rk(A); any constant matrix A843 print(gauss_nf(A)); 844 } 845 846 ////////////////////////////////////////////////////////////////////////////// 847 proc mat_rk(matrix A) 848 "USAGE: mat_rk(A); any constant matrix A 849 849 RETURN: int; rank of A 850 EXAMPLE: example rk; shows an example"850 EXAMPLE: example mat_rk; shows an example" 851 851 { 852 852 list Z; … … 862 862 ring r=7,(x),dp; 863 863 matrix A[4][4]= 1,4,4,7,2,5,5,4,4,1,1,3,0,2,2,7; 864 rk(A);865 } 866 867 ////////////////////////////////////////////////////////////////////////////// 868 proc U DO(matrix A)864 mat_rk(A); 865 } 866 867 ////////////////////////////////////////////////////////////////////////////// 868 proc U_D_O(matrix A) 869 869 "USAGE: gaussred(A); constant invertible matrix A 870 870 RETURN: list Z: Z[1]=P , Z[2]=U , Z[3]=D , Z[4]=O … … 922 922 -10,10,-9,5,-1,-6,5; 923 923 print(A); 924 list Z=U DO(A);924 list Z=U_D_O(A); 925 925 "P=";print(Z[1]); 926 926 "U=";print(Z[2]); … … 956 956 } 957 957 958 Z=U DO(A);958 Z=U_D_O(A); 959 959 960 960 if(Z[1]==-1){return(0);} //A not regular , therefor not pos.definit … … 1023 1023 } 1024 1024 1025 r= rk(A);1025 r=mat_rk(A); 1026 1026 1027 1027 //1. b constant vector -
Singular/LIB/mondromy.lib
r925cab r0b59f5 1 1 /////////////////////////////////////////////////////////////////////////////// 2 2 3 version="$Id: mondromy.lib,v 1.1 0 1999-11-12 11:21:02 mschulzeExp $";3 version="$Id: mondromy.lib,v 1.11 1999-12-13 15:33:48 obachman Exp $"; 4 4 info=" 5 5 LIBRARY: mondromy.lib PROCEDURES TO COMPUTE THE MONODROMY OF A SINGULARITY … … 18 18 jacoblift(f); lifts f^kappa in jacob(f) with minimal kappa 19 19 monodromy(f[,opt]); monodromy of isolated hypersurface singularity f 20 H ''basis(f);basis of Brieskorn lattice H''20 H2basis(f); basis of Brieskorn lattice H'' 21 21 "; 22 22 … … 916 916 /////////////////////////////////////////////////////////////////////////////// 917 917 918 proc H ''basis(poly f)919 "USAGE: H ''basis(f); f poly918 proc H2basis(poly f) 919 "USAGE: H2basis(f); f poly 920 920 ASSUME: The polynomial f in a series ring (local ordering) defines 921 921 an isolated hypersurface singularity. … … 924 924 THEORY: H'' is a free C{f}-module of rank milnor(f). 925 925 DISPLAY: The procedure displays more comments for higher printlevel. 926 EXAMPLE: example H ''basis; shows an example.926 EXAMPLE: example H2basis; shows an example. 927 927 " 928 928 { … … 1019 1019 ring R=0,(x,y),ds; 1020 1020 poly f=x2y2+x6+y6; 1021 H ''basis(f);1022 } 1023 /////////////////////////////////////////////////////////////////////////////// 1021 H2basis(f); 1022 } 1023 /////////////////////////////////////////////////////////////////////////////// -
Singular/LIB/poly.lib
r925cab r0b59f5 1 // $Id: poly.lib,v 1.1 8 1999-09-21 17:32:17 SingularExp $1 // $Id: poly.lib,v 1.19 1999-12-13 15:33:48 obachman Exp $ 2 2 //(GMG, last modified 22.06.96) 3 3 //(obachman: 17.12.97 -- added katsura) 4 4 /////////////////////////////////////////////////////////////////////////////// 5 5 6 version="$Id: poly.lib,v 1.1 8 1999-09-21 17:32:17 SingularExp $";6 version="$Id: poly.lib,v 1.19 1999-12-13 15:33:48 obachman Exp $"; 7 7 info=" 8 8 LIBRARY: poly.lib PROCEDURES FOR MANIPULATING POLYS, IDEALS, MODULES … … 114 114 { 115 115 "EXAMPLE:"; echo = 2; 116 ring r; 116 ring r; basering; 117 117 katsura(); 118 katsura( 3);118 katsura(4); basering; 119 119 } 120 120 -
Singular/LIB/primdec.lib
r925cab r0b59f5 1 // $Id: primdec.lib,v 1.5 1 1999-11-30 10:09:41 pfisterExp $1 // $Id: primdec.lib,v 1.52 1999-12-13 15:33:49 obachman Exp $ 2 2 /////////////////////////////////////////////////////////////////////////////// 3 3 // primdec.lib // … … 11 11 /////////////////////////////////////////////////////////////////////////////// 12 12 13 version="$Id: primdec.lib,v 1.5 1 1999-11-30 10:09:41 pfisterExp $";13 version="$Id: primdec.lib,v 1.52 1999-12-13 15:33:49 obachman Exp $"; 14 14 info=" 15 LIBRARY: primdec.lib :PROCEDURES FOR PRIMARY DECOMPOSITION15 LIBRARY: primdec.lib PROCEDURES FOR PRIMARY DECOMPOSITION 16 16 AUTHORS: Gerhard Pfister, email: pfister@mathematik.uni-kl.de (GTZ) 17 17 Wolfram Decker, email: decker@math.uni-sb.de (SY) -
Singular/LIB/random.lib
r925cab r0b59f5 1 // $Id: random.lib,v 1.1 0 1999-09-21 17:32:18 SingularExp $1 // $Id: random.lib,v 1.11 1999-12-13 15:33:49 obachman Exp $ 2 2 //(GMG/BM, last modified 22.06.96) 3 3 /////////////////////////////////////////////////////////////////////////////// 4 4 5 version="$Id: random.lib,v 1.1 0 1999-09-21 17:32:18 SingularExp $";5 version="$Id: random.lib,v 1.11 1999-12-13 15:33:49 obachman Exp $"; 6 6 info=" 7 7 LIBRARY: random.lib PROCEDURES OF RANDOM MATRIX AND POLY OPERATIONS 8 8 9 PROCEDURES: 9 10 genericid(id[,p,b]); generic sparse linear combinations of generators of id 10 11 randomid(id,[k,b]); random linear combinations of generators of id -
Singular/LIB/sing.lib
r925cab r0b59f5 1 // $Id: sing.lib,v 1.1 8 1999-11-11 16:03:33 SingularExp $1 // $Id: sing.lib,v 1.19 1999-12-13 15:33:50 obachman Exp $ 2 2 //(GMG/BM, last modified 26.06.96) 3 3 /////////////////////////////////////////////////////////////////////////////// 4 4 5 version="$Id: sing.lib,v 1.1 8 1999-11-11 16:03:33 SingularExp $";5 version="$Id: sing.lib,v 1.19 1999-12-13 15:33:50 obachman Exp $"; 6 6 info=" 7 7 LIBRARY: sing.lib PROCEDURES FOR SINGULARITIES … … 24 24 Tjurina(i); SB of Tjurina module of ideal i (assume i is ICIS) 25 25 tjurina(i); Tjurina number of ideal i (assume i is ICIS) 26 T 1(i); T1-module of ideal i27 T 2((i); T2-module of ideal i28 T 12(i); T1- and T2-module of ideal i26 T_1(i); T^1-module of ideal i 27 T_2((i); T^2-module of ideal i 28 T_12(i); T^1- and T^2-module of ideal i 29 29 "; 30 30 … … 39 39 " 40 40 { 41 list L=T 1(id,"");41 list L=T_1(id,""); 42 42 def K=L[1]; attrib(K,"isSB",1); 43 43 return(L[2]*kbase(K)); … … 499 499 /////////////////////////////////////////////////////////////////////////////// 500 500 501 proc T 1 (ideal id, list #)502 "USAGE: T 1(id[,<any>]); id = ideal or poly503 RETURN: T 1(id): of type module/ideal if id is of type ideal/poly.504 We call T 1(id) the T1-module of id. It is a std basis of the501 proc T_1 (ideal id, list #) 502 "USAGE: T_1(id[,<any>]); id = ideal or poly 503 RETURN: T_1(id): of type module/ideal if id is of type ideal/poly. 504 We call T_1(id) the T_1-module of id. It is a std basis of the 505 505 presentation of 1st order deformations of P/id, if P is the basering. 506 506 If a second argument is present (of any type) return a list of 507 507 3 modules: 508 [1]= T 1(id)508 [1]= T_1(id) 509 509 [2]= generators of normal bundle of id, lifted to P 510 510 [3]= module of relations of [2], lifted to P 511 511 (note: transpose[3]*[2]=0 mod id) 512 512 The list contains all non-easy objects which must be computed 513 to get T 1(id).514 DISPLAY: k-dimension of T 1(id) if printlevel >= 0 (default)515 NOTE: T 1(id) itself is usually of minor importance. Nevertheless, from it513 to get T_1(id). 514 DISPLAY: k-dimension of T_1(id) if printlevel >= 0 (default) 515 NOTE: T_1(id) itself is usually of minor importance. Nevertheless, from it 516 516 all relevant information can be obtained. The most important are 517 probably vdim(T 1(id)); (which computes the Tjurina number),518 hilb(T 1(id)); and kbase(T1(id));519 If T 1 is called with two argument, then matrix([2])*(kbase([1]))517 probably vdim(T_1(id)); (which computes the Tjurina number), 518 hilb(T_1(id)); and kbase(T_1(id)); 519 If T_1 is called with two argument, then matrix([2])*(kbase([1])) 520 520 represents a basis of 1st order semiuniversal deformation of id 521 521 (use proc 'deform', to get this in a direct way). 522 522 For a complete intersection the proc Tjurina is faster 523 EXAMPLE: example T 1; shows an example523 EXAMPLE: example T_1; shows an example 524 524 " 525 525 { … … 530 530 ideal t1 = std(J+jacob(J[1])); 531 531 module nb = [1]; module pnb; 532 dbprint(printlevel-voice+3,"// dim T 1 = "+string(vdim(t1)));532 dbprint(printlevel-voice+3,"// dim T_1 = "+string(vdim(t1))); 533 533 if( size(#)>0 ) 534 534 { … … 556 556 //-------------------------- pull back to basering ---------------------------- 557 557 setring P; 558 t1 = fetch(R,t1)+J*freemodule(rk); // T 1-module, presentation of T1558 t1 = fetch(R,t1)+J*freemodule(rk); // T_1-module, presentation of T_1 559 559 t1 = std(t1); 560 dbprint(printlevel-voice+3,"// dim T 1 = "+string(vdim(t1)));560 dbprint(printlevel-voice+3,"// dim T_1 = "+string(vdim(t1))); 561 561 if( size(#)>0 ) 562 562 { … … 574 574 ring r = 32003,(x,y,z),(c,ds); 575 575 ideal i = xy,xz,yz; 576 module T = T 1(i);577 vdim(T); // Tjurina number = dim_K(T 1), should be 3578 list L=T 1(i,"");576 module T = T_1(i); 577 vdim(T); // Tjurina number = dim_K(T_1), should be 3 578 list L=T_1(i,""); 579 579 module kB = kbase(L[1]); 580 580 print(L[2]*kB); // basis of 1st order miniversal deformation … … 586 586 /////////////////////////////////////////////////////////////////////////////// 587 587 588 proc T 2 (ideal id, list #)589 "USAGE: T 2(id[,<any>]); id = ideal590 RETURN: T 2(id): T2-module of id . This is a std basis of a presentation of588 proc T_2 (ideal id, list #) 589 "USAGE: T_2(id[,<any>]); id = ideal 590 RETURN: T_2(id): T_2-module of id . This is a std basis of a presentation of 591 591 the module of obstructions of R=P/id, if P is the basering. 592 592 If a second argument is present (of any type) return a list of 593 593 4 modules and 1 ideal: 594 [1]= T 2(id)594 [1]= T_2(id) 595 595 [2]= standard basis of id (ideal) 596 596 [3]= module of relations of id (=1st syzygy module of id) … … 598 598 [5]= relations of Hom_P([3]/kos,R), lifted to P 599 599 The list contains all non-easy objects which must be computed 600 to get T 2(id).601 DISPLAY: k-dimension of T 2(id) if printlevel >= 0 (default)602 NOTE: The most important information is probably vdim(T 2(id)).600 to get T_2(id). 601 DISPLAY: k-dimension of T_2(id) if printlevel >= 0 (default) 602 NOTE: The most important information is probably vdim(T_2(id)). 603 603 Use proc miniversal to get equations of miniversal deformation. 604 EXAMPLE: example T 2; shows an example604 EXAMPLE: example T_2; shows an example 605 605 " 606 606 { … … 624 624 list B=nres(t2,2); // resolve (syz/kos)* 625 625 def B(1..2)=B[1..2]; kill B; 626 t2 = modulo(B(2),A2'); // presentation of T 2626 t2 = modulo(B(2),A2'); // presentation of T_2 627 627 rk = nrows(t2); 628 628 //--------------------- fetch back to basering ------------------------------- … … 630 630 t2 = fetch(R,t2)+J*freemodule(rk); 631 631 t2 = std(t2); 632 dbprint(printlevel-voice+3,"// dim T 2 = "+string(vdim(t2)));632 dbprint(printlevel-voice+3,"// dim T_2 = "+string(vdim(t2))); 633 633 if( size(#)>0 ) 634 634 { … … 645 645 ring r = 32003,(x,y),(c,dp); 646 646 ideal j = x6-y4,x6y6,x2y4-x5y2; 647 module T = T 2(j);647 module T = T_2(j); 648 648 vdim(T); 649 649 hilb(T);""; 650 650 ring r1 = 0,(x,y,z),dp; 651 651 ideal id = xy,xz,yz; 652 list L = T 2(id,"");653 vdim(L[1]); // vdim of T 2652 list L = T_2(id,""); 653 vdim(L[1]); // vdim of T_2 654 654 print(L[3]); // syzygy module of id 655 655 printlevel = p; … … 657 657 /////////////////////////////////////////////////////////////////////////////// 658 658 659 proc T 12 (ideal i, list #)660 "USAGE: T 12(i[,any]); i = ideal661 RETURN: T 12(i): list of 2 modules:662 std basis of T 1-module =T1(i), 1st order deformations663 std basid of T 2-module =T2(i), obstructions of R=P/i659 proc T_12 (ideal i, list #) 660 "USAGE: T_12(i[,any]); i = ideal 661 RETURN: T_12(i): list of 2 modules: 662 std basis of T_1-module =T_1(i), 1st order deformations 663 std basid of T_2-module =T_2(i), obstructions of R=P/i 664 664 If a second argument is present (of any type) return a list of 665 665 9 modules, matrices, integers: 666 [1]= standard basis of T 1-module667 [2]= standard basis of T 2-module668 [3]= vdim of T 1669 [4]= vdim of T 2666 [1]= standard basis of T_1-module 667 [2]= standard basis of T_2-module 668 [3]= vdim of T_1 669 [4]= vdim of T_2 670 670 [5]= matrix, whose cols present infinitesimal deformations 671 671 [6]= matrix, whose cols are generators of relations of i (=syz(i)) 672 672 [7]= matrix, presenting Hom_P(syz/kos,R), lifted to P 673 [8]= presentation of T 1-module, no std basis674 [9]= presentation of T 2-module, no std basis675 DISPLAY: k-dimension of T 1 and T2 if printlevel >= 0 (default)673 [8]= presentation of T_1-module, no std basis 674 [9]= presentation of T_2-module, no std basis 675 DISPLAY: k-dimension of T_1 and T_2 if printlevel >= 0 (default) 676 676 NOTE: Use proc miniversal from deform.lib to get miniversal deformation of i, 677 677 the list contains all objects used by proc miniversal 678 EXAMPLE: example T 12; shows an example678 EXAMPLE: example T_12; shows an example 679 679 " 680 680 { … … 684 684 i = simplify(i,10); 685 685 module jac,t1,t2,sbt1,sbt2; 686 matrix Kos,Syz,SK,kbT 1,Sx;686 matrix Kos,Syz,SK,kbT_1,Sx; 687 687 list L; 688 688 ideal i0 = std(i); … … 702 702 list resN = nres(No,2); 703 703 matrix Nx = resN[2]; 704 module T 2 = modulo(Sx,No); // presentation of T2705 r2 = nrows(T 2);706 module T 1 = modulo(Nx,Jac); // presentation of T1707 r1 = nrows(T 1);704 module T_2 = modulo(Sx,No); // presentation of T_2 705 r2 = nrows(T_2); 706 module T_1 = modulo(Nx,Jac); // presentation of T_1 707 r1 = nrows(T_1); 708 708 //------------------------ pull back to basering ------------------------------ 709 709 setring P; 710 t1 = fetch(Ox,T 1)+i*freemodule(r1);711 t2 = fetch(Ox,T 2)+i*freemodule(r2);710 t1 = fetch(Ox,T_1)+i*freemodule(r1); 711 t2 = fetch(Ox,T_2)+i*freemodule(r2); 712 712 sbt1 = std(t1); 713 713 d1 = vdim(sbt1); 714 714 sbt2 = std(t2); 715 715 d2 = vdim(sbt2); 716 dbprint(printlevel-voice+3,"// dim T 1 = "+string(d1),"// dim T2 = "+string(d2));716 dbprint(printlevel-voice+3,"// dim T_1 = "+string(d1),"// dim T_2 = "+string(d2)); 717 717 if ( size(#)>0) 718 718 { 719 719 if (d1>0) 720 720 { 721 kbT 1 = fetch(Ox,Nx)*kbase(sbt1);721 kbT_1 = fetch(Ox,Nx)*kbase(sbt1); 722 722 } 723 723 else 724 724 { 725 kbT 1 = 0;725 kbT_1 = 0; 726 726 } 727 727 Sx = fetch(Ox,Sx); 728 L = sbt1,sbt2,d1,d2,kbT 1,Syz,Sx,t1,t2;728 L = sbt1,sbt2,d1,d2,kbT_1,Syz,Sx,t1,t2; 729 729 return(L); 730 730 } … … 739 739 ideal i = xz-y2,yz2-xu,xv-yzu,yu-z3,z2u-yv,zv-u2; 740 740 //a cyclic quotient singularity 741 list L = T 12(i,1);741 list L = T_12(i,1); 742 742 print(L[5]); //matrix of infin. deformations 743 743 printlevel = p; -
Singular/extra.cc
r925cab r0b59f5 2 2 * Computer Algebra System SINGULAR * 3 3 *****************************************/ 4 /* $Id: extra.cc,v 1.1 29 1999-12-08 16:49:06obachman Exp $ */4 /* $Id: extra.cc,v 1.130 1999-12-13 15:33:43 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT: general interface to internals of Singular ("system" command) … … 1161 1161 else 1162 1162 #endif 1163 /*==================== thomas =================*/ 1164 if (strcmp(sys_cmd, "thomas") == 0) 1165 { 1166 ideal id = (ideal) h->Data(); 1167 id = idCopy(id); 1168 ring cr = currRing; 1169 ring r = rCurrRingAssure_C_dp(); 1170 ideal id_r = idrMoveR(id, cr); 1171 idTest(id_r); 1172 idPrint(id_r); 1173 if (r != cr) 1174 { 1175 rChangeCurrRing(cr, TRUE); 1176 id_r = idrMoveR(id_r, r); 1177 idTest(id_r); 1178 idPrint(id_r); 1179 idDelete(&id_r); 1180 rKill(r); 1181 } 1182 return FALSE; 1163 /*==================== test =================*/ 1164 if (strcmp(sys_cmd, "test") == 0) 1165 { 1166 intvec v(3); 1167 1168 v[4] = 1; 1169 1183 1170 } 1184 1171 /*==================== Error =================*/ -
doc/pl2doc.pl
r925cab r0b59f5 1 1 #!/usr/local/bin/perl 2 # $Id: pl2doc.pl,v 1.1 2 1999-12-10 16:41:50obachman Exp $2 # $Id: pl2doc.pl,v 1.13 1999-12-13 15:32:46 obachman Exp $ 3 3 ################################################################### 4 4 # Computer Algebra System SINGULAR … … 392 392 { 393 393 print $FH '@item @strong{Purpose:'."}\n"; 394 print $FH lc $text; 394 if ($text !~ /[a-z]*/) 395 { 396 print $FH lc $text; 397 } 398 else 399 { 400 print $FH $text; 401 } 395 402 } 396 403 }
Note: See TracChangeset
for help on using the changeset viewer.