Changeset 8942a5 in git
- Timestamp:
- Dec 22, 2000, 3:33:13 PM (22 years ago)
- Branches:
- (u'spielwiese', '828514cf6e480e4bafc26df99217bf2a1ed1ef45')
- Children:
- 8bb77bfee92151ac9ed599c9d789653dc8a3570c
- Parents:
- 803c5a17d620ffa41d14efaab791dcf17ad1f7a4
- Location:
- Singular/LIB
- Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/homolog.lib
r803c5a1 r8942a5 1 // $Id: homolog.lib,v 1.11 2000-12-19 14:41:42 anne Exp $2 1 //(BM/GMG) 3 2 /////////////////////////////////////////////////////////////////////////////// 4 5 version="$Id: homolog.lib,v 1.11 2000-12-19 14:41:42 anne Exp $"; 3 version="$Id: homolog.lib,v 1.12 2000-12-22 14:05:48 greuel Exp $"; 6 4 category="Commutative Algebra"; 7 5 info=" 8 LIBRARY: homolog.lib PROCEDURES FOR HOMOLOGICAL ALGEBRA 9 6 LIBRARY: homolog.lib Procedures for Homological Algebra 10 7 AUTHORS: Gert-Martin Greuel, email: greuel@mathematik.uni-kl.de, 11 8 Bernd Martin, email: martin@math.tu-cottbus.de … … 95 92 kb1 = matrix(ker)*kb1; 96 93 dbprint(p-1,"// kbase of Ext^1(M,M)", 97 98 94 "// - the columns present the kbase elements in Hom(F(1),F(0))", 95 "// - F(*) a free resolution of M",kb1); 99 96 100 97 //------ compute the liftings of Ext^1 ---------------------------------------- … … 634 631 for( ii=1; ii<=s; ii++ ) 635 632 { k=v[ii]; 636 if( k<0 ) 633 if( k<0 ) // Ext^k is 0 for negative k 637 634 { dbprint(p-1,"// Ext^k=0 for k<0!"); 638 635 extMN = gen(1); … … 712 709 printlevel = p; 713 710 } 714 /////////////////////////////////////////////////////////////////////////////// /711 /////////////////////////////////////////////////////////////////////////////// 715 712 716 713 proc Hom (module M, module N, list #) … … 773 770 { for (l=1;l<=ncols(kb);l=l+1) 774 771 { 775 772 "// element",l,"of kbase of Hom in Hom(F0,G0) as matrix: F0-->G0:"; 776 773 print(matrix(ideal(kb[l]),nrows(N),nrows(M))); 777 774 } 778 775 } 779 776 else 780 { dbprint(p-1,"// columns of matrix are kbase of Hom in Hom(F0,G0)",kb);}777 {dbprint(p-1,"// columns of matrix are kbase of Hom in Hom(F0,G0)",kb);} 781 778 L=homMN,homMN0,kb; return(L); 782 779 } … … 808 805 printlevel = p; 809 806 } 810 /////////////////////////////////////////////////////////////////////////////// /807 /////////////////////////////////////////////////////////////////////////////// 811 808 812 809 proc homology (matrix A,matrix B,module M,module N,list #) … … 817 814 ker(B)/im(A) := ker(M'/im(A) --B--> N'/im(BM)+im(BA)). 818 815 If B induces a map M'--B-->N' (i.e BM=0) and if R^k--A-->M'--B-->N' is 819 a complex (i.e. BA=0) then ker(B)/im(A) is the homology of th iscomplex816 a complex (i.e. BA=0) then ker(B)/im(A) is the homology of the complex 820 817 RETURN: module H, a presentation of ker(B)/im(A) 821 818 NOTE: homology returns a free module of rank m if ker(B)=im(A) … … 878 875 print(K); 879 876 } 880 /////////////////////////////////////////////////////////////////////////////// /877 /////////////////////////////////////////////////////////////////////////////// 881 878 882 879 proc kohom (matrix M, int j) … … 899 896 print(kohom(n,3)); 900 897 } 901 /////////////////////////////////////////////////////////////////////////////// //898 /////////////////////////////////////////////////////////////////////////////// 902 899 903 900 proc kontrahom (matrix M, int j) -
Singular/LIB/inout.lib
r803c5a1 r8942a5 1 // $Id: inout.lib,v 1.18 2000-12-19 14:37:25 anne Exp $2 1 // (GMG/BM, last modified 22.06.96) 3 2 /////////////////////////////////////////////////////////////////////////////// 4 5 version="$Id: inout.lib,v 1.18 2000-12-19 14:37:25 anne Exp $"; 3 version="$Id: inout.lib,v 1.19 2000-12-22 14:06:55 greuel Exp $"; 6 4 category="General purpose"; 7 5 info=" 8 LIBRARY: inout.lib P ROCEDURES FOR MANIPULATING IN- AND OUTPUT6 LIBRARY: inout.lib Printing and Manipulating In- and Output 9 7 10 8 PROCEDURES: -
Singular/LIB/intprog.lib
r803c5a1 r8942a5 1 version="$Id: intprog.lib,v 1.2 2000-12-19 14:41:42 anne Exp $"; 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: intprog.lib,v 1.3 2000-12-22 14:08:19 greuel Exp $"; 2 3 category="Commutative Algebra"; 4 info=" 5 LIBRARY: intprog.lib Integer Programming with Groebner Basis Methods 6 AUTHOR: Christine Theis, email: ctheis@math.uni-sb.de 7 8 PROCEDURES: 9 solve_IP(..); procedures for solving Integer Programming problems 10 "; 11 3 12 /////////////////////////////////////////////////////////////////////////////// 4 5 info="6 LIBRARY: intprog.lib INTEGER PROGRAMMING WITH GROEBNER BASIS METHODS7 8 AUTHOR: Christine Theis, email: ctheis@math.uni-sb.de9 10 PROCEDURES:11 12 solve_IP(intmat A, [intvec|list] bx, intvec c, string alg [, intvec prsv]);13 procedures for solving IP-problems14 ";15 16 ///////////////////////////////////////////////////////////////////////////////17 18 19 20 13 static proc solve_IP_1(intmat A, intvec bx, intvec c, string alg) 21 14 { … … 167 160 return(v); 168 161 } 169 170 171 162 /////////////////////////////////////////////////////////////////////////////// 172 163 static proc solve_IP_2(intmat A, list bx, intvec c, string alg) 173 164 { … … 346 337 return(l); 347 338 } 348 349 339 /////////////////////////////////////////////////////////////////////////////// 350 340 351 341 static proc solve_IP_3(intmat A, intvec bx, intvec c, string alg, intvec prsv) … … 480 470 return(v); 481 471 } 482 483 472 /////////////////////////////////////////////////////////////////////////////// 484 473 485 474 static proc solve_IP_4(intmat A, list bx, intvec c, string alg, intvec prsv) … … 641 630 return(l); 642 631 } 643 644 645 646 647 632 /////////////////////////////////////////////////////////////////////////////// 648 633 649 634 proc solve_IP 650 "USAGE: solve_IP(A,bx,c,alg); A intmat, bx intvec, c intvec, alg string 651 652 solve_IP(A,bx,c,alg); A intmat, bx list of intvec, c intvec, alg string 653 654 solve_IP(A,bx,c,alg,prsv); A intmat, bx intvec, c intvec, alg string, prsv intvec 655 656 solve_IP(A,bx,c,alg,prsv); A intmat, bx list of intvec, c intvec, alg string, prsv intvec 657 RETURN: type of bx: solution of the associated integer programming problem(s) as explained in 658 @texinfo 659 @ref{Toric ideals and integer programming}. 660 @end texinfo 661 NOTE: This procedure returns the solution(s) of the given IP-problem(s) or the message `not solvable'. 662 663 One may call the procedure with several different algorithms: 664 665 - the algorithm of Conti/Traverso using elimination (ect), 666 667 - the algorithm of Pottier (pt), 668 669 - an algorithm of Bigatti/La Scala/Robbiano (blr), 670 671 - the algorithm of Hosten/Sturmfels (hs), 672 673 - the algorithm of DiBiase/Urbanke (du). 674 675 The argument `alg' should be the abbreviation for an algorithm as above: ect, pt, blr, hs or du. 676 677 `ct' allows to compute an optimal solution of the IP-problem directly from the right-hand vector b. The same is true for its `positive' variant `pct' which may only be applied if A and b have nonnegative entries. All other algorithms need initial solutions of the IP-problem. 678 679 If `alg' is chosen to be `ct' or `pct', bx is read as the right hand vector b of the system Ax=b. b should then be an intvec of size m where m is the number of rows of A. Furthermore, bx and A should be nonnegative if `pct' is used. If `alg' is chosen to be `ect',`pt',`blr',`hs' or `du', bx is read as an initial solution x of the system Ax=b. bx should then be a nonnegative intvec of size n where n is the number of columns of A. 680 681 If `alg' is chosen to be `blr' or `hs', the algorithm needs a vector with positive coefficients in the row space of A. If no row of A contains only positive entries, one has to use the versions of solve_IP which take such a vector prsv as an argument. 682 683 solve_IP may also be called with a list bx of intvecs instead of a single intvec. 635 "USAGE: solve_IP(A,bx,c,alg); A intmat, bx intvec, c intvec, alg string 636 solve_IP(A,bx,c,alg); A intmat, bx list of intvec, c intvec, 637 alg string 638 solve_IP(A,bx,c,alg,prsv); A intmat, bx intvec, c intvec, 639 alg string, prsv intvec 640 solve_IP(A,bx,c,alg,prsv); A intmat, bx list of intvec, c intvec, 641 alg string, prsv intvec 642 RETURN: type of bx: solution of the associated integer programming 643 problem(s) as explained in 644 @texinfo 645 @ref{Toric ideals and integer programming}. 646 @end texinfo 647 NOTE: This procedure returns the solution(s) of the given IP-problem(s) 648 or the message `not solvable'. 649 One may call the procedure with several different algorithms: 650 - the algorithm of Conti/Traverso using elimination (ect), 651 - the algorithm of Pottier (pt), 652 - an algorithm of Bigatti/La Scala/Robbiano (blr), 653 - the algorithm of Hosten/Sturmfels (hs), 654 - the algorithm of DiBiase/Urbanke (du). 655 The argument `alg' should be the abbreviation for an algorithm as 656 above: ect, pt, blr, hs or du. 657 658 `ct' allows to compute an optimal solution of the IP-problem 659 directly from the right-hand vector b. 660 The same is true for its `positive' variant `pct' which may only be 661 applied if A and b have nonnegative entries. 662 All other algorithms need initial solutions of the IP-problem. 663 664 If `alg' is chosen to be `ct' or `pct', bx is read as the right hand 665 vector b of the system Ax=b. b should then be an intvec of size m 666 where m is the number of rows of A. 667 Furthermore, bx and A should be nonnegative if `pct' is used. 668 If `alg' is chosen to be `ect',`pt',`blr',`hs' or `du', 669 bx is read as an initial solution x of the system Ax=b. 670 bx should then be a nonnegative intvec of size n where n is the 671 number of columns of A. 672 673 If `alg' is chosen to be `blr' or `hs', the algorithm needs a vector 674 with positive coefficients in the row space of A. 675 If no row of A contains only positive entries, one has to use the 676 versions of solve_IP which take such a vector prsv as an argument. 677 678 solve_IP may also be called with a list bx of intvecs instead of a 679 single intvec. 680 SEE ALSO: intprog_lib, toric_lib, Integer programming 684 681 EXAMPLE: example solve_IP; shows an example 685 SEE ALSO: intprog_lib, toric_lib, Integer programming686 682 " 687 683 { … … 713 709 714 710 example 715 { 716 "EXAMPLE"; echo=2; 717 718 // call with single right-hand vector 719 intmat A[2][3]=1,1,0,0,1,1; 720 A; 721 intvec b1=1,1; 722 b1; 723 intvec c=2,2,1; 724 c; 725 intvec solution_vector=solve_IP(A,b1,c,"pct"); 726 solution_vector; 727 728 // call with list of right-hand vectors 729 intvec b2=-1,1; 730 list l=b1,b2; 731 l; 732 list solution_list=solve_IP(A,l,c,"ct"); 733 solution_list; 734 735 // call with single initial solution vector 736 A=2,1,-1,-1,1,2; 737 A; 738 b1=3,4,5; 739 solution_vector=solve_IP(A,b1,c,"du"); 740 741 // call with single initial solution vector 742 // and algorithm needing a positive row space vector 743 solution_vector=solve_IP(A,b1,c,"hs"); 744 745 // call with single initial solution vector 746 // and positive row space vector 747 intvec prsv=1,2,1; 748 prsv; 749 solution_vector=solve_IP(A,b1,c,"hs",prsv); 750 solution_vector; 751 752 // call with list of initial solution vectors 753 // and positive row space vector 754 b2=7,8,0; 755 l=b1,b2; 756 l; 757 solution_list=solve_IP(A,l,c,"blr",prsv); 758 solution_list; 711 { "EXAMPLE"; echo=2; 712 // 1. call with single right-hand vector 713 intmat A[2][3]=1,1,0,0,1,1; 714 intvec b1=1,1; 715 intvec c=2,2,1; 716 intvec solution_vector=solve_IP(A,b1,c,"pct"); 717 solution_vector;""; 718 719 // 2. call with list of right-hand vectors 720 intvec b2=-1,1; 721 list l=b1,b2; 722 l; 723 list solution_list=solve_IP(A,l,c,"ct"); 724 solution_list;""; 725 726 // 3. call with single initial solution vector 727 A=2,1,-1,-1,1,2; 728 b1=3,4,5; 729 solve_IP(A,b1,c,"du");""; 730 731 // 4. call with single initial solution vector 732 // and algorithm needing a positive row space vector 733 solution_vector=solve_IP(A,b1,c,"hs");""; 734 735 // 5. call with single initial solution vector 736 // and positive row space vector 737 intvec prsv=1,2,1; 738 solution_vector=solve_IP(A,b1,c,"hs",prsv); 739 solution_vector;""; 740 741 // 6. call with list of initial solution vectors 742 // and positive row space vector 743 b2=7,8,0; 744 l=b1,b2; 745 l; 746 solution_list=solve_IP(A,l,c,"blr",prsv); 747 solution_list; 759 748 } -
Singular/LIB/jordan.lib
r803c5a1 r8942a5 1 1 /////////////////////////////////////////////////////////////////////////////// 2 3 version="$Id: jordan.lib,v 1.18 2000-12-19 14:37:25 anne Exp $"; 2 version="$Id: jordan.lib,v 1.19 2000-12-22 14:09:44 greuel Exp $"; 4 3 category="Linear Algebra"; 5 4 info=" 6 LIBRARY: jordan.lib PROCEDURES TO COMPUTE THE JORDAN NORMAL FORM5 LIBRARY: jordan.lib Jordan Normal Form of a Matrix with rational Eigenvalues 7 6 AUTHOR: Mathias Schulze, email: mschulze@mathematik.uni-kl.de 8 7 -
Singular/LIB/latex.lib
r803c5a1 r8942a5 1 // $Id: latex.lib,v 1.12 2000-12-19 15:05:28 anne Exp $2 // 1998/04/173 // author : Christian Gorzel email: gorzelc@math.uni-muenster.de4 //5 1 /////////////////////////////////////////////////////////////////////////////// 6 7 version="$Id: latex.lib,v 1.12 2000-12-19 15:05:28 anne Exp $"; 2 version="$Id: latex.lib,v 1.13 2000-12-22 14:11:33 greuel Exp $"; 8 3 category="Visualization"; 9 4 info=" 10 LIBRARY: latex.lib PROCEDURES FOR TYPESET OF SINGULAROBJECTS IN LATEX2E 11 5 LIBRARY: latex.lib Typesetting of Singular-Objects in LaTex2e 12 6 AUTHOR: Christian Gorzel, gorzelc@math.uni-muenster.de 13 7 … … 30 24 GLOBAL VARIABLES: 31 25 TeXwidth, TeXnofrac, TeXbrack, TeXproj, TeXaligned, TeXreplace, NoDollars 32 are used to control the typesetting 33 Call example texdemo; to become familiar with the features of latex.lib 34 26 are used to control the typesetting 27 Call example texdemo; to become familiar with the features of latex.lib 35 28 36 29 TeXwidth : int: -1,0,1..9, >9 controls the breaking of long polynomials … … 3117 3110 return(); 3118 3111 } 3112 /////////////////////////////////////////////////////////////////////////////// -
Singular/LIB/linalg.lib
r803c5a1 r8942a5 1 // 2 // last modified: 04/25/2000 by GMG 3 ////////////////////////////////////////////////////////////////////////////// 4 5 version="$Id: linalg.lib,v 1.6 2000-12-19 14:37:26 anne Exp $"; 1 //GMG last modified: 04/25/2000 2 ////////////////////////////////////////////////////////////////////////////// 3 version="$Id: linalg.lib,v 1.7 2000-12-22 14:12:32 greuel Exp $"; 6 4 category="Linear Algebra"; 7 5 info=" 8 LIBRARY: linalg.lib PROCEDURES FOR ALGORITHMIC LINEAR ALGEBRA6 LIBRARY: linalg.lib Algorithmic Linear Algebra 9 7 AUTHOR: Ivor Saynisch (ivs@math.tu-cottbus.de) 10 8 … … 32 30 33 31 ////////////////////////////////////////////////////////////////////////////// 34 35 //////////////////////////////////////////////////////////////////////////////36 32 // help functions 37 33 ////////////////////////////////////////////////////////////////////////////// 38 static 39 proc abs(poly c) 34 static proc abs(poly c) 40 35 "RETURN: absolut value of c, c must be constants" 41 36 { … … 65 60 return(1); 66 61 } 67 static 68 proc red(matrix A,int i,int j)62 ////////////////////////////////////////////////////////////////////////////// 63 static proc red(matrix A,int i,int j) 69 64 "USAGE: red(A,i,j); A = constant matrix 70 65 reduces column j with respect to A[i,i] and column i … … 91 86 } 92 87 93 // proc sp(vector v1,vector v2)88 ////////////////////////////////////////////////////////////////////////////// 94 89 proc inner_product(vector v1,vector v2) 95 90 "RETURN: inner product <v1,v2> " … … 99 94 return ((transpose(matrix(v1,k,1))*matrix(v2,k,1))[1,1]); 100 95 } 101 102 96 103 97 ///////////////////////////////////////////////////////////////////////////// … … 515 509 } 516 510 517 518 511 ////////////////////////////////////////////////////////////////////////////// 519 512 proc inverse_B(matrix A) … … 560 553 } 561 554 562 563 555 ////////////////////////////////////////////////////////////////////////////// 564 556 proc det_B(matrix A) … … 575 567 L=busadj(A); 576 568 return((-1)^n*L[1][1]); 577 578 579 569 } 580 570 example … … 585 575 det_B(A); 586 576 } 587 588 577 589 578 ////////////////////////////////////////////////////////////////////////////// … … 820 809 } 821 810 822 823 811 ////////////////////////////////////////////////////////////////////////////// 824 812 proc gauss_nf(matrix A) … … 929 917 } 930 918 931 932 919 ////////////////////////////////////////////////////////////////////////////// 933 920 proc pos_def(matrix A) … … 991 978 } 992 979 993 994 980 ////////////////////////////////////////////////////////////////////////////// 995 981 proc linsolve(matrix A, matrix b) -
Singular/LIB/makedbm.lib
r803c5a1 r8942a5 1 // $Id: makedbm.lib,v 1.10 2000-12-19 18:31:47 obachman Exp $ 2 //========================================================================= 3 // 4 // Please send bugs and comments to krueger@mathematik.uni-kl.de 5 // 6 //============================================================================= 7 8 version="$Id: makedbm.lib,v 1.10 2000-12-19 18:31:47 obachman Exp $"; 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: makedbm.lib,v 1.11 2000-12-22 14:14:05 greuel Exp $"; 9 3 category="Miscellaneous"; 10 4 info=" 11 LIBRARY: makedbm.lib some usefull tools needed by the Arnold-Classifier. 12 13 dbm_read(l); read all entries from a DBM-databaes pointed by l 14 dbm_getnext(l); read next entry from a DBM-databaes pointed by l 15 create_sing_dbm(); 16 read_sing_dbm(); 5 LIBRARY: makedbm.lib Data Base of Singularities for the Arnold-Classifier 6 AUTHOR: Kai Krueger, krueger@mathematik.uni-kl.de 7 8 PROCEDURES: 9 dbm_read(l); read all entries from a DBM-databaes pointed by l 10 dbm_getnext(l); read next entry from a DBM-databaes pointed by l 11 create_sing_dbm(); 12 read_sing_dbm(); 17 13 "; 18 14 -
Singular/LIB/matrix.lib
r803c5a1 r8942a5 1 // $Id: matrix.lib,v 1.14 2000-12-19 14:37:26 anne Exp $2 1 // GMG/BM, last modified: 8.10.98 3 2 /////////////////////////////////////////////////////////////////////////////// 4 5 version="$Id: matrix.lib,v 1.14 2000-12-19 14:37:26 anne Exp $"; 3 version="$Id: matrix.lib,v 1.15 2000-12-22 14:15:05 greuel Exp $"; 6 4 category="Linear Algebra"; 7 5 info=" 8 LIBRARY: matrix.lib PROCEDURES FOR MATRIX OPERATIONS6 LIBRARY: matrix.lib Elementary Matrix Operations 9 7 10 8 PROCEDURES: … … 463 461 { 464 462 int i,j; 465 matrix C=B; 466 for( i=2; i<=nrows(A); i=i+1 ) { C=dsum(C,B); } 467 matrix D[nrows(C)][ncols(A)*nrows(B)]; 468 for( j=1; j<=nrows(B); j=j+1 ) 469 { 470 for( i=1; i<=nrows(A); i=i+1 ) 471 { 472 D[(i-1)*nrows(B)+j,(j-1)*ncols(A)+1..j*ncols(A)]=A[i,1..ncols(A)]; 473 } 474 } 475 return(concat(C,D)); 463 matrix C,D; 464 for( i=1; i<=nrows(A); i++ ) 465 { 466 C = A[i,1]*B; 467 for( j=2; j<=ncols(A); j++ ) 468 { 469 C = concat(C,A[i,j]*B); 470 } 471 D = concat(D,transpose(C)); 472 } 473 D = transpose(D); 474 return(submat(D,2..nrows(D),1..ncols(D))); 476 475 } 477 476 example -
Singular/LIB/mondromy.lib
r803c5a1 r8942a5 1 1 /////////////////////////////////////////////////////////////////////////////// 2 3 version="$Id: mondromy.lib,v 1.17 2000-12-19 15:05:30 anne Exp $"; 2 version="$Id: mondromy.lib,v 1.18 2000-12-22 14:16:11 greuel Exp $"; 4 3 category="Singularities"; 5 4 info=" 6 LIBRARY: mondromy.lib PROCEDURES TO COMPUTE THE MONODROMY OF A SINGULARITY5 LIBRARY: mondromy.lib Monodromy of an Isolated Hypersurface Singularity 7 6 AUTHOR: Mathias Schulze, email: mschulze@mathematik.uni-kl.de 8 7 … … 15 14 16 15 PROCEDURES: 16 detadj(U); determinant and adjoint matrix of square matrix U 17 17 invunit(u,n); series inverse of polynomial u up to order n 18 detadj(U); determinant and adjoint matrix of square matrix U19 18 jacoblift(f); lifts f^kappa in jacob(f) with minimal kappa 20 19 monodromy(f[,opt]); monodromy of isolated hypersurface singularity f -
Singular/LIB/mregular.lib
r803c5a1 r8942a5 1 // $Id: mregular.lib,v 1.3 2000-12-19 14:41:43 anne Exp $2 1 // IB/PG/GMG, last modified: 21.7.2000 3 2 ////////////////////////////////////////////////////////////////////////////// 4 version = "$Id: mregular.lib,v 1. 3 2000-12-19 14:41:43 anneExp $";3 version = "$Id: mregular.lib,v 1.4 2000-12-22 14:17:21 greuel Exp $"; 5 4 category="Commutative Algebra"; 6 5 info=" 7 LIBRARY: mregular.lib PROCEDURES FOR THE CASTELNUOVO-MUMFORD REGULARITY8 AUTHORS: I.Bermejo, email:ibermejo@ull.es9 Ph.Gimenez, email:pgimenez@agt.uva.es10 G.-M.Greuel, email:greuel@mathematik.uni-kl.de6 LIBRARY: mregular.lib Castelnuovo-Mumford Regularity of CM-Schemes and Curves 7 AUTHORS: I.Bermejo, ibermejo@ull.es 8 Ph.Gimenez, pgimenez@agt.uva.es 9 G.-M.Greuel, greuel@mathematik.uni-kl.de 11 10 12 A library for computing the Castelnuovo-Mumford regularity of a subscheme of 13 the projective n-space that DOES NOT require the computation of a minimal 14 graded free resolution of the saturated ideal defining the subscheme. 11 OVERVIEW: 12 A library for computing the Castelnuovo-Mumford regularity of a subscheme of 13 the projective n-space that DOES NOT require the computation of a minimal 14 graded free resolution of the saturated ideal defining the subscheme. 15 The procedures are based on two papers by Isabel Bermejo and Philippe Gimenez: 16 'On Castelnuovo-Mumford regularity of projective curves' Proc.Amer.Math.Soc. 17 128(5) (2000), and 'Computing the Castelnuovo-Mumford regularity of some 18 subschemes of Pn using quotients of monomial ideals', Proceedings of 19 MEGA-2000, J. Pure Appl. Algebra (to appear). 20 The algorithm assumes the variables to be in Noether position. 15 21 16 22 PROCEDURES: … … 18 24 reg_curve(id,[,e]); regularity of projective curve V(id_sat) in Pn 19 25 reg_moncurve(li); regularity of projective monomial curve defined by li 26 "; 20 27 21 REMARK:22 The procedures are based on two papers by Isabel Bermejo and Philippe Gimenez:23 'On Castelnuovo-Mumford regularity of projective curves'24 Proc.Amer.Math.Soc. 128(5) (2000), and25 'Computing the Castelnuovo-Mumford regularity of some subschemes of Pn using26 quotients of monomial ideals',27 Proceedings of MEGA-2000, J. Pure Appl. Algebra (to appear).28 29 IMPORTANT:30 To use the first two procedures, the variables must be in Noether31 position, i.e. that the polynomial ring in the last variables must be a32 Noether normalization of basering/id.33 If it is not the case, you should compute a Noether normalization before,34 e.g. by using the procedure noetherNormal from algebra.lib.35 ";36 //37 28 LIB "general.lib"; 38 LIB " elim.lib";29 LIB "algebra.lib"; 39 30 LIB "sing.lib"; 40 31 LIB "poly.lib"; 41 32 ////////////////////////////////////////////////////////////////////////////// 42 // 33 43 34 proc reg_CM (ideal i) 44 35 " … … 48 39 the field K is infinite, and S/i-sat is Cohen-Macaulay. 49 40 Assume that K[x(n-d),...,x(n)] is a Noether normalization of S/i-sat 50 where d=dim S/i -1. 41 where d=dim S/i -1. If this is not the case, compute a Noether 42 normalization e.g. by using the proc noetherNormal from algebra.lib. 51 43 NOTE: The output is reg(X)=reg(i-sat) where X is the arithmetically 52 44 Cohen-Macaulay subscheme of the projective n-space defined by i. … … 147 139 reg_CM(i); 148 140 } 141 142 /////////////////////////////////////////////////////////////////////////////// 149 143 /* 150 144 Out-commented examples: … … 195 189 */ 196 190 ////////////////////////////////////////////////////////////////////////////// 197 // 191 198 192 proc reg_curve (ideal i, list #) 199 193 " … … 494 488 reg_curve(j); 495 489 } 490 491 /////////////////////////////////////////////////////////////////////////////// 496 492 /* 497 493 Out-commented examples: … … 552 548 */ 553 549 ////////////////////////////////////////////////////////////////////////////// 554 // 550 555 551 proc reg_moncurve (list #) 556 552 " … … 774 770 reg_moncurve(0,1,3,5,6); 775 771 } 772 /////////////////////////////////////////////////////////////////////////////// 776 773 /* 777 774 Out-commented examples: … … 811 808 // 812 809 */ 813 //814 810 ////////////////////////////////////////////////////////////////////////////// 815 // 811 -
Singular/LIB/normal.lib
r803c5a1 r8942a5 1 1 /////////////////////////////////////////////////////////////////////////////// 2 // normal.lib 3 // algorithms for computing the normalization based on 4 // the criterion of Grauert/Remmert and ideas of De Jong & Vasconcelos 5 /////////////////////////////////////////////////////////////////////////////// 6 7 version="$Id: normal.lib,v 1.27 2000-12-19 14:41:43 anne Exp $"; 2 version="$Id: normal.lib,v 1.28 2000-12-22 14:18:34 greuel Exp $"; 8 3 category="Commutative Algebra"; 9 4 info=" 10 LIBRARY: normal.lib PROCEDURES FOR NORMALIZATION11 AUTHORS: G ert-Martin Greuel, email:greuel@mathematik.uni-kl.de,12 G erhard Pfister, email:pfister@mathematik.uni-kl.de5 LIBRARY: normal.lib Normalization of Affine Rings 6 AUTHORS: G.-M. Greuel greuel@mathematik.uni-kl.de, 7 G. Pfister pfister@mathematik.uni-kl.de 13 8 14 9 PROCEDURES: … … 24 19 LIB "inout.lib"; 25 20 /////////////////////////////////////////////////////////////////////////////// 26 static 27 proc isR_HomJR (list Li) 21 static proc isR_HomJR (list Li) 28 22 "USAGE: isR_HomJR (Li); Li = list: ideal SBid, ideal J, poly p 29 23 COMPUTE: module Hom_R(J,R) = R:J and compare with R … … 376 370 377 371 /////////////////////////////////////////////////////////////////////////////// 372 378 373 proc normal(ideal id, list #) 379 374 "USAGE: normal(i [,choose]); i a radical ideal, choose empty or 1 380 375 if choose=1 the normalization of the associated primes is computed 381 376 (which is sometimes more efficient) 377 ASSUME: The ideal must be radical, for non radical ideals the output may 378 be wrong (i=radical(i); makes i radical) 382 379 RETURN: a list of rings (say nor), in each ring nor[i] are two ideals 383 380 norid, normap such that the direct sum of the rings nor[i]/norid is … … 386 383 NOTE: to use the i-th ring type: def R=nor[i]; setring R; 387 384 increasing printlevel displays more comments (default: printlevel=0) 388 COMMENT:Not implemented for local or mixed orderings.385 Not implemented for local or mixed orderings. 389 386 If the input ideal i is weighted homogeneous a weighted ordering may 390 387 be used (qhweight(i); computes weights). 391 CAUTION: The proc does not check whether the input is radical, for non radical392 ideals the output may be wrong (i=radical(i); makes i radical)393 388 EXAMPLE: example normal; shows an example 394 389 " … … 536 531 537 532 /////////////////////////////////////////////////////////////////////////////// 538 static 539 proc normalizationPrimes(ideal i,ideal ihp, list #) 533 static proc normalizationPrimes(ideal i,ideal ihp, list #) 540 534 "USAGE: normalizationPrimes(i,ihp[,si]); i prime ideal, ihp map 541 535 (partial normalization), si SB of singular locus … … 1133 1127 } 1134 1128 /////////////////////////////////////////////////////////////////////////////// 1135 static 1136 proc substpart(ideal endid, ideal endphi, int homo, intvec rw) 1129 static proc substpart(ideal endid, ideal endphi, int homo, intvec rw) 1137 1130 1138 1131 "//Repeated application of elimpart to endid, until no variables can be … … 1417 1410 ring r=0,(u,v,w,x,y,z),wp(1,1,1,3,2,1); 1418 1411 ideal i=wx,wy,wz,vx,vy,vz,ux,uy,uz,y3-x2; 1419 1420 1421 1422 1412 */ 1423 1413 -
Singular/LIB/ntsolve.lib
r803c5a1 r8942a5 1 1 //(GMG, last modified 16.12.00) 2 2 /////////////////////////////////////////////////////////////////////////////// 3 version="$Id: ntsolve.lib,v 1. 9 2000-12-19 15:05:31 anneExp $";3 version="$Id: ntsolve.lib,v 1.10 2000-12-22 14:20:04 greuel Exp $"; 4 4 category="Symbolic-numerical solving"; 5 5 info=" 6 LIBRARY: ntsolve.lib R EAL NEWTON SOLVING OF POLYNOMIAL SYSTEMS6 LIBRARY: ntsolve.lib Real Newton Solving of Polynomial Systems 7 7 AUTHORS: Wilfred Pohl, email: pohl@mathematik.uni-kl.de 8 8 Dietmar Hillebrand -
Singular/LIB/paramet.lib
r803c5a1 r8942a5 1 // $Id: paramet.lib,v 1.7 2000-12-19 15:05:31 anne Exp $2 // author : Thomas Keilen email: keilen@mathematik.uni-kl.de3 1 // last change: 05.12.2000 4 2 /////////////////////////////////////////////////////////////////////////////// 5 version="$Id: paramet.lib,v 1. 7 2000-12-19 15:05:31 anneExp $";3 version="$Id: paramet.lib,v 1.8 2000-12-22 14:20:59 greuel Exp $"; 6 4 category="Visualization"; 7 5 info=" 8 LIBRARY: paramet.lib P ROCEDURES FOR PARAMETRIZATIONS9 AUTHOR: Thomas Keilen, email:keilen@mathematik.uni-kl.de6 LIBRARY: paramet.lib Parametrization of Varieties 7 AUTHOR: Thomas Keilen, keilen@mathematik.uni-kl.de 10 8 11 9 OVERVIEW: 12 10 A library to compute parametrizations of algebraic varieties (if possible) 13 with the aid of a primary decomposition, respectively to compute a14 parametrization of a plane curve singularity with the aid of a11 with the aid of a normalization, or a primary decomposition, resp. to compute 12 a parametrization of a plane curve singularity with the aid of a 15 13 Hamburger-Noether expansion. 16 14 … … 26 24 /////////////////////////////////////////////////////////////////////////////// 27 25 28 29 26 proc parametrize(ideal I) 30 "USAGE: parametrize( ); I ideal in an arbitrary number of variables,27 "USAGE: parametrize(I); I ideal in an arbitrary number of variables, 31 28 whose radical is prime, in a ring with global ordering 32 29 RETURN: a list containing the parametrization ideal resp. the original ideal, … … 99 96 ring RING=0,(x,y,z),dp; 100 97 ideal I=z2-y2x2+x3; 101 parametrize(I); parametrize(I);98 parametrize(I); 102 99 } 103 100 /////////////////////////////////////////////////////////////////////////////// 104 101 105 106 107 102 proc parametrizepd(ideal I) 108 "USAGE: parametrizepd( ); I ideal in a polynomial ring with global ordering103 "USAGE: parametrizepd(I); I ideal in a polynomial ring with global ordering 109 104 RETURN: a list of lists, where each entry contains the parametrization 110 105 of a primary component of I resp. 0, the number of variables … … 184 179 ///////////////////////////////////////////////////////////////////////////// 185 180 186 187 188 181 proc parametrizesing(poly f) 189 182 "USAGE: parametrizesing(); f a polynomial in two variables,ordering ls or ds 190 RETURN: a list containing the parametrizations of the different branchesof the191 singularity at the origin resp. 0, if f was not of the desired kind183 RETURN: a list of ideals, each ideal parametrizes a branch of the 184 singularity at the origin; resp. 0, if f was not of the desired kind 192 185 CREATE: If the parametrization is successful, the basering will be changed to 193 186 the parametrization ring, that is to the ring 0,(x,y),ls; -
Singular/LIB/poly.lib
r803c5a1 r8942a5 1 // $Id: poly.lib,v 1.28 2000-12-19 14:37:26 anne Exp $ 2 //(GMG, last modified 22.06.96) 3 //(obachman: 17.12.97 -- added katsura) 4 //(anne: 11.12.2000 -- added mod2id, id2mod, subrInterred) 5 /////////////////////////////////////////////////////////////////////////////// 6 7 version="$Id: poly.lib,v 1.28 2000-12-19 14:37:26 anne Exp $"; 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: poly.lib,v 1.29 2000-12-22 14:22:23 greuel Exp $"; 8 3 category="General purpose"; 9 4 info=" 10 LIBRARY: poly.lib PROCEDURES FOR MANIPULATING POLYS, IDEALS, MODULES 5 LIBRARY: poly.lib Procedures for Manipulating Polys, Ideals, Modules 6 AUTHORS: O. Bachmann, G.-M: Greuel, A. Fruehbis 11 7 12 8 PROCEDURES: … … 68 64 "USAGE: katsura([n]): n integer 69 65 RETURN: katsura(n) : n-th katsura ideal of 70 71 72 66 (1) newly created and set ring (32003, x(0..n), dp), if 67 nvars(basering) < n 68 (2) basering, if nvars(basering) >= n 73 69 katsura() : katsura ideal of basering 74 70 EXAMPLE: example katsura; shows examples … … 820 816 821 817 proc subrInterred(ideal mon, ideal sm, intvec iv) 822 "USAGE: 823 824 825 826 827 828 829 830 RETURN: 818 "USAGE: subrInterred(mon,sm,iv); 819 sm: ideal in a ring r with n + s variables, 820 e.g. x_1,..,x_n and t_1,..,t_s 821 mon: ideal with monomial generators (not divisible by 822 one of the t_i) such that sm is contained in the module 823 k[t_1,..,t_s]*mon[1]+..+k[t_1,..,t_s]*mon[size(mon)] 824 iv: intvec listing the variables which are supposed to be used 825 as x_i 826 RETURN: list l: 831 827 l[1]=the monomials from mon in the order used 832 828 l[2]=their coefficients after interreduction 833 829 l[3]=l[1]*l[2] 834 835 836 EXAMPLE: 830 (interreduced system of generators of sm seen as a submodule 831 of k[t_1,..,t_s]*mon[1]+..+k[t_1,..,t_s]*mon[size(mon)]) 832 EXAMPLE: example subrInterred; shows an example" 837 833 { 838 834 int p = printlevel-voice+3; // p=printlevel+1 (default: p=1) -
Singular/LIB/presolve.lib
r803c5a1 r8942a5 1 // $Id: presolve.lib,v 1.14 2000-12-19 15:05:32 anne Exp $ 2 //(GMG) 3 /////////////////////////////////////////////////////////////////////////////// 4 5 version="$Id: presolve.lib,v 1.14 2000-12-19 15:05:32 anne Exp $"; 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: presolve.lib,v 1.15 2000-12-22 14:23:35 greuel Exp $"; 6 3 category="Symbolic-numerical solving"; 7 4 info=" 8 LIBRARY: presolve.lib P ROCEDURES FOR PRE-SOLVING POLYNOMIAL EQUATIONS5 LIBRARY: presolve.lib Pre-Solving of Polynomial Equations 9 6 AUTHOR: Gert-Martin Greuel, email: greuel@mathematik.uni-kl.de, 10 7 -
Singular/LIB/primdec.lib
r803c5a1 r8942a5 1 // $Id: primdec.lib,v 1.80 2000-12-19 14:41:44 anne Exp $2 1 /////////////////////////////////////////////////////////////////////////////// 3 // primdec.lib // 4 // algorithms for primary decomposition based on // 5 // the ideas of Gianni,Trager,Zacharias // 6 // written by Gerhard Pfister // 7 // // 8 // algorithms for primary decomposition based on // 9 // the ideas of Shimoyama/Yokoyama // 10 // written by Wolfram Decker and Hans Schoenemann // 11 /////////////////////////////////////////////////////////////////////////////// 12 13 version="$Id: primdec.lib,v 1.80 2000-12-19 14:41:44 anne Exp $"; 2 version="$Id: primdec.lib,v 1.81 2000-12-22 14:24:36 greuel Exp $"; 14 3 category="Commutative Algebra"; 15 4 info=" 16 LIBRARY: primdec.lib P ROCEDURES FOR PRIMARY DECOMPOSITION5 LIBRARY: primdec.lib Primary Decomposition and Radical of Ideals 17 6 AUTHORS: Gerhard Pfister, email: pfister@mathematik.uni-kl.de (GTZ) 18 7 Wolfram Decker, email: decker@math.uni-sb.de (SY) 19 8 Hans Schoenemann, email: hannes@mathematik.uni-kl.de (SY) 20 9 10 OVERVIEW: 11 Algorithms for primary decomposition based on the ideas of 12 Gianni,Trager,Zacharias was written by Gerhard Pfister. 13 Algorithms for primary decomposition based on the ideas of 14 Shimoyama/Yokoyama was written by Wolfram Decker and Hans Schoenemann. 15 These procedures are implemented to be used in characteristic 0. 16 @*They also work in positive characteristic >> 0. 17 @*In small characteristic and for algebraic extensions, primdecGTZ, 18 minAssGTZ, radical and equiRadical may not terminate and primdecSY and 19 minAssChar may not give a complete decomposition. 20 21 21 PROCEDURES: 22 primdecGTZ(I); complete primary decomposition via Gianni,Trager,Zacharias 23 primdecSY(I...); complete primary decomposition via Shimoyama-Yokoyama 24 minAssGTZ(I); the minimal associated primes via Gianni,Trager,Zacharias 25 minAssChar(I...); the minimal associated primes using characteristic sets 26 testPrimary(L,k); tests the result of the primary decomposition 27 radical(I); computes the radical of the ideal I 28 equiRadical(I); the radical of the equidimensional part of the ideal I 29 prepareAss(I); list of radicals of the equidimensional components of I 30 equidim(I); weak equidimensional decomposition of I 31 equidimMax(I); equidimensional locus of I 32 equidimMaxEHV(I); equidimensional locus of I via Eisenbud,Huneke,Vasconcelos 33 zerodec(I); zerodimensional decomposition via Monico 34 35 REMARK: 36 These procedures are implemented to be used in characteristic 0. 37 @*They also work in positive characteristic >> 0. 38 @*In small characteristic and for algebraic extensions, primdecGTZ, 39 minAssGTZ, radical and equiRadical may not terminate and primdecSY and 40 minAssChar may not give a complete decomposition. "; 22 primdecGTZ(I); complete primary decomposition via Gianni,Trager,Zacharias 23 primdecSY(I...); complete primary decomposition via Shimoyama-Yokoyama 24 minAssGTZ(I); the minimal associated primes via Gianni,Trager,Zacharias 25 minAssChar(I...); the minimal associated primes using characteristic sets 26 testPrimary(L,k); tests the result of the primary decomposition 27 radical(I); computes the radical of the ideal I 28 equiRadical(I); the radical of the equidimensional part of the ideal I 29 prepareAss(I); list of radicals of the equidimensional components of I 30 equidim(I); weak equidimensional decomposition of I 31 equidimMax(I); equidimensional locus of I 32 equidimMaxEHV(I); equidimensional locus of I via Eisenbud,Huneke,Vasconcelos 33 zerodec(I); zerodimensional decomposition via Monico 34 "; 41 35 42 36 LIB "general.lib"; … … 4702 4696 RETURN: a list of primary ideals, the zero-dimensional decomposition of I 4703 4697 ASSUME: I is zero-dimensional, the characterisitic of the ground field is 0 4704 NOTE: the algorithm ,due to C. Monico, works well only goodfor small total4698 NOTE: the algorithm (of C. Monico), works well only for small total 4705 4699 number of solutions (i.e. vdim(std(I)) should be < 100) 4706 and without parameters. In practi se, it works also in big4700 and without parameters. In practice, it works also in big 4707 4701 characteristic p>0 but may fail for small p. 4708 4702 If printlevel > 0 (default = 0) additional information is displayed -
Singular/LIB/primitiv.lib
r803c5a1 r8942a5 1 // $Id: primitiv.lib,v 1.12 2000-12-19 14:41:45 anne Exp $ 2 // last change: 12.08.99 1 // last change ML: 12.08.99 3 2 /////////////////////////////////////////////////////////////////////////////// 4 3 // This library is for Singular 1.2 or newer 5 4 6 version="$Id: primitiv.lib,v 1.1 2 2000-12-19 14:41:45 anneExp $";5 version="$Id: primitiv.lib,v 1.13 2000-12-22 14:25:37 greuel Exp $"; 7 6 category="Commutative Algebra"; 8 7 info=" 9 LIBRARY: primitiv.lib PROCEDURES FOR FINDING A PRIMITIVE ELEMENT8 LIBRARY: primitiv.lib Computing a Primitive Element 10 9 AUTHOR: Martin Lamm, email: lamm@mathematik.uni-kl.de 10 11 11 PROCEDURES: 12 12 primitive(ideal i); find minimal polynomial for a primitive element … … 15 15 "; 16 16 17 ///////////////////////////////////////////////////////////////////////////////18 17 LIB "random.lib"; 19 18 /////////////////////////////////////////////////////////////////////////////// … … 21 20 proc primitive(ideal i) 22 21 "USAGE: primitive(i); i ideal of the following form: 23 Let k be the ground field of your basering, a_1,...,a_n algebraic over k, @* 24 m_1(x_1), m_2(x_1,x_2),...,m_n(x_1,...,x_n) polynomials in k such that @* 25 m_j(a_1,...,a_(j-1),x_j) is minimal polynomial for a_j over k(a_1,...,a_(j-1)) 26 for all j=1,...,n. 27 Then i has to be generated by m_1,...,m_n. 28 29 RETURN: ideal j in k[x_n] such that 30 j[1] is minimal polynomial for a primitive element b of k(a_1,...,a_n)=k(b) 31 over k 32 j[2],...,j[n+1] polynomials in k[x_n] : j[i+1](b)=a_i for i=1,...,n 33 NOTE: the number of variables in the basering has to be exactly the number n 34 of given algebraic elements (and minimal polynomials). 35 36 If k has few elements it can be that no one of the linear combinations 37 of a_1,...,a_n is a primitive element. In this case `primitive' 38 returns the zero ideal. If this occurs use primitive_extra instead. 22 Let k be the ground field of your basering, a_1,...,a_n algebraic 23 over k, m_1(x_1), m_2(x_1,x_2),...,m_n(x_1,...,x_n) polynomials over 24 k such that m_j(a_1,...,a_(j-1),x_j) is minimal polynomial for 25 a_j over k(a_1,...,a_(j-1)) for all j=1,...,n. 26 Then i has to be generated by m_1,...,m_n. 27 RETURN: ideal j in k[x_n] such that 28 j[1] is minimal polynomial for a primitive element b of 29 k(a_1,...,a_n)=k(b) over k 30 j[2],...,j[n+1] polynomials in k[x_n] : j[i+1](b)=a_i for i=1,...,n 31 NOTE: the number of variables in the basering has to be exactly the number 32 n of given algebraic elements (and minimal polynomials). 33 If k has few elements it may happen that no linear combination 34 of a_1,...,a_n is a primitive element. In this case `primitive' 35 returns the zero ideal. If this occurs use primitive_extra instead. 39 36 SEE ALSO: primitive_extra 40 37 KEYWORDS: primitive element 41 EXAMPLE: example primitive; shows an example38 EXAMPLE: example primitive; shows an example 42 39 " 43 40 { … … 141 138 proc primitive_extra(ideal i) 142 139 "USAGE: primitive_extra(i); ideal i=f,g; with the following properties: @* 143 Let k=Q or k=Z/pZ be the ground field of the basering, a,b algebraic over k,144 x the name of the first ring variable, y the name of the second, then: @*145 f is the minimal polynomial of a in k[x], g is a polynomial in k[x,y] s.t.146 g(a,y) is the minimal polynomial of b in k(a)[y]147 140 Let k=Q or k=Z/pZ be the ground field of the basering, a,b algebraic 141 over k, x the name of the first ring variable, y the name of the 142 second, then: 143 f is the minimal polynomial of a in k[x], g is a polynomial in 144 k[x,y] s.t. g(a,y) is the minimal polynomial of b in k(a)[y] 148 145 RETURN: ideal j in k[y] such that 149 j[1] is minimal polynomial over k for a primitive element c of k(a,b)=k(c) @*150 j[2] is a polynomial s.t. j[2](c)=a151 152 NOTE: -While `primitive' may fail for finite fields, this proc tries all153 elements of k(a,b) and hence finds by assurance a primitive element.154 In order to do this (try all elements) field extensions like Z/pZ(a)155 are not allowed for the ground field k.156 -primitive_extra assumes that g is monic as polynomial in (k[x])[y]146 j[1] is minimal polynomial over k for a primitive element c of 147 k(a,b)=k(c) 148 j[2] is a polynomial s.t. j[2](c)=a 149 NOTE: While `primitive' may fail for finite fields, this proc tries all 150 elements of k(a,b) and hence finds by assurance a primitive element. 151 In order to do this (try all elements) field extensions like Z/pZ(a) 152 are not allowed for the ground field k. 153 primitive_extra assumes that g is monic as polynomial in (k[x])[y] 157 154 EXAMPLE: example primitive_extra; shows an example 158 155 " … … 248 245 249 246 proc splitring 250 "USAGE: splitring(f,R[,L]); f poly, univariate and irreducible(!) over the247 "USAGE: splitring(f,R[,L]); f poly, univariate and irreducible(!) over the 251 248 active basering; R string, L list of polys and/or ideals (optional) 252 CREATE: a ring with name R, in which f is reducible, and change to it. 253 If the old ring has no parameter, the name 'a' is chosen for the 254 parameter of R (if a is no variable; if it is, the proc takes 'b', 255 etc.; if a,b,c,o are variables of the ring, produce an error message), 256 otherwise the name of the parameter is kept and only the 257 minimal polynomial is changed. 258 The names of variables and orderings are not affected. 259 260 It is also allowed to call splitring with R==\"\". Then the old basering 261 will be REPLACED by the new ring (with the same name as the old ring). 262 263 RETURN: list L mapped into the new ring R, if L is given; else nothing 264 ASSUME: The active ring must allow an algebraic extension 249 CREATE: a ring with name R, in which f is reducible, and change to it. 250 If the old ring has no parameter, the name 'a' is chosen for the 251 parameter of R (if a is no variable; if it is, the proc takes 'b', 252 etc.; if a,b,c,o are variables of the ring, produce an error message), 253 otherwise the name of the parameter is kept and only the 254 minimal polynomial is changed. 255 The names of variables and orderings are not affected. 256 It is also allowed to call splitring with R==\"\". 257 Then the old basering will be REPLACED by the new ring 258 (with the same name as the old ring). 259 RETURN: list L mapped into the new ring R, if L is given; else nothing 260 ASSUME: The active ring must allow an algebraic extension 265 261 (e.g. it cannot be a transcendent ring extension of Q or Z/p). 266 262 KEYWORDS: algebraic field extension; extension of rings … … 400 396 kill r1; kill r2; 401 397 } 398 /////////////////////////////////////////////////////////////////////////////// -
Singular/LIB/qhmoduli.lib
r803c5a1 r8942a5 3 3 category="Singularities"; 4 4 info=" 5 LIBRARY: qhmoduli.lib PROCEDURES FOR MODULI SPACES OF SQH-SINGULARITIES5 LIBRARY: qhmoduli.lib Moduli Spaces of Semi-Quasihomogeneous Singularities 6 6 AUTHOR: Thomas Bayer, email: bayert@in.tum.de 7 7 … … 43 43 2 use a primary decomposition 44 44 4 compute E_f0, i.e., the image of G_f0 45 To combine options, add their value. 46 DEFAULT: opt = 7 45 To combine options, add their value, default: opt =7 47 46 EXAMPLE: example ModEqn; shows an example 48 47 " … … 199 198 RETURN: polynomial ring over a simple extension of the groundfield of the 200 199 basering, containing the ideals 'id' and 'embedid'. 201 - 'id' contains the equations of the quotient if opt = 1,202 if opt = 0, 2 'id' contains generators of the coordinate ring R203 of the quotient (Spec(R) is the quotient)204 - 'embedid' = 0 if opt = 1,205 if opt = 0, 2 it is the ideal defining the equivariant embedding200 - 'id' contains the equations of the quotient if opt = 1, 201 if opt = 0, 2 'id' contains generators of the coordinate ring R 202 of the quotient (Spec(R) is the quotient) 203 - 'embedid' = 0 if opt = 1, 204 if opt = 0, 2 it is the ideal defining the equivariant embedding 206 205 OPTIONS: 1 compute equations of the quotient, 207 206 2 use a primary decomposition when computing the Reynolds operator 208 To combine options, add their value. 209 DEFAULT: opt = 3 207 To combine options, add their value, default: opt =3. 210 208 EXAMPLE: example QuotientEquations; shows an example 211 209 " … … 726 724 RETURN: list 727 725 _[1] list of monomials 728 _[2] list of terms726 _[2] list of terms 729 727 EXAMPLE: example MonosAndTerms shows an example 730 728 " … … 761 759 weighted degree = d 762 760 RETURN: list 763 _[1] list of monomials764 _[2] list of terms761 _[1] list of monomials 762 _[2] list of terms 765 763 EXAMPLE: example SelectMonos; shows an example 766 764 " … … 1191 1189 proc AllCombinations(list partition, list indices) 1192 1190 "USAGE: AllCombinations(partition,indices); list partition, indices) 1193 PURPOSE: all com pbinations for a given partititon1191 PURPOSE: all combinations for a given partititon 1194 1192 RETURN: list 1195 1193 GLOBAL: varSubsList, contains the index j s.t. x(i) -> x(i)t(j) ... -
Singular/LIB/random.lib
r803c5a1 r8942a5 1 // $Id: random.lib,v 1.12 2000-12-19 14:37:27 anne Exp $2 1 //(GMG/BM, last modified 22.06.96) 3 2 /////////////////////////////////////////////////////////////////////////////// 4 5 version="$Id: random.lib,v 1.12 2000-12-19 14:37:27 anne Exp $"; 3 version="$Id: random.lib,v 1.13 2000-12-22 14:29:01 greuel Exp $"; 6 4 category="General purpose"; 7 5 info=" 8 LIBRARY: random.lib PROCEDURES OF RANDOM MATRIX AND POLY OPERATIONS6 LIBRARY: random.lib Creating Random and Sparse Matrices, Ideals, Polys 9 7 10 8 PROCEDURES: 11 genericid(i d[,p,b]); generic sparse linear combinations of generators of id12 randomid(id,[k,b]); 13 randommat(n,m[,id,b]); 14 sparseid(k,u[,o,p,b]); 15 sparsemat(n,m[,p,b]); 16 sparsepoly(u[,o,p,b]); 17 sparsetriag(n,m[,.]); 18 randomLast(b); 19 randomBinomial(k,u [,.]); binomial ideal, k random generators of degree >=u9 genericid(i[,p,b]); generic sparse linear combinations of generators of i 10 randomid(id,[k,b]); random linear combinations of generators of id 11 randommat(n,m[,id,b]); nxm matrix of random linear combinations of id 12 sparseid(k,u[,o,p,b]); ideal of k random sparse poly's of degree d [u<=d<=o] 13 sparsemat(n,m[,p,b]); nxm sparse integer matrix with random coefficients 14 sparsepoly(u[,o,p,b]); random sparse polynomial with terms of degree in [u,o] 15 sparsetriag(n,m[,.]); nxm sparse lower-triag intmat with random coefficients 16 randomLast(b); random transformation of the last variable 17 randomBinomial(k,u,..); binomial ideal, k random generators of degree >=u 20 18 (parameters in square brackets [] are optional) 21 19 "; -
Singular/LIB/reesclos.lib
r803c5a1 r8942a5 1 1 /////////////////////////////////////////////////////////////////////////////// 2 // reesclos.lib3 ///////////////////////////////////////////////////////////////////////////////4 5 2 version="$id reesclos.lib,v 1.30 2000/12/5 hirsch Exp $"; 6 3 category="Commutative Algebra"; 7 4 info=" 8 LIBRARY: reesclos.lib 5 LIBRARY: reesclos.lib Rees Algebra and Integral Closure of Ideals 9 6 AUTHOR: Tobias Hirsch, email: hirsch@math.tu-cottbus.de 10 7 … … 98 95 //////////////////////////////////////////////////////////////////////////// 99 96 100 static 101 proc ClosureRees (list L) 97 static proc ClosureRees (list L) 102 98 "USAGE: ClosureRees (L); L a list containing 103 99 - a ring L[1], inside L[1] an ideal ker such that L[1]/ker is … … 401 397 //////////////////////////////////////////////////////////////////////////// 402 398 403 static 404 proc ClosurePower(list images, list #) 399 static proc ClosurePower(list images, list #) 405 400 "USAGE: ClosurePower (L [,#]); 406 401 - L a list containing generators of the closure of R[It] in k[x,t] … … 672 667 J; // J is the integral closure of I 673 668 } 669 /////////////////////////////////////////////////////////////////////////////// 670 /* 671 BEISPIELE 672 */ -
Singular/LIB/ring.lib
r803c5a1 r8942a5 1 // $Id: ring.lib,v 1.13 2000-12-19 14:37:27 anne Exp $2 1 //(GMG, last modified 03.11.95) 3 2 /////////////////////////////////////////////////////////////////////////////// 4 5 version="$Id: ring.lib,v 1.13 2000-12-19 14:37:27 anne Exp $"; 3 version="$Id: ring.lib,v 1.14 2000-12-22 14:33:13 greuel Exp $"; 6 4 category="General purpose"; 7 5 info=" 8 LIBRARY: ring.lib PROCEDURES FOR MANIPULATING RINGS AND MAPS6 LIBRARY: ring.lib Manipulating Rings and Maps 9 7 10 8 PROCEDURES: … … 13 11 changevar(\"R\",v[,r]); make a copy R of basering [ring r] with new vars v 14 12 defring(\"R\",c,n,v,o); define a ring R in specified char c, n vars v, ord o 15 defrings(n[,p]); define ring Sn in n vars, char 32003 [p], ord ds16 defringp(n[,p]); define ring Pn in n vars, char 32003 [p], ord dp13 defrings(n[,p]); define ring Sn in n vars, char 32003 [p], ord ds 14 defringp(n[,p]); define ring Pn in n vars, char 32003 [p], ord dp 17 15 extendring(\"R\",n,v,o); extend given ring by n vars v, ord o and name it R 18 fetchall(R[,str]); fetch all objects of ring R to basering19 imapall(R[,str]); imap all objects of ring R to basering20 mapall(R,i[,str]); map all objects of ring R via ideal i to basering21 ord_test(R); test wether ordering of R is global, local or mixed16 fetchall(R[,str]); fetch all objects of ring R to basering 17 imapall(R[,str]); imap all objects of ring R to basering 18 mapall(R,i[,str]); map all objects of ring R via ideal i to basering 19 ord_test(R); test wether ordering of R is global, local or mixed 22 20 ringtensor(\"R\",s,t,..);create ring R, tensor product of rings s,t,... 23 21 (parameters in square brackets [] are optional) … … 739 737 setring s; 740 738 ideal i = a2+b3+c5; 741 changevar("S","x,y,z"); 739 changevar("S","x,y,z"); //set S (change vars of s to x,y,z) the basering 742 740 qring qS =std(fetch(s,i)); //create qring of S mod i (maped to S) 743 741 changevar("T","d,e,f,g,h",t); //set T (change vars of t to d..h) the basering
Note: See TracChangeset
for help on using the changeset viewer.