Changeset 6fd3a2 in git for Singular/LIB/primdec.lib


Ignore:
Timestamp:
Dec 7, 2007, 11:20:34 AM (16 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
b809a8a816d3540b354df0da574c2d8753d13879
Parents:
70c2cc2d9c397681c3678b4a007ae94378a277f6
Message:
*hannes/pfister: force redSB for finduni


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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/primdec.lib

    r70c2cc2 r6fd3a2  
    11///////////////////////////////////////////////////////////////////////////////
    2 version="$Id: primdec.lib,v 1.135 2007-04-20 09:53:27 Singular Exp $";
     2version="$Id: primdec.lib,v 1.136 2007-12-07 10:20:34 Singular Exp $";
    33category="Commutative Algebra";
    44info="
     
    57245724static proc radicalReduction(ideal I, ideal ser, int allIndep, list #)
    57255725{
    5726 // allMaximal                1 -> Indicates that the reduction to the zerodim case
    5727 //                       must be done for all indep set of the leading terms ideal
    5728 //                                        0 -> Otherwise
    5729 // ideal ser                Only for radicalKL. (Same as in radicalKL)
    5730 // list #                        Only for radicalKL (If #[1] = 1, only equiradical is required.
    5731 //                  It is used to set the value of done.)
     5726// allMaximal      1 -> Indicates that the reduction to the zerodim case
     5727//                    must be done for all indep set of the leading terms ideal
     5728//                 0 -> Otherwise
     5729// ideal ser       Only for radicalKL. (Same as in radicalKL)
     5730// list #          Only for radicalKL (If #[1] = 1,
     5731//                    only equiradical is required.
     5732//                    It is used to set the value of done.)
    57325733
    57335734  attrib(I, "isSB", 1);   // I needs to be a reduced standard basis
     
    57865787  //-------------------------------------------------------------------------
    57875788
    5788   // SL 2006-04-24 1         If allIndep = 0, then it only computes one maximal
    5789   //                                        independent set.
    5790   //                                        This looks better for the new algorithm but not for KL
    5791   //                                        algorithm
     5789  // SL 2006-04-24 1   If allIndep = 0, then it only computes one maximal
     5790  //                     independent set.
     5791  //                     This looks better for the new algorithm but not for KL
     5792  //                     algorithm
    57925793  list parameters = allIndep;
    57935794  indep = newMaxIndependSetDp(I, parameters);
     
    58735874      op = option(get);
    58745875      option(redSB);
    5875       @j = interred(@j);  //to obtain a reduced standardbasis
    5876       attrib(@j, "isSB", 1);
     5876      @j = std(@j);  //to obtain a reduced standardbasis
    58775877      option(set, op);
    58785878
     
    59745974  // SL 2006.04.11 2 Debug messages
    59755975
    5976   // SL 2006.04.21 1         New variable "done".
    5977   //                                        It tells if the radical is already computed or
    5978   //                                        if it still has to be computed the radical of the new ideal I
     5976  // SL 2006.04.21 1    New variable "done".
     5977  //                      It tells if the radical is already computed or
     5978  //                      if it still has to be computed the radical of the new ideal I
    59795979  int done;
    59805980  if(((@wr == 1) && (dim(I)<jdim)) || (deg(I[1])==0) || (size(te) == 0))
     
    59885988  // SL 2006.04.21 2
    59895989
    5990   // SL 2006.04.21 1         See details of the output at the beggining of this proc.
     5990  // SL 2006.04.21 1     See details of the output at the beginning of this proc.
    59915991  list result = rad, I, done;
    59925992  return(result);
    59935993  // SL 2006.04.21 2
    59945994}
    5995 
    5996 
    59975995
    59985996///////////////////////////////////////////////////////////////////////////////
     
    60066004// Output: ideal. Intersection of some primes of I different from the ones in P.
    60076005{
    6008   int k = 1;                                // Counter
    6009   int good  = 0;                        // Checks if an element of P is in rad(I)
     6006  int k = 1;                     // Counter
     6007  int good  = 0;                 // Checks if an element of P is in rad(I)
    60106008
    60116009  dbprint (printlevel-voice, "// We search for an element in P - sqrt(I).");
     
    60276025  if (P[k] != 1)
    60286026  {
     6027    intvec oo=option(get);
     6028    option(redSB);
    60296029    ideal J = sat(I, P[k])[1];
     6030    option(set,oo);
     6031
    60306032  }
    60316033  else
     
    60406042  dbprint(printlevel - voice, "// The dimension is ", dim(groebner(J)));
    60416043
    6042   int allMaximal = 0;                   // Compute the zerodim reduction for only one indep set.
    6043   ideal re = 1;                           // No reduction is need, there are not redundant components.
    6044   list emptyList = list();   // Look for primes of any dimension, not only of max dimension.
     6044  int allMaximal = 0;   // Compute the zerodim reduction for only one indep set.
     6045  ideal re = 1;         // No reduction is need,
     6046                        //    there are not redundant components.
     6047  list emptyList = list();   // Look for primes of any dimension,
     6048                             //   not only of max dimension.
    60456049  list result = radicalReduction(J, re, allMaximal, emptyList);
    60466050
Note: See TracChangeset for help on using the changeset viewer.