Changeset 8912ce in git


Ignore:
Timestamp:
Aug 11, 2004, 6:11:40 PM (20 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
9c561b94547cc2ee1873efed62ed03f1413f500a
Parents:
e65fe97407c42bd793157749a8b4dc89f2599006
Message:
*hannes: copy from 2-0-6


git-svn-id: file:///usr/local/Singular/svn/trunk@7362 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/hnoether.lib

    re65fe9 r8912ce  
    1 version="$Id: hnoether.lib,v 1.39 2004-08-05 15:59:21 Singular Exp $";
     1version="$Id: hnoether.lib,v 1.40 2004-08-11 16:11:40 Singular Exp $";
    22category="Singularities";
    33info="
     
    21152115         display an ideal HNE of the following form:
    21162116     @example
    2117      HNE[1]=-y+[]*z(0)^1+[]*z(0)^2+...+z(0)^<>*z(1)
    2118      HNE[2]=-x+          []*z(1)^2+...+z(1)^<>*z(2)
    2119      HNE[3]=             []*z(2)^2+...+z(2)^<>*z(3)
    2120      .......             ..........................
    2121      HNE[r+1]=           []*z(r)^2+[]*z(r)^3+......
     2117       y = []*x^1+[]*x^2   +...+x^<>*z(1)
     2118       x =        []*z(1)^2+...+z(1)^<>*z(2)
     2119       z(1) =     []*z(2)^2+...+z(2)^<>*z(3)
     2120       .......             ..........................
     2121       z(r-1) =   []*z(r)^2+[]*z(r)^3+......
    21222122     @end example
    21232123     where @code{x},@code{y} are the first 2 variables of the basering.
     
    21812181 map holematrix=altring,0;        // mappt nur die Monome vom Grad Null
    21822182 matrix m=holematrix(m);
     2183 int i,j;
     2184
     2185 // lossen: check the last row for finiteness (06/2004)
     2186 int rowM=nrows(m);
     2187 int colM=ncols(m);
     2188 int undef_bd=v[size(v)];
     2189 if ( undef_bd<-1 ){
     2190   for (j=-undef_bd; j<=colM; j++) { m[rowM,j]=0; }
     2191 }
     2192
    21832193 //--------------------- Erzeuge Matrix n mit n[i,j]=z(j-1)^i -----------------
    2184  int i;
    2185  matrix n[ncols(m)][nrows(m)];
    2186  for (int j=1; j<=nrows(m); j++) {
    2187     for (i=1; i<=ncols(m); i++) { n[i,j]=z(j-1)^i; }
     2194 matrix n[colM][rowM];
     2195 for (j=1; j<=rowM; j++) {
     2196    for (i=1; i<=colM; i++) { n[i,j]=z(j-1)^i; }
    21882197 }
    21892198 matrix displaymat=m*n;
    21902199 ideal HNE;
    2191  for (i=1; i<nrows(m); i++) { HNE[i]=displaymat[i,i]+z(i)*z(i-1)^v[i]; }
    2192  HNE[nrows(m)]=displaymat[nrows(m),nrows(m)];
    2193  if (nrows(m)<2) { HNE[2]=z(0); }
     2200 for (i=1; i<rowM; i++) { HNE[i]=displaymat[i,i]+z(i)*z(i-1)^v[i]; }
     2201 HNE[rowM]=displaymat[rowM,rowM];
     2202
     2203 // lossen: output modified (06/2004)
     2204 if (size(#) == 0)
     2205 {
     2206   if (switch==0) {
     2207     HNE=subst(HNE,z(0),var(size(v)+1));
     2208   }
     2209   else  {
     2210     HNE=subst(HNE,z(0),var(size(v)+2));
     2211   }
     2212
     2213   for (j=1; j<=ncols(HNE); j++){
     2214     string stHNE(j)=string(HNE[j]);
     2215   }
     2216   if (undef_bd<-1)
     2217   {   
     2218     stHNE(size(v))=stHNE(size(v))+" + ..... (terms of degree >="
     2219                                 +string(-undef_bd)+")";
     2220   }
     2221   if (undef_bd==-1)
     2222   {   
     2223     stHNE(size(v))=stHNE(size(v))+" + ..... (terms of degree >="
     2224                                 +string(colM+1)+")";
     2225   }
     2226
     2227   if (switch==0) {
     2228     stHNE(1) = "  "+string(var(size(v)+2))+" = "+stHNE(1);
     2229   }
     2230   else {
     2231     stHNE(1) = "  "+string(var(size(v)+1))+" = "+stHNE(1);
     2232   } 
     2233   stHNE(1);
     2234   if (ncols(HNE)==1) {return();}
     2235
     2236   if (switch==0) {
     2237     stHNE(2) = "  "+string(var(size(v)+1))+" = "+stHNE(2);
     2238   }
     2239   else {
     2240     stHNE(2) = "  "+string(var(size(v)+2))+" = "+stHNE(2);
     2241   } 
     2242   stHNE(2);
     2243
     2244   for (j=3; j<=ncols(HNE); j++){
     2245     stHNE(j)= "  "+"z(" +string(j-2)+ ") = "+stHNE(j);
     2246     stHNE(j);
     2247   }
     2248   return();
     2249 }
     2250
     2251 if (rowM<2) { HNE[2]=z(0); }
     2252
    21942253 if (switch==0) {
    21952254    HNE[1] = HNE[1]-var(size(v)+2);
     
    26172676 {
    26182677   if(system("with","Namespaces")) { kill Top::extdguenstig; }
    2619    if (defined(extdguenstig)) {kill extdguenstig; }
     2678   kill extdguenstig;
    26202679 }
    26212680
     
    28432902 //--- Falls Ring (0,a),... + minpoly : solange factorize nicht in Singular ---
    28442903 //------- implementiert ist, develop aufrufen (kann spaeter entfallen) -------
    2845    if ((char(basering)==0) && (npars(basering)==1)) {
    2846      if (string(minpoly)<>"0") { irred=1; }
    2847    }
     2904 //
     2905 // **** lossen: gestrichen 08/05  ****
     2906 //   if ((char(basering)==0) && (npars(basering)==1)) {
     2907 //     if (string(minpoly)<>"0") { irred=1; }
     2908 //   }
     2909 //
    28482910 //------------------ Aufruf der geeigneten Prozedur --------------------------
    28492911   if (irred==0) {
     
    38813943  }
    38823944  keepring basering;
    3883   if (system("with","Namespaces"))
    3884   {
    3885     if (defined(transfproc)) { return(list(HNEs,transfproc)); }
    3886     else                     { return(list(HNEs,poly(-1))); }
    3887   }
    3888   else
    3889   {
    3890     if (defined(transfproc)) { return(list(HNEs,transfproc)); }
    3891     else                     { return(list(HNEs,poly(-1))); }
    3892   }
     3945  if (defined(transfproc)) { return(list(HNEs,transfproc)); }
     3946  else                     { return(list(HNEs,poly(-1))); }
    38933947 // -1 als 2. Rueckgabewert zeigt an, dass kein Ringwechsel stattgefunden hat -
    38943948 }
Note: See TracChangeset for help on using the changeset viewer.