[BACK]Return to ndbf.rr CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-contrib / testing / noro

Diff for /OpenXM/src/asir-contrib/testing/noro/ndbf.rr between version 1.18 and 1.19

version 1.18, 2011/01/16 08:46:10 version 1.19, 2011/03/30 05:07:01
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/asir-contrib/testing/noro/ndbf.rr,v 1.17 2010/07/12 07:20:03 noro Exp $ */  /* $OpenXM: OpenXM/src/asir-contrib/testing/noro/ndbf.rr,v 1.18 2011/01/16 08:46:10 noro Exp $ */
 /* requires 'primdec' */  /* requires 'primdec' */
   
 #define TMP_H hhhhhhhh  #define TMP_H hhhhhhhh
Line 31  localf weyl_nf_quo, weyl_nf_mod, b_subst, v_factorial,
Line 31  localf weyl_nf_quo, weyl_nf_mod, b_subst, v_factorial,
 localf replace_vars_f, replace_vars_v, replace_var$  localf replace_vars_f, replace_vars_v, replace_var$
 localf action_on_gfs, action_on_gfs_1$  localf action_on_gfs, action_on_gfs_1$
 localf nd_gb_candidate$  localf nd_gb_candidate$
 localf in_gb_oaku$  localf in_gb_oaku, homogenize_oaku$
   
 /* stratification */  /* stratification */
   
Line 428  def in_gb_oaku(F)
Line 428  def in_gb_oaku(F)
         dp_set_weight(0);          dp_set_weight(0);
         G1 = map(subst,G0,TMP_Y1,1);          G1 = map(subst,G0,TMP_Y1,1);
         return [G1,append(V,DV)];          return [G1,append(V,DV)];
   }
   
   /* homogenization w.r.t. (-W,W)-weight */
   /* VDV = [x1,...,xn,dx1,...,dxn] */
   /* homogenize F w.r.t. (W,-W,1) for (x,dx,y) */
   
   def homogenize_oaku(F,VDV,W,Y)
   {
           N = length(VDV);
           if ( N%2 ) error("invalid variable list");
           N2 = N/2;
           if ( length(W) != N2 ) error("inconsistent weight vector");
           W0 = dp_set_weight();
           Wt = append(W,append(vtol(-ltov(W)),[1]));
           dp_set_weight(Wt);
           H = homogenize(F,VDV,Y);
           dp_set_weight(W0);
           if ( type(Vars=getopt(vars)) != -1 && Vars ) {
                   DY = strtov("d"+rtostr(Y));
                   for ( I = 0, T = VDV, V = []; I < N2; I++, T = cdr(T) )
                           V = cons(car(T),V);
                   T = cons(Y,append(T,[DY]));
                   for ( ; V != []; V = cdr(V) ) T = cons(car(V),T);
                   return [H,T];
           } else return H;
 }  }
   
 /* F = [F0,F1,...] */  /* F = [F0,F1,...] */

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>