Changeset 906458 in git
- Timestamp:
- Apr 7, 2009, 6:18:06 PM (14 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 5d98f437864469b655868be585350eeb57da2863
- Parents:
- 2ae96e40fc5453bcb155aec76d376d79dd549cbe
- Location:
- Singular/LIB
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/algebra.lib
r2ae96e r906458 3 3 //new proc nonZeroEntry(id), used to fix a bug in proc finitenessTest 4 4 /////////////////////////////////////////////////////////////////////////////// 5 version="$Id: algebra.lib,v 1.2 0 2009-04-03 20:58:53 motsakExp $";5 version="$Id: algebra.lib,v 1.21 2009-04-07 16:18:05 seelisch Exp $"; 6 6 category="Commutative Algebra"; 7 7 info=" … … 252 252 nonlinear relation h(p,i[1],...,i[k])=0. 253 253 @end format 254 NOTE: the proc algebra_containment tests the same witha different254 NOTE: the proc algebra_containment tests the same using a different 255 255 algorithm, which is often faster 256 256 if l[1] == 0 then l[2] may contain more than one relation h(y(0),y(1),...,y(k)), … … 622 622 NOTE: The algorithm returns 1 iff all the variables of the basering are 623 623 contained in the polynomial subalgebra generated by the polynomials 624 defining phi. Hence, i f the basering has local or mixed ordering625 or if the preimage ring is a quotient ring (in which case the map626 may not be well defined) then the return value 1 means \"surjectivity\"627 in this sense.624 defining phi. Hence, it tests surjectivity in the case of a global odering. 625 If the basering has local or mixed ordering or if the preimage ring is a 626 quotient ring (in which case the map may not be well defined) then the return 627 value 1 needs to be interpreted with care. 628 628 EXAMPLE: example is_surjective; shows an example 629 629 " … … 687 687 "USAGE: is_bijective(phi,pr); phi map to basering, pr preimage ring 688 688 RETURN: an integer, 1 if phi is bijective, 0 if not 689 NOTE: The algorithm checks first injectivity and then surjectivity 689 NOTE: The algorithm checks first injectivity and then surjectivity. 690 690 To interprete this for local/mixed orderings, or for quotient rings 691 691 type help is_surjective; and help is_injective; … … 795 795 @end format 796 796 NOTE: Designed for characteristic 0.It works also in char k > 0 if it 797 terminates,but may result in an infinite loop in small characteristic 797 terminates,but may result in an infinite loop in small characteristic. 798 798 EXAMPLE: example noetherNormal; shows an example 799 799 " -
Singular/LIB/cimonom.lib
r2ae96e r906458 1 1 // IB/IG/JJS, last modified: 10.07.2007 2 2 /////////////////////////////////////////////////////////////////////////////////////////////////////////// 3 version = "$Id: cimonom.lib,v 1. 3 2008-10-07 09:05:07 SingularExp $";3 version = "$Id: cimonom.lib,v 1.4 2009-04-07 16:18:05 seelisch Exp $"; 4 4 category="Commutative Algebra"; 5 5 info=" … … 560 560 example 561 561 { "EXAMPLE:"; 562 "printlevel = 0;";563 562 printlevel = 0; 564 "intvec d = 14,15,10,21;";565 563 intvec d = 14,15,10,21; 566 "CompInt(d);";567 564 CompInt(d); 568 " ";569 "printlevel = 2;";570 565 printlevel = 3; 571 "d = 36,54,125,150,225;";572 566 d = 36,54,125,150,225; 573 "CompInt(d);";574 567 CompInt(d); 575 " ";576 "d = 45,70,75,98,147;";577 568 d = 45,70,75,98,147; 578 "CompInt(d);";579 569 CompInt(d); 580 570 }; -
Singular/LIB/elim.lib
r2ae96e r906458 1 // $Id: elim.lib,v 1.2 8 2009-01-15 13:51:18 SingularExp $1 // $Id: elim.lib,v 1.29 2009-04-07 16:18:05 seelisch Exp $ 2 2 // (GMG, modified 22.06.96) 3 3 // GMG, last modified 30.10.08: new procedure elimRing; … … 10 10 // and can now choose as method slimgb or std. 11 11 /////////////////////////////////////////////////////////////////////////////// 12 version="$Id: elim.lib,v 1.2 8 2009-01-15 13:51:18 SingularExp $";12 version="$Id: elim.lib,v 1.29 2009-04-07 16:18:05 seelisch Exp $"; 13 13 category="Commutative Algebra"; 14 14 info=" … … 16 16 17 17 PROCEDURES: 18 blowup0(j[,s1,s2]) ;create presentation of blownup ring of ideal j19 elimRing(p) ;create ring with block ordering for elimating vars in p20 elim(id,..) ;variables .. eliminated from id (ideal/module)21 elim1(id,p) ;variables .. eliminated from id (different algorithm)22 elim2(id,..) ;variables .. eliminated from id (different algorithm)23 nselect(id,v) ;select generators not containing variables given by v24 sat(id,j) ;saturated quotient of ideal/module id by ideal j25 select(id,v]) ;select generators containing all variables given by v26 select1(id,v) ;select generators containing one variable given by v18 blowup0(j[,s1,s2]) create presentation of blownup ring of ideal j 19 elimRing(p) create ring with block ordering for elimating vars in p 20 elim(id,..) variables .. eliminated from id (ideal/module) 21 elim1(id,p) variables .. eliminated from id (different algorithm) 22 elim2(id,..) variables .. eliminated from id (different algorithm) 23 nselect(id,v) select generators not containing variables given by v 24 sat(id,j) saturated quotient of ideal/module id by ideal j 25 select(id,v]) select generators containing all variables given by v 26 select1(id,v) select generators containing one variable given by v 27 27 (parameters in square brackets [] are optional) 28 28 "; … … 63 63 The preimage of V(C) is called the exceptional set, the preimage of 64 64 V(J) is called the total transform of V(J). The strict transform 65 is the closure of (total transform -exceptional set).65 is the closure of (total transform minus the exceptional set). 66 66 @* If C = <x1,...,xn> then aS = <yi*xj - yj*xi | i,j=1,...,n> 67 67 and Z is the blowup of A^n in 0, the exceptional set is P^(k-1). … … 72 72 resp. the weighted ordering wp(b1,...bk) if C is homogeneous 73 73 with deg(C[i])=bi. 74 SEE ALSO:blowUp 74 SEE ALSO:blowUp, blowUp2 75 75 EXAMPLE: example blowup0; shows examples 76 76 "{ -
Singular/LIB/homolog.lib
r2ae96e r906458 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: homolog.lib,v 1.2 7 2008-10-09 09:31:57 SingularExp $";2 version="$Id: homolog.lib,v 1.28 2009-04-07 16:18:05 seelisch Exp $"; 3 3 category="Commutative Algebra"; 4 4 info=" … … 1725 1725 COMPUTE: A presentation of the p-th Koszul homology module H_p(f_1,...,f_k;M'), 1726 1726 where M'=coker(M) and f_1,...,f_k are the given (ordered list 1727 of non-zero generators of the)ideal I.1727 of non-zero) generators of the ideal I. 1728 1728 The computed presentation is minimized via prune. 1729 1729 In particular, if H_p(f_1,...,f_k;M')=0 then the return value is 0. -
Singular/LIB/intprog.lib
r2ae96e r906458 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: intprog.lib,v 1. 6 2006-07-25 17:54:27 SingularExp $";2 version="$Id: intprog.lib,v 1.7 2009-04-07 16:18:05 seelisch Exp $"; 3 3 category="Commutative Algebra"; 4 4 info=" … … 633 633 634 634 proc solve_IP 635 "USAGE: solve_IP(A,bx,c,alg); A intmat, bx intvec, c intvec, alg string. 635 "USAGE: solve_IP(A,bx,c,alg); A intmat, bx intvec, c intvec, alg string.@* 636 636 solve_IP(A,bx,c,alg); A intmat, bx list of intvec, c intvec, 637 alg string. 637 alg string.@* 638 638 solve_IP(A,bx,c,alg,prsv); A intmat, bx intvec, c intvec, 639 alg string, prsv intvec. 639 alg string, prsv intvec.@* 640 640 solve_IP(A,bx,c,alg,prsv); A intmat, bx list of intvec, c intvec, 641 641 alg string, prsv intvec. -
Singular/LIB/linalg.lib
r2ae96e r906458 1 1 //GMG last modified: 04/25/2000 2 2 ////////////////////////////////////////////////////////////////////////////// 3 version="$Id: linalg.lib,v 1. 39 2006-07-24 14:06:05 SingularExp $";3 version="$Id: linalg.lib,v 1.40 2009-04-07 16:18:05 seelisch Exp $"; 4 4 category="Linear Algebra"; 5 5 info=" … … 1476 1476 "USAGE: spnf(list(a[,m])); ideal a, intvec m 1477 1477 ASSUME: ncols(a)==size(m) 1478 RETURN: order a[i] with multiplicity m[i] lexicographically 1478 RETURN: list l: 1479 l[1] an ideal, the generators of a; sorted and with multiple entries displayed only once@* 1480 l[2] and intvec, l[2][i] provides the multiplicity of l[1][i] 1479 1481 EXAMPLE: example spnf; shows examples 1480 1482 " … … 1597 1599 1598 1600 proc spprint(list sp) 1599 "USAGE: spprint(sp); list sp (helper routine for spnf , gmssing.lib)1601 "USAGE: spprint(sp); list sp (helper routine for spnf) 1600 1602 RETURN: string s; spectrum sp 1601 1603 EXAMPLE: example spprint; shows examples -
Singular/LIB/mregular.lib
r2ae96e r906458 1 1 // IB/PG/GMG, last modified: 15.10.2004 2 2 ////////////////////////////////////////////////////////////////////////////// 3 version = "$Id: mregular.lib,v 1. 9 2008-10-06 17:04:27 SingularExp $";3 version = "$Id: mregular.lib,v 1.10 2009-04-07 16:18:05 seelisch Exp $"; 4 4 category="Commutative Algebra"; 5 5 info=" … … 1453 1453 (returns -1 if i = (0) or (1)). 1454 1454 ASSUME: The field K is infinite and i is a nonzero proper ideal. 1455 NOTE S1. It works also if K is a finite field if it terminates, but1455 NOTE: 1. It works also if K is a finite field if it terminates, but 1456 1456 may result in an infinite loop. If the procedure enters more 1457 than 30 loops, -1 is returned and a warning message is displayed. 1457 than 30 loops, -1 is returned and a warning message is displayed.@* 1458 1458 2. If printlevel > 0 (default = 0), additional info is displayed: 1459 1459 dim(S/i) and K[x(n-d+1),...,x(n)] are given. … … 1680 1680 ASSUME: i is a nonzero proper monomial ideal. 1681 1681 NOTES: 1. The ideal must be monomial, otherwise the result has no meaning 1682 (so check this before using this procedure). 1683 2. is_nested is used in procedures depthIdeal, regIdeal and satiety. 1682 (so check this before using this procedure).@* 1683 2. is_nested is used in procedures depthIdeal, regIdeal and satiety.@* 1684 1684 3. When i is a monomial ideal of nested type of S=K[x(0)..x(n)], 1685 1685 the a-invariant of S/i coincides with the upper bound obtained -
Singular/LIB/noether.lib
r2ae96e r906458 1 1 // AH last modified: 01.07.2007 2 2 ////////////////////////////////////////////////////////////////////////////// 3 version = "$Id: noether.lib,v 1.1 1 2008-10-06 17:04:28 SingularExp $";3 version = "$Id: noether.lib,v 1.12 2009-04-07 16:18:05 seelisch Exp $"; 4 4 category="Commutative Algebra"; 5 5 info=" … … 15 15 these algorithms is also provided. 16 16 The procedures are based on a paper of Amir Hashemi 'Efficient Algorithms for 17 Computing Noether Normalization' 18 (presented in ASCM 2007) 17 Computing Noether Normalization' (presented in ASCM 2007) 19 18 20 19 This library computes also Castelnuovo-Mumford regularity and satiety of an 21 20 ideal. A modular version of these algorithms is also provided. 22 21 The procedures are based on a paper of Amir Hashemi 'Computation of 23 Castelnuovo-Mumford regularity and satiety' 24 (preprint 2008) 22 Castelnuovo-Mumford regularity and satiety' (preprint 2008) 25 23 26 24 … … 46 44 " 47 45 USAGE: NPos_test (I); I monomial ideal 48 RETURN: A list which first element is 1 if i is in Noether position 49 0 otherwise. The second element of this list is the list of variable which 50 its first part is the variable such that a power of this varaibles belong to the initial of i. 51 It return also the dimension of i if i is in Noether position 46 RETURN: A list whose first element is 1, if i is in Noether position, 47 0 otherwise. The second element of this list is a list of variables ordered 48 such that those variables are listed first, of which a power belongs to the 49 initial ideal of i. If i is in Noether position, the method returns furthermore 50 the dimension of i. 52 51 ASSUME: i is a nonzero monomial ideal. 53 52 " -
Singular/LIB/normal.lib
r2ae96e r906458 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: normal.lib,v 1.5 0 2009-03-26 16:37:19 SingularExp $";2 version="$Id: normal.lib,v 1.51 2009-04-07 16:18:05 seelisch Exp $"; 3 3 category="Commutative Algebra"; 4 4 info=" … … 1904 1904 1905 1905 proc genus(ideal I,list #) 1906 "USAGE: genus( i) or genus(i,1); I a 1-dimensional ideal1906 "USAGE: genus(I) or genus(I,1); I a 1-dimensional ideal 1907 1907 RETURN: an integer, the geometric genus p_g = p_a - delta of the projective 1908 1908 curve defined by i, where p_a is the arithmetic genus. … … 1910 1910 i.e. dim(R'/R), R' the normalization of the local ring R of the 1911 1911 singularity. @* 1912 genus( i,1) uses the normalization to compute delta. Usually genus(i,1)1912 genus(I,1) uses the normalization to compute delta. Usually genus(i,1) 1913 1913 is slower than genus(i) but sometimes not. 1914 1914 EXAMPLE: example genus; shows an example … … 2541 2541 "USAGE: primeClosure(L [,c]); L a list of a ring containing a prime ideal 2542 2542 ker, c an optional integer 2543 RETURN: a list L (of size n+1) consisting of rings L[1],...,L[n] such that 2544 - L[1] is a copy of (not a reference to!) the input ring L[1] 2543 RETURN: a list L (of size n+1) consisting of rings L[1],...,L[n] such that@* 2544 - L[1] is a copy of (not a reference to!) the input ring L[1]@* 2545 2545 - all rings L[i] contain ideals ker, L[2],...,L[n] contain ideals phi 2546 such that 2547 L[1]/ker --> ... --> L[n]/ker 2548 are injections given by the corresponding ideals phi, and L[n]/ker 2549 is the integral closure of L[1]/ker in its quotient field. 2546 such that L[1]/ker --> ... --> L[n]/ker are injections given by the 2547 corresponding ideals phi, and L[n]/ker is the integral closure of 2548 L[1]/ker in its quotient field.@* 2550 2549 - all rings L[i] contain a polynomial nzd such that elements of 2551 2550 L[i]/ker are quotients of elements of L[i-1]/ker with denominator 2552 nzd via the injection phi. 2553 L[n+1] is the delta invariant 2554 NOTE: - L is constructed by recursive calls of primeClosure itself. 2555 - c determines the choice of nzd: 2551 nzd via the injection phi.@* 2552 L[n+1] is the delta invariant 2553 NOTE: - L is constructed by recursive calls of primeClosure itself.@* 2554 - c determines the choice of nzd:@* 2556 2555 - c not given or equal to 0: first generator of the ideal SL, 2557 the singular locus of Spec(L[i]/ker) 2556 the singular locus of Spec(L[i]/ker)@* 2558 2557 - c<>0: the generator of SL with least number of monomials. 2559 2558 EXAMPLE: example primeClosure; shows an example -
Singular/LIB/phindex.lib
r2ae96e r906458 1 1 ////////////////////////////////////////////////////////////////////////////// 2 version="$Id: phindex.lib,v 1. 3 2008-10-09 09:31:57 SingularExp $";2 version="$Id: phindex.lib,v 1.4 2009-04-07 16:18:05 seelisch Exp $"; 3 3 category=" "; 4 4 info=" … … 10 10 germ found by Eisenbud-Levine in 1997. This result was also proved by 11 11 Khimshiashvili. If the isolated singularity is non algebraically 12 isolated and the vector field has areduced complex zeroes of12 isolated and the vector field has similar reduced complex zeroes of 13 13 codimension 1, we use a formula as the Eisenbud-Levine found by Victor 14 14 Castellanos, in both cases is necessary to use a local order (ds,...). … … 30 30 "USAGE: signatureL(M[,r]); M symmetric matrix, r int (optional). 31 31 RETURN: the signature of M of type int or if r is given and !=0 then 32 intvec with (signature, n o of +, noof -) is returned.33 THEORY: Given the matrix M we construct the quadratic form associated, after32 intvec with (signature, nr. of +, nr. of -) is returned. 33 THEORY: Given the matrix M, we construct the quadratic form associated. Afterwards 34 34 we use the method of Lagrange to compute the signature. The law of 35 inertia for a real quadratic form A(x,x) say that in a35 inertia for a real quadratic form A(x,x) says that in a 36 36 representation of A(x,x) as a sum of independent squares 37 37 A(x,x)=sum_{i=1}^r a_iX_i^2. … … 98 98 "USAGE: signatureLqf(h); h quadratic form (poly type). 99 99 RETURN: the signature of h of type int or if r is given and !=0 then 100 intvec with (signature, n o of +, noof -) is returned.100 intvec with (signature, nr. of +, nr. of -) is returned. 101 101 THEORY: To compute the signature we use the method of Lagrange. The law of 102 inertia for a real quadratic form h(x,x) say that in a102 inertia for a real quadratic form h(x,x) says that in a 103 103 representation of h(x,x) as a sum of independent squares 104 h(x,x)=sum_{i=1}^r a_iX_i^ 2 105 the number of positive and the number of negative squares are 104 h(x,x)=sum_{i=1}^r a_i*X_i^2 the number of positive and the number of negative squares are 106 105 independent of the choice of representation. The signature -s- of 107 106 h(x,x) is the difference between the number -pi- of positive squares … … 229 228 NOTE: the isolated singularity must be algebraically isolated. 230 229 THEORY: The Poincare-Hopf index of a real vector field X at the isolated 231 singularity 0 is the degree of map 232 (X/|X|) : S_epsilon ---> S, 230 singularity 0 is the degree of the map (X/|X|) : S_epsilon ---> S, 233 231 where S is the unit sphere, and the spheres are oriented as 234 232 (n-1)-spheres in R^n. The degree depends only on the germ, X, of X … … 245 243 composition of the product in the algebra Qx with a linear 246 244 functional map 247 . L 248 <,> : (Qx)x(Qx)----->Qx----->R 245 <,> : (Qx)x(Qx) ---(.)--> Qx ---(L)--> R 249 246 with L(Jo)>0, where Jo is the residue class of the Jacobian 250 247 determinant in Qx. Here, we use a natural linear functional defined 251 as follows. Suppose that E={E_1,..E_r} is a basis of Qx, then Jo is252 writingas253 Jo=a_1E_{j1}+...+a_kE_{jk}, js\in {1...r}, s=1..k, k<=r .248 as follows. Suppose that E={E_1,..E_r} is a basis of Qx, then Jo can 249 be written as 250 Jo=a_1E_{j1}+...+a_kE_{jk}, js\in {1...r}, s=1..k, k<=r, 254 251 where a_s are constant. The linear functional L:Qx--->R is defined as 255 252 L(E_{j1})=(a_1)/|a_1|=sign of a_1, … … 355 352 at 0, with reduced complex zeros of codimension 1. 356 353 THEORY: Suppose that 0 is an algebraically isolated singularity of the real 357 analytic vector field X, geometrically its meanthat the354 analytic vector field X, geometrically this corresponds to the fact that the 358 355 complexified vector field has positive dimension singular locus, 359 algebraically this mean that the local ring 360 Qx=R[[x1..xn]]/Ix 356 algebraically this mean that the local ring Qx=R[[x1..xn]]/Ix 361 357 where R[[x1,..,xn]] is the ring of germs at 0 of real-valued analytic 362 358 functions on R^n, and Ix is the ideal generated by the components 363 359 of X is infinite dimensional as real vector space. In the case that 364 X has a reduced hypersurface as complex zero es we have the next.360 X has a reduced hypersurface as complex zeros we have the next. 365 361 There exist a real analytic function f:R^n-->R, and a real analytic 366 362 vector field Y s. t. X=fY. The function f does not change of sign … … 371 367 bilinear form <,> obtained by composition of the product in the 372 368 algebra Mx with a linear functional map 373 . L 374 <,> : (Mx)x(Mx)----->Mx----->R 369 <,> : (Mx)x(Mx) ---(.)--> Mx ---(L)--> R 375 370 with L(Jp)>0, where Jp is the residue class of the Jacobian 376 371 determinant of X, JX, over f^n, JX/(f^n) in Mx. Here, we use a 377 372 natural linear functional defined as follows. Suppose that 378 373 E={E_1,..E_r} is a basis of Mx, then Jp is writing as 379 Jp=a_1E_{j1}+...+a_kE_{jk}, js\in {1...r}, s=1..k, k<=r .374 Jp=a_1E_{j1}+...+a_kE_{jk}, js\in {1...r}, s=1..k, k<=r, 380 375 where a_s are constant. The linear functional L:M--->R is defined as 381 376 L(E_{j1})=(a_1)/|a_1|=sign of a_1, -
Singular/LIB/polymake.lib
r2ae96e r906458 1 version="$Id: polymake.lib,v 1.1 3 2009-04-06 12:39:02seelisch Exp $";1 version="$Id: polymake.lib,v 1.14 2009-04-07 16:18:06 seelisch Exp $"; 2 2 category="Tropical Geometry"; 3 3 info=" … … 9 9 Most procedures will not work unless polymake or topcom is installed and 10 10 if so, they will only work with the operating system LINUX! 11 For more detailed information see IMPORTANT NOTE respectivelyconsult the11 For more detailed information see the following note or consult the 12 12 help string of the procedures. 13 13 14 IMPORTANTNOTE:14 NOTE: 15 15 Even though this is a Singular library for computing polytopes and fans 16 16 such as the Newton polytope or the Groebner fan of a polynomial, most of … … 19 19 @* (see http://www.math.tu-berlin.de/polymake/), 20 20 @* respectively (only in the procedure triangularions) by the program 21 @* - topcom by Joerg Rambau, Universitaet Bayreuth (see 22 @* http://www.uni-bayreuth.de/departments/wirtschaftsmathematik/rambau/TOPCOM);23 @* this library should rather be seen as an interface which allows to use a21 @* - topcom by Joerg Rambau, Universitaet Bayreuth (see http://www.uni-bayreuth.de/ 22 departments/wirtschaftsmathematik/rambau/TOPCOM); 23 @* This library should rather be seen as an interface which allows to use a 24 24 (very limited) number of options which polymake respectively topcom offers 25 25 to compute with polytopes and fans and to make the results available in 26 Singular for further computations; 26 Singular for further computations; 27 27 moreover, the user familiar with Singular does not have to learn the syntax 28 28 of polymake or topcom, if the options offered here are sufficient for his … … 47 47 secondaryFan computes the secondary fan of a marked polytope 48 48 49 PROCEDURES CON ERNED WITH PLANAR POLYGONS:50 cycleLength computes the cycleLength of cycle 49 PROCEDURES CONCERNED WITH PLANAR POLYGONS: 50 cycleLength computes the cycleLength of cycle 51 51 splitPolygon splits a marked polygon into vertices, facets, interior points 52 52 eta computes the eta-vector of a triangulation … … 125 125 computations with polymake, you have to use the procedure 126 126 polymakeKeepTmpFiles in before 127 @* - moreover, the procedure creates the file /tmp/polytope.output which 127 @* - moreover, the procedure creates the file /tmp/polytope.output which 128 128 it deletes again before ending 129 @* - it is possible to provide an optional second argument a sstring129 @* - it is possible to provide an optional second argument a string 130 130 which then will be used instead of 'polytope' in the name of the 131 131 polymake output file … … 257 257 proc newtonPolytope (poly f,list #) 258 258 "USAGE: newtonPolytope(f[,#]); f poly, # string 259 RETURN: list ,L with four entries259 RETURN: list L with four entries 260 260 @* L[1] : an integer matrix whose rows are the coordinates of vertices 261 261 of the Newton polytope of f … … 282 282 further computations with polymake 283 283 @* - moreover, the procedure creates the file /tmp/newtonPolytope.output 284 which it deletesagain before ending285 @* - it is possible to give as an optional second argument a sstring284 and deletes it again before ending 285 @* - it is possible to give as an optional second argument a string 286 286 which then will be used instead of 'newtonPolytope' in the name of 287 287 the polymake output file … … 398 398 see http://www.math.tu-berlin.de/polymake/ 399 399 @* - in the optional argument # it is possible to hand over other names 400 for the variables to be used -- be car ful, the format must be correct401 and that is not tested, e.g. if you want the variable names to be402 u00,u10,u01,u11 then you must hand over the string u11,u10,u01,u11400 for the variables to be used -- be careful, the format must be correct 401 which is not tested, e.g. if you want the variable names to be 402 u00,u10,u01,u11 then you must hand over the string 'u11,u10,u01,u11' 403 403 EXAMPLE: example normalFan; shows an example" 404 404 { … … 570 570 @* L[4] = integer matrix where each row represents the exponet 571 571 vector of one monomial occuring in the input polynomial 572 NOTE: - if you have alread computed the Newton polytope of f then you might want572 NOTE: - if you have already computed the Newton polytope of f then you might want 573 573 to use the procedure normalFan instead in order to avoid doing costly 574 574 computation twice … … 652 652 format; 653 653 @* - art is one of the following strings: 654 @* + 'rays' : indicating that a first column of 0's should be added655 @* + 'points' : indicating that a first column of 1's should be added654 @* + 'rays' : indicating that a first column of 0's should be added 655 @* + 'points' : indicating that a first column of 1's should be added 656 656 RETURN: string, the matrix is transformed in a string and a first column has 657 657 been added … … 702 702 the result which consists of vectors either over the integers 703 703 or over the rationals 704 RETURN: intmat, the rows of the matrix are basically the vectors in pm from705 the second row on where each row has been multiplied with the706 lowest common multiple of the denominators of its entries so707 as to bean integer matrix; moreover, if art=='affine', then704 RETURN: intmat, the rows of the matrix are basically the vectors in pm, starting 705 from the second row, where each row has been multiplied with the 706 lowest common multiple of the denominators of its entries as if 707 it is an integer matrix; moreover, if art=='affine', then 708 708 the first column is omitted since we only want affine 709 709 coordinates … … 990 990 proc secondaryPolytope (list polygon,list #) 991 991 "USAGE: secondaryPolytope(polygon[,#]); list polygon, list # 992 ASSUME: - polygon is a list of integer vectors of the same size representing 992 ASSUME: - polygon is a list of integer vectors of the same size representing 993 993 the affine coordinates of lattice points 994 @* - if the triangulations of the corresponding polygon have already been 994 @* - if the triangulations of the corresponding polygon have already been 995 995 computed with the procedure triangulations then these can be given as 996 996 a second (optional) argument in order to avoid doing this computation … … 998 998 PURPOSE: the procedure considers the marked polytope given as the convex hull of 999 999 the lattice points and with these lattice points as markings; it then 1000 computes the lattice points of the secondary polytope given by this 1000 computes the lattice points of the secondary polytope given by this 1001 1001 marked polytope which correspond to the triangulations computed by 1002 1002 the procedure triangulations 1003 1003 RETURN: list, say L, such that: 1004 1004 @* L[1] = intmat, each row gives the affine coordinates of a lattice 1005 point in the secondary polytope given by the marked 1006 polytopecorresponding to polygon1005 point in the secondary polytope given by the marked polytope 1006 corresponding to polygon 1007 1007 @* L[2] = the list of corresponding triangulations 1008 NOTE: if the triangluations are not handed over as optional argument the 1008 NOTE: if the triangluations are not handed over as optional argument the 1009 1009 procedure calls for its computation of these triangulations the program 1010 points2triangs from the program topcom by Joerg Rambau, Universitaet 1011 Bayreuth; it therefore is necessary that this program is installed in 1010 points2triangs from the program topcom by Joerg Rambau, Universitaet 1011 Bayreuth; it therefore is necessary that this program is installed in 1012 1012 order to use this procedure; see 1013 1013 @* http://www.uni-bayreuth.de/departments/wirtschaftsmathematik/rambau/TOPCOM … … 1117 1117 see http://www.math.tu-berlin.de/polymake/ 1118 1118 @* - in the optional argument # it is possible to hand over other names for 1119 the variables to be used -- be car ful, the format must be correct and1120 that is not tested, e.g. if you want the variable names to be1121 u00,u10,u01,u11 then you must hand over the string u11,u10,u01,u111119 the variables to be used -- be careful, the format must be correct 1120 which is not tested, e.g. if you want the variable names to be 1121 u00,u10,u01,u11 then you must hand over the string 'u11,u10,u01,u11' 1122 1122 @* - if the triangluations are not handed over as optional argument the 1123 1123 procedure calls for its computation of these triangulations the program … … 1381 1381 @* triang is a list of integer vectors all of size three describing a 1382 1382 triangulation of the polygon described by polygon; if an entry of 1383 triang is the vector (i,j,k) then the triangle is buil d bythe vertices1383 triang is the vector (i,j,k) then the triangle is built from the vertices 1384 1384 with indices i, j and k 1385 1385 RETURN: intvec, the integer vector eta describing that vertex of the Newton … … 1387 1387 Groebner fan contains the cone of the secondary fan of the 1388 1388 polygon corresponding to the given triangulation 1389 NOTE: for a better description of eta see eitherGelfand, Kapranov,1389 NOTE: for a better description of eta see Gelfand, Kapranov, 1390 1390 Zelevinski: Discriminants, Resultants and multidimensional Determinants. 1391 1391 Chapter 10. … … 1592 1592 proc findOrientedBoundary (list polygon) 1593 1593 "USAGE: findOrientedBoundary(polygon); polygon list 1594 ASSUME: polygon is a list of integer vectors defining integer lattice points 1594 ASSUME: polygon is a list of integer vectors defining integer lattice points 1595 1595 in the plane 1596 RETURN: list , l with the followininterpretation1597 @* l[1] = list of integer vectors such that the polygonal path 1598 defined by these is the boundary of the convex hull of 1596 RETURN: list l with the following interpretation 1597 @* l[1] = list of integer vectors such that the polygonal path 1598 defined by these is the boundary of the convex hull of 1599 1599 the lattice points in polygon 1600 1600 @* l[2] = list, the redundant points in l[1] have been removed … … 1679 1679 // the basic idea is that a vertex can be 1680 1680 // the next one on the boundary if all other vertices 1681 // l yto the right of the vector v pointing1681 // lie to the right of the vector v pointing 1682 1682 // from the testvertex to this one; this can be tested 1683 1683 // by checking if the determinant of the 2x2-matrix … … 1820 1820 points in points which in the triangulation triang are connected 1821 1821 to the point points[pt]; the procedure computes all marked points 1822 in points which l yon the boundary of that polygon, ordered1822 in points which lie on the boundary of that polygon, ordered 1823 1823 clockwise 1824 1824 RETURN: list, of integer vectors which are the coordinates of the lattice … … 1975 1975 proc ellipticNF (list polygon) 1976 1976 "USAGE: ellipticNF(polygon); polygon list 1977 ASSUME: polygon is a list of integer vectors in the plane such that their 1978 convex hull C has precisely one interior lattice point ;i.e. C is the1977 ASSUME: polygon is a list of integer vectors in the plane such that their 1978 convex hull C has precisely one interior lattice point, i.e. C is the 1979 1979 Newton polygon of an elliptic curve 1980 1980 PURPOSE: compute the normal form of the polygon with respect to the unimodular … … 2246 2246 proc ellipticNFDB (int n,list #) 2247 2247 "USAGE: ellipticNFDB(n[,#]); n int, # list 2248 ASSUME: n is an int ger between 1 and 162248 ASSUME: n is an integer between 1 and 16 2249 2249 PURPOSE: this is a database storing the 16 normal forms of planar polygons with 2250 2250 precisely one interior point up to unimodular affine transformations -
Singular/LIB/resolve.lib
r2ae96e r906458 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: resolve.lib,v 1.1 1 2008-09-24 16:41:31 SingularExp $";2 version="$Id: resolve.lib,v 1.12 2009-04-07 16:18:06 seelisch Exp $"; 3 3 category="Commutative Algebra"; 4 4 info=" … … 2300 2300 of [Bravo,Encinas,Villamayor] 2301 2301 RETURN: list l, 2302 l[1]: ideal describing the center 2303 l[2]: intvec w obtained in the process of determining l[1] 2304 l[3]: intvec b obtained in the process of determining l[1] 2302 l[1]: ideal describing the center@* 2303 l[2]: intvec w obtained in the process of determining l[1]@* 2304 l[3]: intvec b obtained in the process of determining l[1]@* 2305 2305 l[4]: intvec inv obtained in the process of determining l[1] 2306 2306 EXAMPLE: example CenterBO; shows an example -
Singular/LIB/sagbi.lib
r2ae96e r906458 1 1 ////////////////////////////////////////////////////////////////////////////// 2 version="$Id: sagbi.lib,v 1.1 2 2008-10-06 17:04:28 SingularExp $";2 version="$Id: sagbi.lib,v 1.13 2009-04-07 16:18:06 seelisch Exp $"; 3 3 category="Commutative Algebra"; 4 4 info=" 5 LIBRARY: sagbi.lib Compute Subalgebras bases Analogous to Groebner bases for ideals5 LIBRARY: sagbi.lib Compute subalgebra bases analogous to Groebner bases for ideals 6 6 AUTHORS: Gerhard Pfister, pfister@mathematik.uni-kl.de, 7 7 @* Anen Lakhal, alakhal@mathematik.uni-kl.de … … 24 24 @format 25 25 - If (n=0 or default) an ideal, whose generators are the S-polynomials. 26 - If (n=1) a 26 - If (n=1) a list of size 2: 27 27 the first element of this list is the ideal of S-polynomials. 28 the second element of this list is the ring in which is defined29 the ideal of algebraic relations.28 the second element of this list is the ring in which the ideal of algebraic 29 relations is defined. 30 30 @end format 31 31 EXAMPLE: example sagbiSPoly; show an example " … … 426 426 proc sagbiNF(id,ideal dom,int k,list#) 427 427 "USAGE: sagbiNF(id,dom,k[,n]); id either poly or ideal,dom ideal, k and n positive intergers. 428 RETURN: depends On thetype of id; ideal or polynomial.428 RETURN: same as type of id; ideal or polynomial. 429 429 @format 430 430 The integer k determines what kind of s-reduction is performed: 431 431 - if (k=0) no tail s-reduction is performed. 432 432 - if (k=1) tail s-reduction is performed. 433 Three Algor thim variants are used to perform Subalgebra reduction.434 The positive integer n determine which variant should be used.433 Three Algorithm variants are used to perform subalgebra reduction. 434 The positive integer n determines which variant should be used. 435 435 n may take the values (0 or default),1 or 2. 436 436 @end format 437 NOTE: computation of Subalgebras normal forms may be performed either438 in polynomial rings or quotient polynomial rings437 NOTE: computation of subalgebra normal forms may be performed in polynomial rings or quotients 438 thereof 439 439 EXAMPLE: example sagbiNF; show example " 440 440 { … … 514 514 RETURN: A SAGBI basis for the subalgebra defined by the generators of id. 515 515 @format 516 k determine what kind of s-reduction is performed:516 k determines what kind of s-reduction is performed: 517 517 - if (k=0) no tail s-reduction is performed. 518 518 - if (k=1) tail s-reduction is performed, and S-interreduced SAGBI basis 519 519 is returned. 520 Three Algorithm variants are used to perform Subalgebra reduction.520 Three algorithm variants are used to perform subalgebra reduction. 521 521 The positive interger n determine which variant should be used. 522 522 n may take the values (0 or default),1 or 2. 523 523 @end format 524 NOTE: SAGBI bases computations may be performed either525 in polynomial rings or quotient polynomial rings.524 NOTE: SAGBI bases computations may be performed in polynomial rings or quotients 525 thereof. 526 526 EXAMPLE: example sagbi; show example " 527 527 { … … 548 548 /////////////////////////////////////////////////////////////////////////////// 549 549 proc sagbiPart(id,int k,int c,list #) 550 "USAGE: sagbi (id,k,c[,n]); id ideal, k, c and n positive integer.550 "USAGE: sagbiPart(id,k,c[,n]); id ideal, k, c and n positive integers 551 551 RETURN: A partial SAGBI basis for the subalgebra defined by the generators of id. 552 552 @format 553 should stop. k determinewhat kind of s-reduction is performed:553 k determines what kind of s-reduction is performed: 554 554 - if (k=0) no tail s-reduction is performed. 555 555 - if (k=1) tail s-reduction is performed, and S-intereduced SAGBI basis 556 556 is returned. 557 c determines, after which turn Sagbi basis computations should stop558 Three Algorithm variants are used to perform Subalgebra reduction.557 c determines, after how many loops the Sagbi basis computation should stop. 558 Three algorithm variants are used to perform subalgebra reduction. 559 559 The positive integer n determines which variant should be used. 560 560 n may take the values (0 or default),1 or 2. 561 561 @end format 562 NOTE:- SAGBI bases computations may be performed either563 in polynomial rings or quotient polynomial rings.564 - This version of sagbi procedure is interesting in the case of an Subalgebras565 with infinte SAGBI basis. In this case, by means of this procedure,566 we may check for example, if the elements of thisbasis have a particular form.562 NOTE:- SAGBI bases computations may be performed in polynomial rings or quotients 563 thereof. 564 - This version of sagbi is interesting in the case of subalgebras with infinte 565 SAGBI basis. In this case, it may be used to check, if the elements of this 566 basis have a particular form. 567 567 EXAMPLE: example sagbiPart; show example " 568 568 { -
Singular/LIB/sheafcoh.lib
r2ae96e r906458 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: sheafcoh.lib,v 1.1 5 2007-10-30 17:17:44 SingularExp $";2 version="$Id: sheafcoh.lib,v 1.16 2009-04-07 16:18:06 seelisch Exp $"; 3 3 category="Commutative Algebra"; 4 4 info=" … … 150 150 RETURN: module 151 151 NOTE: Output is a presentation matrix for the truncation of coker(M) 152 at d .152 at degree d. 153 153 EXAMPLE: example truncate; shows an example 154 154 KEYWORDS: truncated module -
Singular/LIB/sing4ti2.lib
r2ae96e r906458 1 1 /////////////////////////////////////////////////////////////////// 2 version="$Id: sing4ti2.lib,v 1. 1 2009-03-10 16:51:29 SingularExp $";2 version="$Id: sing4ti2.lib,v 1.2 2009-04-07 16:18:06 seelisch Exp $"; 3 3 category="Commutative Algebra"; 4 4 info=" … … 276 276 NOTE: input rules for 4ti2 also apply to input to this procedure 277 277 @* hence ker(A)={x|Ax=0} and Im(A)={xA} 278 RETURN: toric ideal specified by Graverbasis thereof278 RETURN: toric ideal specified by Hilbert basis thereof 279 279 EXAMPLE: example graver4ti2; shows an example 280 280 " -
Singular/LIB/tropical.lib
r2ae96e r906458 1 version="$Id: tropical.lib,v 1.1 2 2009-03-25 11:27:13 keilenExp $";1 version="$Id: tropical.lib,v 1.13 2009-04-07 16:18:06 seelisch Exp $"; 2 2 category="Tropical Geometry"; 3 3 info=" … … 50 50 rational numbers Q and to replace Puiseux series in t by rational functions 51 51 in t, i.e. we replace C{{t}} by Q(t), or sometimes even by Q[t]. 52 Note, that this in particular forbi ts rational exponents for the t's.52 Note, that this in particular forbids rational exponents for the t's. 53 53 54 54 Moreover, in Singular no negative exponents of monomials are allowed, so … … 60 60 have to pass right away to the tropicalisation of the equations, whereever 61 61 this is allowed -- these are linear polynomials where the constant coefficient 62 correspond to the valuation of the original coefficient and where62 corresponds to the valuation of the original coefficient and where 63 63 the non-constant coefficient correspond to the exponents of the monomials, 64 64 thus they may be rational numbers respectively negative numbers: … … 74 74 subring of C{{t}}[x1,...,xn]; a solution will be 75 75 constructed up to given order; note that several 76 field extensions of Q might be necessary th oughout77 the intermediate computations; the procedures use s76 field extensions of Q might be necessary throughout 77 the intermediate computations; the procedures use 78 78 the external program gfan 79 79 @* - drawTropicalCurve visualises a tropical plane curve either given by a … … 218 218 e.g. ring r=0,(t,x(1..n)),dp; 219 219 @* - the first variable of the basering will be treated as the 220 parameter t in the Puiseux series field !!!!220 parameter t in the Puiseux series field 221 221 @* - the optional parameter opt should be one or more strings among 222 222 the following: … … 230 230 ideal over (w_1/w_0,...,w_n/w_0) 231 231 @* 'noAbs' : do NOT use absolute primary decomposition 232 @* 'noResubst' : avoids computingthe resubstitution232 @* 'noResubst' : avoids the computation of the resubstitution 233 233 RETURN: IF THE OPTION 'findAll' WAS NOT SET THEN: 234 234 @* list, containing one lifting of the given point (w_1/w_0,...,w_n/w_0) 235 235 in the tropical variety of i to a point in V(i) over Puiseux 236 236 series field up to the first ord terms; more precisely: 237 @* IF THE OPTION 'noAbs' WAS NOT SET THEN:237 @* IF THE OPTION 'noAbs' WAS NOT SET, THEN: 238 238 @* l[1] = ring Q[a]/m[[t]] 239 239 @* l[2] = int 240 240 @* l[3] = intvec 241 241 @* l[4] = list 242 @* IF THE OPTION 'noAbs' WAS SET THEN:242 @* IF THE OPTION 'noAbs' WAS SET, THEN: 243 243 @* l[1] = ring Q[X(1),...,X(k)]/m[[t]] 244 244 @* l[2] = int … … 246 246 @* l[4] = list 247 247 @* l[5] = string 248 @* IF THE OPITON 'findAll' WAS NOT SETTHEN:248 @* IF THE OPITON 'findAll' WAS SET, THEN: 249 249 @* list, containing ALL liftings of the given point ((w_1/w_0,...,w_n/w_0) 250 250 in the tropical variety of i to a point in V(i) over Puiseux … … 252 252 zero-dimensional over Q{{t}}; 253 253 more precisely, each entry of the list is a list l as computed 254 if 'find _all' was NOT set254 if 'findAll' was NOT set 255 255 @* WE NOW DESCRIBE THE LIST ENTRIES IF 'findAll' WAS NOT SET: 256 256 @* - the ring l[1] contains an ideal LIFT, which contains … … 278 278 in Q{{t}}[x_1,...,x_n] then ALL points in V(i) lying over w are 279 279 computed up to order ord; if the ideal is not-zero dimenisonal, then 280 only all points in the ideal after cutting down to dimension zero280 only the points in the ideal after cutting down to dimension zero 281 281 will be computed 282 @* - the procedure REQUIRES that the program GFAN is installed on your283 computer; if you have GFAN version less than 0.3.0 then you MUST282 @* - the procedure requires that the program GFAN is installed on your 283 computer; if you have GFAN version less than 0.3.0 then you must 284 284 use the optional parameter 'oldGfan' 285 285 @* - the procedure requires the Singular procedure absPrimdecGTZ to be … … 288 288 the option 'noAbs' in order to avoid the costly absolute primary 289 289 decomposition; the side effect is that the field extension which is 290 computed throughout the recursion might need more onlyone290 computed throughout the recursion might need more than one 291 291 parameter to be described 292 292 @* - since Q is infinite, the procedure finishes with probability one … … 304 304 decomposition in Singular only works in characteristic zero 305 305 @* - the basefield should either be Q or Z/pZ for some prime p; 306 field extensions will be computed wherenecessary; if you need306 field extensions will be computed if necessary; if you need 307 307 parameters or field extensions from the beginning they should 308 308 rather be simulated as variables possibly adding their relations to … … 1316 1316 variables and up to one parameter! 1317 1317 RETURN: NONE 1318 NOTE: - the procedure produces the files /tmp/tropicalcurveNUMBER.tex and1318 NOTE: - the procedure creates the files /tmp/tropicalcurveNUMBER.tex and 1319 1319 /tmp/tropicalcurveNUMBER.ps, where NUMBER is a random four 1320 1320 digit integer; … … 1480 1480 and up to one parameter! 1481 1481 RETURN: NONE 1482 NOTE: - the procedure produces the files /tmp/newtonsubdivisionNUMBER.tex,1482 NOTE: - the procedure creates the files /tmp/newtonsubdivisionNUMBER.tex, 1483 1483 and /tmp/newtonsubdivisionNUMBER.ps, where NUMBER is a random 1484 1484 four digit integer; … … 2242 2242 ///////////////////////////////////////////////////////////////////////// 2243 2243 2244 proc tInitialIdeal (ideal i,intvec w,list #) 2244 proc tInitialIdeal (ideal i,intvec w,list #) 2245 2245 "USAGE: tInitialIdeal(i,w); i ideal, w intvec 2246 2246 ASSUME: i is an ideal in Q[t,x_1,...,x_n] and w=(w_0,...,w_n) … … 2320 2320 "USAGE: initialForm(f,w); f a polynomial, w an integer vector 2321 2321 ASSUME: f is a polynomial in Q[x_1,...,x_n] and w=(w_1,...,w_n) 2322 RETURN: poly, the initial Form of f(x) w.r.t. w2323 NOTE: the initialForm arethe terms with MAXIMAL weighted order w.r.t. w2322 RETURN: poly, the initial form of f(x) w.r.t. w 2323 NOTE: the initialForm consists of the terms with MAXIMAL weighted order w.r.t. w 2324 2324 EXAMPLE: example initialForm; shows an example" 2325 2325 { … … 2354 2354 ASSUME: i is an ideal in Q[x_1,...,x_n] and w=(w_1,...,w_n) 2355 2355 RETURN: ideal, the initialIdeal of i w.r.t. w 2356 NOTE: the initial form arethe terms with MAXIMAL weighted order w.r.t. w2356 NOTE: the initialIdeal consists of the terms with MAXIMAL weighted order w.r.t. w 2357 2357 EXAMPLE: example initialIdeal; shows an example" 2358 2358 { … … 2755 2755 "USAGE: texDrawNewtonSubdivision(graph[,#]); graph list, # optional list 2756 2756 ASSUME: graph is the output of tropicalCurve 2757 RETURN: string, the texdraw code of the Newton subdivision of the 2757 RETURN: string, the texdraw code of the Newton subdivision of the 2758 2758 tropical plane curve encoded by graph 2759 NOTE: - the list # should contain as only entry a string; if this string2760 is 'max', then the tropical curve is considered with respect 2761 to the maximum; otherwise the curve is considered with respect 2762 to the minimum and the string can be used to insert further 2759 NOTE: - the list # should contain only one entry which is a string; if this string 2760 is 'max', then the tropical curve is considered with respect 2761 to the maximum; otherwise the curve is considered with respect 2762 to the minimum and the string can be used to insert further 2763 2763 texdraw commands (e.g. to have a lighter image as when called 2764 from inside conicWithTangents); the list # is optional and may 2764 from inside conicWithTangents); the list # is optional and may 2765 2765 as well be empty 2766 @* - note that lattice points in the Newton subdivision which are 2767 black correspond to markings of the marked subdivision, 2766 @* - note that lattice points in the Newton subdivision which are 2767 black correspond to markings of the marked subdivision, 2768 2768 while lattice points in grey are not marked 2769 2769 EXAMPLE: example texDrawNewtonSubdivision; shows an example" … … 2771 2771 int i,j,k,l; 2772 2772 list boundary=graph[size(graph)][1]; 2773 list inneredges=graph[size(graph)][2]; 2773 list inneredges=graph[size(graph)][2]; 2774 2774 intvec shiftvector=graph[size(graph)][3]; 2775 2775 string subdivision; … … 3243 3243 ASSUME: f is a polynomial in Q(t)[x_1,...,x_n] describing 3244 3244 a plane curve over Q(t) 3245 RETURN: poly ,f with t replaced by t^N3245 RETURN: poly f with t replaced by t^N 3246 3246 EXAMPLE: example parameterSubstitute; shows an example" 3247 3247 {
Note: See TracChangeset
for help on using the changeset viewer.