Changeset a1b40a in git
- Timestamp:
- May 15, 2020, 4:01:02 PM (4 years ago)
- Branches:
- (u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38077648e7239f98078663eb941c3c979511150a')
- Children:
- 3a0213023f3c3472cf129b261990b9b4cc171574
- Parents:
- 4bde6b203dcb1ba4a861631c9cef3629b77043c4
- Location:
- Singular/LIB
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/nctools.lib
r4bde6b ra1b40a 1769 1769 { 1770 1770 // supports qring; 1771 // can be extended to handle C i stead of c1771 // can be extended to handle C instead of c 1772 1772 /* input/basering business */ 1773 1773 def save; int Noinput = 0; -
Singular/LIB/nets.lib
r4bde6b ra1b40a 1137 1137 0. Erstellung der benötigten Datenstrukturen 1138 1138 2. ÃberprÃŒfung ob P das Nullpolynom ist und dieses gegenfalls ausgeben 1139 3. Entscheidung ob es sich um den ersten Term handel oder nicht1139 3. Entscheidung ob es sich um den ersten Term handelt oder nicht 1140 1140 3.1 Verarbeitung des ersten Term 1141 1141 3.2 Verarbeitung foldender Terme -
Singular/LIB/noether.lib
r4bde6b ra1b40a 3 3 category="Commutative Algebra"; 4 4 info=" 5 LIBRARY: noether.lib Noether normalization of an ideal (not ne ssecary5 LIBRARY: noether.lib Noether normalization of an ideal (not necessary 6 6 homogeneous) 7 7 AUTHORS: A. Hashemi, Amir.Hashemi@lip6.fr -
Singular/LIB/normal.lib
r4bde6b ra1b40a 1036 1036 //Now the ideal is 0-dim 1037 1037 //First an easy test 1038 //If I is homogen ous and not constant it is concentrated at 01038 //If I is homogeneous and not constant it is concentrated at 0 1039 1039 if( homog(I)==1 && size(jet(I,0))==0) 1040 1040 { … … 2001 2001 2002 2002 "//Repeated application of elimpart to endid, until no variables can be 2003 //direct y substituded. homo=1 if input is homogeneous, rw contains2003 //directly substituted. homo=1 if input is homogeneous, rw contains 2004 2004 //original weights, endphi (partial) normalization map"; 2005 2005 … … 2008 2008 //and so on: none of the x or y will be eliminated 2009 2009 //Now subst: first x and then y: x+y+z->f(g(x,z),z)+g(x,z)+z eliminates y 2010 //further subst replaces x by y, makes no sense (objects more comp icated).2010 //further subst replaces x by y, makes no sense (objects more complicated). 2011 2011 //Subst first y and then x eliminates x 2012 2012 //In our situation we have triangular form: x->f(y,z), y->g(z). … … 2015 2015 //subst y,x: x+y+z->f(y,z)+g(z)+z eliminates only x 2016 2016 //HENCE: substitute vars depending on most other vars first 2017 //However, if the sy tem xi-fi is reduced then xi does not appear in any of the2018 //fj and hence the order does 'nt matter when substitutinp xi by fi2017 //However, if the system xi-fi is reduced then xi does not appear in any of the 2018 //fj and hence the order doesn't matter when substitutinp xi by fi 2019 2019 2020 2020 { … … 3507 3507 p = NF(backmap(h),std(ker)); 3508 3508 } 3509 // W he are down to R(1), store here the result in the list preimages3509 // We are down to R(1), store here the result in the list preimages 3510 3510 preimages = insert(preimages,p,j-1); 3511 3511 } … … 4802 4802 if(isNormal == 1) 4803 4803 { 4804 // We go one step back. In the last step we didn t get antyhing new,4804 // We go one step back. In the last step we didn't get anything new, 4805 4805 // we just verified that the ring was already normal. 4806 4806 dbprint(dbg, "The ring in the previous step was already normal."); … … 5329 5329 int i; // Counter 5330 5330 int d = 0; // The degree 5331 int e; // Degree (auxiliar variable)5331 int e; // Degree (auxiliary variable) 5332 5332 for(i = 1; i <= size(p); i++) 5333 5333 { … … 6363 6363 // Used for timing and comparing the different normalization procedures. 6364 6364 // Option (can be entered in any order) 6365 // "normal" -> uses the new algor tihm (normal)6365 // "normal" -> uses the new algorithm (normal) 6366 6366 // "normalP" -> uses normalP 6367 6367 // "normalC" -> uses normalC, without "withGens" option … … 6626 6626 def BAS = basering; 6627 6627 6628 //### make a copy of nor to have a c poy of nor[1][1] (not a reference to)6628 //### make a copy of nor to have a copy of nor[1][1] (not a reference to) 6629 6629 // in order not to override norid and normap. 6630 6630 // delete nor[2] (if it contains the module generators, which are not used) … … 7357 7357 //normalP char withRing 2: 1sec, char 11: 40sec 7358 7358 7359 //Horrocks: c ahr 0: 17 (8 in char 11) Komponenten alle normal, delta 17359 //Horrocks: char 0: 17 (8 in char 11) Komponenten alle normal, delta 1 7360 7360 //char 11: 8 Komponenten alle normal, delta -1 7361 7361 ring r=0,(a,b,c,d,e,f),dp; -
Singular/LIB/normaliz.lib
r4bde6b ra1b40a 1369 1369 RETURN: The exponent vectors of the leading monomials of the elements of I 1370 1370 are considered as generators of a monomial ideal for which the 1371 normalization of its Rees algebra is computed. For a Definit on of the1371 normalization of its Rees algebra is computed. For a Definition of the 1372 1372 Rees algebra (or Rees ring) see Bruns and Herzog, Cohen-Macaulay 1373 1373 rings, Cambridge University Press 1998, p. 182. … … 1689 1689 // 2 is default value 1690 1690 // 3 is command line option to be passed to Normaliz 1691 // 4 indic tes whether file "gen" is generated1691 // 4 indicates whether file "gen" is generated 1692 1692 // value 2 of 4 indicates "no influence" 1693 1693 -
Singular/LIB/numerAlg.lib
r4bde6b ra1b40a 16 16 PROCEDURES: 17 17 18 Incl(ideal I, ideal J); test if I contain es J18 Incl(ideal I, ideal J); test if I contains J 19 19 20 20 Equal(ideal I, ideal J); test if I equals to J -
Singular/LIB/olga.lib
r4bde6b ra1b40a 1359 1359 RETURN: list or ideal 1360 1360 NOTE: the optional parameter is passed to factorize after changing to a 1361 commutative ring, the result of factorize is transfer ed back to1361 commutative ring, the result of factorize is transferred back to 1362 1362 basering 1363 1363 SEE ALSO: factorize -
Singular/LIB/paraplanecurves.lib
r4bde6b ra1b40a 1351 1351 @item @code{L[3]}; list: 1352 1352 consists of one list for each primary component 1353 of the singular locus of C which corre ponds to a set of conjugated1353 of the singular locus of C which corresponds to a set of conjugated 1354 1354 ordinary multiple points. Each list consists of an int, the 1355 1355 multiplicity of the points, and an ideal, the primary component. … … 2418 2418 RETURN: returns 0 in case of unexpected input (e.g. non-quadratic, 2419 2419 reducible); 1 otherwise 2420 NOTE: This method call es rationalPointConic, measures time consumption2420 NOTE: This method calls rationalPointConic, measures time consumption 2421 2421 and checks whether the computed point lies indeed on the conic pp. 2422 2422 The results will be printed to standard output. … … 2875 2875 // ------------------------------------------------------- 2876 2876 ring SS = 0, (u,v,z), dp; 2877 poly f = u^4-14*u^2*v^2+v^4+8*u^2*v*z+8*v^3*z; // 1 OMP of mult 3 at or gin2877 poly f = u^4-14*u^2*v^2+v^4+8*u^2*v*z+8*v^3*z; // 1 OMP of mult 3 at origin 2878 2878 adjointIdeal(f,1); 2879 2879 adjointIdeal(f,2); -
Singular/LIB/pointid.lib
r4bde6b ra1b40a 52 52 static proc subst1(def id, int m) 53 53 { 54 //id = poly/ideal/list, substitute the first m variables occur ing in id by 154 //id = poly/ideal/list, substitute the first m variables occurring in id by 1 55 55 56 56 int i,j; -
Singular/LIB/poly.lib
r4bde6b ra1b40a 935 935 // perform standard basis computation or interreduction of a submodule 936 936 // of a free module with generators gen(1),...,gen(n) over a ring R 937 // in a ring R[t1,...,tn]/<ti*tj> with gen(i) map ed to ti937 // in a ring R[t1,...,tn]/<ti*tj> with gen(i) mapped to ti 938 938 //////////////////////////////////////////////////////////////////////// 939 939 -
Singular/LIB/polybori.lib
r4bde6b ra1b40a 27 27 to @code{var(i)} from current @code{ring}; 28 28 29 For convenience, the corresponding types can be converted explic tely or implicitely29 For convenience, the corresponding types can be converted explicitly or implicitly 30 30 while assigning. 31 31 Also several SINGULAR operators were overloaded: @code{bring} comes with @code{nvars}, … … 61 61 62 62 For building your own @code{PolyBoRi} please ensure that you have @code{scons} and a 63 development version of the boost lib aries installed on you system.63 development version of the boost libraries installed on you system. 64 64 Then you may execute the following commands in a @code{bash}-style shell 65 65 to build @code{PolyBoRi} available to @code{python}: … … 1190 1190 ideal I=f1,f2,f3,f4; 1191 1191 1192 boolean_std(I); // implicit ely add x(i)^2-x(i)1192 boolean_std(I); // implicitly add x(i)^2-x(i) 1193 1193 1194 1194 bideal bI=I; // alternative syntax -
Singular/LIB/polymake.lib
r4bde6b ra1b40a 107 107 108 108 //////////////////////////////////////////////////////////////////////////////// 109 /// Auxil ary Static Procedures in this Library109 /// Auxiliary Static Procedures in this Library 110 110 //////////////////////////////////////////////////////////////////////////////// 111 111 /// - scalarproduct … … 159 159 there means that the vertex L[1][i] is connected to the 160 160 vertex L[1][k] 161 @* L[4] : an matrix of type bigintmat whose rows mul itplied by161 @* L[4] : an matrix of type bigintmat whose rows multiplied by 162 162 (1,var(1),...,var(nvar)) give a linear system of equations 163 163 describing the affine hull of the polytope, … … 222 222 there means that the vertex L[1][i] is 223 223 connected to the vertex L[1][k] 224 @* L[4] : an matrix of type bigintmat whose rows mul itplied by224 @* L[4] : an matrix of type bigintmat whose rows multiplied by 225 225 (1,var(1),...,var(nvar)) give a linear system of equations 226 226 describing the affine hull of the Newton polytope, i.e. the … … 284 284 proc newtonPolytopeLP (poly f) 285 285 "USAGE: newtonPolytopeLP(f); f poly 286 RETURN: list, the exponent vectors of the monomials occur ing in f,286 RETURN: list, the exponent vectors of the monomials occurring in f, 287 287 i.e. the lattice points of the Newton polytope of f 288 288 EXAMPLE: example newtonPolytopeLP; shows an example" … … 826 826 with indices i, j and k 827 827 RETURN: intvec, the integer vector eta describing that vertex of the Newton 828 polytope discriminant of the polygon ewhose dual cone in the828 polytope discriminant of the polygon whose dual cone in the 829 829 Groebner fan contains the cone of the secondary fan of the 830 830 polygon corresponding to the given triangulation … … 1621 1621 if (sbd==intvec(2,2,2,3,3)) 1622 1622 { 1623 // find the vert ix to be mapped to (2,0)1623 // find the vertex to be mapped to (2,0) 1624 1624 if (tboundary[max+1]!=3) 1625 1625 { … … 1748 1748 ///////////////////////////////////////////////////////////////////////////////// 1749 1749 ///////////////////////////////////////////////////////////////////////////////// 1750 /// AUXIL ARY PROCEDURES, WHICH ARE DECLARED STATIC1750 /// AUXILIARY PROCEDURES, WHICH ARE DECLARED STATIC 1751 1751 ///////////////////////////////////////////////////////////////////////////////// 1752 1752 ///////////////////////////////////////////////////////////////////////////////// … … 2109 2109 polygonDB 2110 2110 RETURN: list, the first entry is a string representing the coordinates 2111 corresponding to the latticpoints sep erated by commata2111 corresponding to the latticpoints separated by commata 2112 2112 the second entry is a list where the ith entry is a string 2113 2113 representing the coordinate of corresponding to the ith … … 2743 2743 proc latticeCodegree() 2744 2744 "USAGE: latticeCodegree(p); p polytope 2745 RETURN: int, the smalles number n such that n*p has a relative interior lattice point2745 RETURN: int, the smallest number n such that n*p has a relative interior lattice point 2746 2746 NOTE: dimension(p)+1==latticeDegree(p)+latticeCodegree(p) 2747 2747 EXAMPLE: example latticeCodegree; shows an example -
Singular/LIB/presolve.lib
r4bde6b ra1b40a 12 12 elimpartanyr(i,p); factors of p partially eliminated from i in any ring 13 13 fastelim(i,p[..]); fast elimination of factors of p from i [options] 14 findvars(id); variables occur ing/not occurring in id14 findvars(id); variables occurrring/not occurring in id 15 15 hilbvec(id[,c,o]); intvec of Hilberseries of id [in char c and ord o] 16 16 linearpart(id); elements of id of total degree <=1 17 tolessvars(id[,]); maps id to new basering having only vars occur ing in id17 tolessvars(id[,]); maps id to new basering having only vars occurring in id 18 18 solvelinearpart(id); reduced std-basis of linear part of id 19 19 sortandmap(id[..]); map to new basering with vars sorted w.r.t. complexity … … 367 367 Alte Version mit interred: 368 368 // Then go to ring newBAS with ordering c,dp(n) and create a matrix with 369 // size(k1) colum s and 2 rows, such that if [f1,f2] is a column of M then f1+f2369 // size(k1) columns and 2 rows, such that if [f1,f2] is a column of M then f1+f2 370 370 // is one of the polys of lin containing a pure degree 1 part and f1 is this 371 371 // part interreduce this matrix (i.e. Gauss elimination on linear part, with … … 408 408 409 409 lin2 = matrix(lin) - matrix(lin1); //difference as matrix 410 // rest of lin, part of pure degree 1 sub stracted from each generator of lin410 // rest of lin, part of pure degree 1 subtracted from each generator of lin 411 411 412 412 for( ii=1; ii<=l; ii++ ) … … 466 466 eva = eva+var(ii); //var(ii) added to list of elimin. vars 467 467 neva[ii] = 0; 468 sub = sub+kip; //polynomial defining substitu ion468 sub = sub+kip; //polynomial defining substitution 469 469 //## gmg: geaendert 08/2008, map durch subst ersetzt 470 470 //(viel schneller) … … 839 839 RETURN: list L with 4 entries: 840 840 @format 841 L[1]: ideal of variables occur ing in id842 L[2]: intvec of variables occur ing in id843 L[3]: ideal of variables not occur ing in id844 L[4]: intvec of variables not occur ing in id841 L[1]: ideal of variables occurring in id 842 L[2]: intvec of variables occurring in id 843 L[3]: ideal of variables not occurring in id 844 L[4]: intvec of variables not occurring in id 845 845 @end format 846 846 SEE ALSO: variables … … 927 927 " 928 928 { 929 //---------------- initialisation and check occur ence of vars -----------------929 //---------------- initialisation and check occurrence of vars ----------------- 930 930 int s,ii,n,fp,fs; 931 931 string s2,newvar; … … 1044 1044 The new monomial ordering and sorting of vars is as follows: 1045 1045 @format 1046 - each block of vars occur ing in pi is sorted w.r.t. its complexity in id,1047 - ni controls the sorting in i-th block (= vars occur ing in pi):1046 - each block of vars occurring in pi is sorted w.r.t. its complexity in id, 1047 - ni controls the sorting in i-th block (= vars occurring in pi): 1048 1048 ni=0 (resp. ni!=0) means that least complex (resp. most complex) vars come 1049 1049 first … … 1061 1061 consider id as list of polynomials in x with coefficients in the 1062 1062 remaining variables. Then:@* 1063 val(x) = (maximal occur ing power of x, # of all monomials in leading1063 val(x) = (maximal occurring power of x, # of all monomials in leading 1064 1064 coefficient, # of all monomials in coefficient of next smaller power 1065 1065 of x,...). … … 1136 1136 @format 1137 1137 [1]: ideal, variables of basering sorted w.r.t their complexity in id 1138 ni controls the ordering in i-th block (= vars occur ing in pi):1138 ni controls the ordering in i-th block (= vars occurring in pi): 1139 1139 ni=0 (resp. ni!=0) means that less (resp. more) complex vars come first 1140 1140 [2]: a list with 4 entries for each pi: … … 1151 1151 consider id as list of polynomials in x with coefficients in the 1152 1152 remaining variables. Then:@* 1153 val(x) = (maximal occur ing power of x, # of all monomials in leading1153 val(x) = (maximal occurring power of x, # of all monomials in leading 1154 1154 coefficient, # of all monomials in coefficient of next smaller power 1155 1155 of x,...). … … 1193 1193 n1,n2,...= integers, 1194 1194 1195 ni controls the ordering of vars occur ing in pi: ni=0 (resp. ni!=0)1195 ni controls the ordering of vars occurring in pi: ni=0 (resp. ni!=0) 1196 1196 means that less (resp. more) complex vars come first (default: p1=product of all vars, n1=0),@* 1197 1197 the last pi (containing the remaining vars) may be omitted 1198 1198 COMPUTE: valuation (complexity) of variables with respect to id.@* 1199 ni controls the ordering of vars occur ing in pi:@*1199 ni controls the ordering of vars occurring in pi:@* 1200 1200 ni=0 (resp. ni!=0) means that less (resp. more) complex vars come first. 1201 1201 RETURN: list with 3 entries: … … 1216 1216 consider id as list of polynomials in x with coefficients in the 1217 1217 remaining variables. Then:@* 1218 val(x) = (maximal occur ing power of x, # of all monomials in leading1218 val(x) = (maximal occurring power of x, # of all monomials in leading 1219 1219 coefficient, # of all monomials in coefficient of next smaller power 1220 1220 of x,...). … … 1286 1286 { 1287 1287 C = coeffs(i,a(kk)[ii]); 1288 w = nrows(C); // =(maximal occur ing power of a(kk)[ii])+11288 w = nrows(C); // =(maximal occurring power of a(kk)[ii])+1 1289 1289 for ( jj=w[1]; jj>1; jj-- ) 1290 1290 { … … 1292 1292 w[w[1]-jj+2] = sum(s); 1293 1293 } 1294 // w[1] should represent the maximal occur ing power of a(kk)[ii] so it1294 // w[1] should represent the maximal occurring power of a(kk)[ii] so it 1295 1295 // has to be decreased by 1 since otherwise the constant term is also 1296 1296 // counted -
Singular/LIB/primdec.lib
r4bde6b ra1b40a 476 476 "// WARNING: The characteristic is perhaps too small to use"; 477 477 "// the algorithm of Gianni/Trager/Zacharias."; 478 "// This may result in an infin te loop";478 "// This may result in an infinite loop"; 479 479 "// loop in primaryTest, voice:",voice;""; 480 480 } … … 2837 2837 (at even positions in the list) 2838 2838 (resp. a list of the minimal associated primes) 2839 if I is unit ideal, returns em tpy list2839 if I is unit ideal, returns empty list 2840 2840 NOTE: Algorithm of Gianni/Trager/Zacharias 2841 2841 EXAMPLE: example decompE; shows an example … … 3920 3920 as polynomial over Fp(t(1)^(p^-k),...,t(m)^(p^-k)) 3921 3921 RETURN: the separabel part of f as polynomial in Fp(t1,...,tm) 3922 and an integer k to indicate that f should be consider d3922 and an integer k to indicate that f should be considered 3923 3923 as polynomial over Fp(t(1)^(p^-k),...,t(m)^(p^-k)) 3924 3924 EXAMPLE: example sep; shows an example … … 5356 5356 quotM[2]=fac; 5357 5357 quotM[3]=f0; 5358 // we deal sep erately with the first quotient;5358 // we deal separately with the first quotient; 5359 5359 // factors, which do not contribute to this one, 5360 5360 // are omitted … … 5405 5405 quotM[2]=fac; 5406 5406 quotM[3]=f0; 5407 // we deal sep erately with the first quotient;5407 // we deal separately with the first quotient; 5408 5408 // factors, which do not contribute to this one, 5409 5409 // are omitted … … 7404 7404 newDecompStep_i(patchPrimaryDecomposition, I,3); (for the absolute primary decomposition (not tested!)) 7405 7405 "oneIndep"; (for using only one max indep set) 7406 "intersect"; (returns als ethe intersection of the components founded)7406 "intersect"; (returns also the intersection of the components founded) 7407 7407 7408 7408 RETURN: list = list of primary ideals and their associated primes -
Singular/LIB/primdecint.lib
r4bde6b ra1b40a 98 98 setring Rhelp; 99 99 number q=imap(R,q); 100 //=== computes the primes occur ing in a generator of I intersect Z100 //=== computes the primes occurring in a generator of I intersect Z 101 101 list L = primefactors(q); 102 102 … … 328 328 } 329 329 //=== find h in Z such that I is the intersection of I:h and <I,h> 330 //=== and I:h = IQ[variables] intersected with Z[var ables]330 //=== and I:h = IQ[variables] intersected with Z[variables] 331 331 list H =coefZ(J); 332 332 ideal Y=H[1]; … … 427 427 setring Rhelp; 428 428 number q=imap(R,q); 429 //=== computes the primes occur ing in a generator of I intersect Z429 //=== computes the primes occurring in a generator of I intersect Z 430 430 //list L=PollardRho(q,5000,1); 431 431 list L=primefactors(q)[1]; … … 480 480 } 481 481 //=== find h in Z such that I is the intersection of I:h and I,h 482 //=== and I:h =IQ[variables] intersected with Z[var ables]482 //=== and I:h =IQ[variables] intersected with Z[variables] 483 483 list H=coefZ(J); 484 484 int h=H[2]; … … 566 566 setring Rhelp; 567 567 number q=imap(R,q); 568 //=== computes the primes occur ing in a generator of I intersect Z568 //=== computes the primes occurring in a generator of I intersect Z 569 569 //list L=PollardRho(q,5000,1); 570 570 list L=primefactors(q)[1]; … … 597 597 setring R; 598 598 //=== find h in Z such that I is the intersection of I:h and I,h 599 //=== and I:h =IQ[variables] intersected with Z[var ables]599 //=== and I:h =IQ[variables] intersected with Z[variables] 600 600 list H=coefZ(J); 601 601 int h=H[2]; … … 658 658 setring Rhelp; 659 659 number q=imap(R,q); 660 //=== computes the primes occur ing in a generator of I intersect Z660 //=== computes the primes occurring in a generator of I intersect Z 661 661 //list L=PollardRho(q,5000,1); 662 662 list L=primefactors(q)[1]; … … 697 697 K=coefZ(K)[1]; 698 698 //=== find h in Z such that I is the intersection of I:h and I,h 699 //=== and I:h =IQ[variables] intersected with Z[var ables]699 //=== and I:h =IQ[variables] intersected with Z[variables] 700 700 list H=coefZ(J); 701 701 int h=H[2]; … … 765 765 setring Rhelp; 766 766 number q=imap(R,q); 767 //=== computes the primes occur ing in a generator of I intersect Z767 //=== computes the primes occurring in a generator of I intersect Z 768 768 //list L=PollardRho(q,5000,1); 769 769 list L=primefactors(q)[1]; … … 877 877 E=coefZ(E)[1]; 878 878 //=== find h in Z such that I is the intersection of I:h and I,h 879 //=== and I:h =IQ[variables] intersected with Z[var ables]879 //=== and I:h =IQ[variables] intersected with Z[variables] 880 880 int h =coefZ(J)[2]; 881 881 J=J,h; … … 989 989 static proc coefPrimeZ(ideal I) 990 990 { 991 //=== computes the primes occur ing in the product of the leading coefficients991 //=== computes the primes occurring in the product of the leading coefficients 992 992 //=== of I 993 993 number h=1; … … 1327 1327 { 1328 1328 //=== this is needed because we want the leading coefficients to be positive 1329 //=== otherw hise reduce gives wrong results! should be replaced later by std1329 //=== otherwise reduce gives wrong results! should be replaced later by std 1330 1330 I=simplify(I,2); 1331 1331 I=normalizeZ(I); // why is this done before std() call? -
Singular/LIB/qhmoduli.lib
r4bde6b ra1b40a 134 134 export(RME4); 135 135 136 // simplify the ideal and create a new ring with pro pably less variables136 // simplify the ideal and create a new ring with probably less variables 137 137 138 138 if(opt == 1 || opt == 3) { // equations computed ? … … 449 449 ASSUME: f semiquasihomogeneous polynomial with an isolated singularity at 0 450 450 RETURN: list of two rings 'S1', 'S2' 451 - 'S1' cont ians the equations of the stabilizer (ideal 'stabid') @*451 - 'S1' contains the equations of the stabilizer (ideal 'stabid') @* 452 452 - 'S2' contains the action of the stabilizer (ideal 'actionid') 453 453 EXAMPLE: example StabEqn; shows an example … … 562 562 qhsubs[i] = g; 563 563 } 564 dbprint(dbPrt, " qhasihomogenous substitu ion =" + string(qhsubs));564 dbprint(dbPrt, " qhasihomogenous substitution =" + string(qhsubs)); 565 565 map F = RSTR, qhsubs; 566 566 kill varSubsList; … … 612 612 actionid = phi(qhsubs); 613 613 614 // change to new ring, auxil lary construction614 // change to new ring, auxiliary construction 615 615 616 616 setring(RSTT); … … 756 756 static proc MonosAndTerms(poly f,def wt, int ub) 757 757 "USAGE: MonosAndTerms(f, w, ub); poly f, intvec w, int ub 758 PURPOSE: returns a list of all monomials and terms occur ing in f of758 PURPOSE: returns a list of all monomials and terms occurring in f of 759 759 weighted degree < ub 760 760 RETURN: list … … 794 794 static proc SelectMonos(def parts, intvec wt, int d) 795 795 "USAGE: SelectMonos(parts, w, d); list/ideal parts, intvec w, int d 796 PURPOSE: returns a list of all monomials and terms occur ing in f of796 PURPOSE: returns a list of all monomials and terms occurring in f of 797 797 weighted degree = d 798 798 RETURN: list … … 1080 1080 } 1081 1081 1082 // substitute in each monomial sep erately1082 // substitute in each monomial separately 1083 1083 1084 1084 g = 0; … … 1135 1135 static proc StabVar(intvec wt) 1136 1136 "USAGE: StabVar(w); intvec w 1137 PURPOSE: compute the indic ies for quasihomogeneous substitutions of each1137 PURPOSE: compute the indices for quasihomogeneous substitutions of each 1138 1138 variable. 1139 1139 ASSUME: f semiquasihomogeneous polynomial with an isolated singularity at 0 … … 1543 1543 PURPOSE: find the minimal integer contained in 'data' 1544 1544 RETURN: list 1545 ASSUME: 'data' cont ians only integers and is not empty1545 ASSUME: 'data' contains only integers and is not empty 1546 1546 " 1547 1547 {
Note: See TracChangeset
for help on using the changeset viewer.