[BACK]Return to ecart.sm1 CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Doc

Diff for /OpenXM/src/kan96xx/Doc/ecart.sm1 between version 1.11 and 1.12

version 1.11, 2003/08/24 05:19:44 version 1.12, 2003/08/26 05:06:00
Line 1 
Line 1 
 % $OpenXM: OpenXM/src/kan96xx/Doc/ecart.sm1,v 1.10 2003/08/23 02:28:40 takayama Exp $  % $OpenXM: OpenXM/src/kan96xx/Doc/ecart.sm1,v 1.11 2003/08/24 05:19:44 takayama Exp $
 %[(parse) (hol.sm1) pushfile] extension  %[(parse) (hol.sm1) pushfile] extension
 %[(parse) (appell.sm1) pushfile] extension  %[(parse) (appell.sm1) pushfile] extension
   
Line 80 
Line 80 
      } ifelse       } ifelse
    } {     } {
        [(degreeShift) [ ] ll ] homogenize   /arg1 set         [(degreeShift) [ ] ll ] homogenize   /arg1 set
    }     } ifelse
  ] pop   ] pop
  popVariables   popVariables
  arg1   arg1
Line 119 
Line 119 
      } ifelse       } ifelse
    } {     } {
        [(degreeShift) sv ll ] homogenize   /arg1 set         [(degreeShift) sv ll ] homogenize   /arg1 set
    }     } ifelse
  ] pop   ] pop
  popVariables   popVariables
  arg1   arg1
Line 209 
Line 209 
 ]] putUsages  ]] putUsages
   
 /ecart.gb.verbose 1 def  /ecart.gb.verbose 1 def
   %ecarth.gb  s(H)-homogenized outputs.  GG's original version of ecart gb.
 /ecarth.gb {  /ecarth.gb {
   /arg1 set    /arg1 set
   [/in-ecarth.gb /aa /typev /setarg /f /v    [/in-ecarth.gb /aa /typev /setarg /f /v
    /gg /wv /vec /ans /rr /mm     /gg /wv /vec /ans /rr /mm
    /degreeShift  /env2 /opt /ans.gb     /degreeShift  /env2 /opt /ans.gb
      /hdShift
   ] pushVariables    ] pushVariables
   [(CurrentRingp) (KanGBmessage)] pushEnv    [(CurrentRingp) (KanGBmessage)] pushEnv
   [    [
Line 222 
Line 224 
     /setarg 0 def      /setarg 0 def
     /wv 0 def      /wv 0 def
     /degreeShift 0 def      /degreeShift 0 def
       /hdShift 0 def
     /opt [(weightedHomogenization) 1] def      /opt [(weightedHomogenization) 1] def
     aa { tag } map /typev set      aa { tag } map /typev set
     typev [ ArrayP ] eq      typev [ ArrayP ] eq
Line 263 
Line 266 
        /degreeShift aa 3 get def         /degreeShift aa 3 get def
        /setarg 1 def         /setarg 1 def
     } { } ifelse      } { } ifelse
   
       typev [ArrayP StringP ArrayP ArrayP ArrayP] eq
       {  /f aa 0 get def
          /v aa 1 get def
          /wv aa 2 get def
          /degreeShift aa 3 get def
          /hdShift aa 4 get def
          /setarg 1 def
       } { } ifelse
     typev [ArrayP ArrayP ArrayP ArrayP] eq      typev [ArrayP ArrayP ArrayP ArrayP] eq
     {  /f aa 0 get def      {  /f aa 0 get def
        /v aa 1 get from_records def         /v aa 1 get from_records def
Line 270 
Line 282 
        /degreeShift aa 3 get def         /degreeShift aa 3 get def
        /setarg 1 def         /setarg 1 def
     } { } ifelse      } { } ifelse
       typev [ArrayP ArrayP ArrayP ArrayP ArrayP] eq
       {  /f aa 0 get def
          /v aa 1 get from_records def
          /wv aa 2 get def
          /degreeShift aa 3 get def
          /hdShift aa 4 get def
          /setarg 1 def
       } { } ifelse
       typev [ArrayP ArrayP ArrayP ArrayP StringP] eq
       {  /f aa 0 get def
          /v aa 1 get from_records def
          /wv aa 2 get def
          /degreeShift aa 3 get def
          aa 4 get (no) eq {
            /hdShift -1 def
          } {
            (Unknown keyword for the 5th argument) error
          } ifelse
          /setarg 1 def
       } { } ifelse
   
     /env1 getOptions def      /env1 getOptions def
   
     setarg { } { (ecart.gb : Argument mismatch) error } ifelse      ecart.gb.verbose { $ecarth.gb computes std basis with h-s(H)-homogenized buchberger algorithm.$ message } {  } ifelse
       setarg { } { (ecarth.gb : Argument mismatch) error } ifelse
   
     [(KanGBmessage) ecart.gb.verbose ] system_variable      [(KanGBmessage) ecart.gb.verbose ] system_variable
   
Line 349 
Line 382 
   
     ecart.gb.verbose { (gb.options = ) messagen gb.options message } { } ifelse      ecart.gb.verbose { (gb.options = ) messagen gb.options message } { } ifelse
     ecart.autoHomogenize {      ecart.autoHomogenize {
       (ecart.gb: Input polynomial or vectors are automatically h-H-homogenized.)        (ecarth.gb: Input polynomial or vectors are automatically h-H-homogenized.)
       message        message
     } { } ifelse      } { } ifelse
     ecart.autoHomogenize {  
       f { {. ecart.dehomogenize} map} map /f set      hdShift tag 1 eq {
       f ecart.homogenize01 /f set       ecart.autoHomogenize not hdShift -1 eq or {
     }{  % No automatic h-s-homogenization.
       f { {. } map } map /f set         f { {. } map} map /f set
     } ifelse       } {
   % Automatic h-s-homogenization without degreeShift
          f { {. ecart.dehomogenize} map} map /f set
          f ecart.homogenize01 /f set
        } ifelse
      } {
   % Automatic h-s-homogenization with degreeShift
          f { {. ecart.dehomogenize} map} map /f set
          f {/fi set [(degreeShift) hdShift fi] homogenize} map /f set
      }ifelse
   
     ecart.needSyz {      ecart.needSyz {
       [f [(needSyz)] gb.options join ] groebner /gg set        [f [(needSyz)] gb.options join ] groebner /gg set
     } {      } {
Line 407 
Line 450 
   (array a; array b;)    (array a; array b;)
   $b : [g ii];  array g; array in; g is a standard (Grobner) basis of f$    $b : [g ii];  array g; array in; g is a standard (Grobner) basis of f$
   (             in the ring of differential operators.)    (             in the ring of differential operators.)
   (The computation is done by using Ecart division algorithm and )    (The computation is done by using Ecart division algorithm.)
   (the double homogenization.)    $Buchberger algorithm is applied for double h-H(s)-homogenized elements and$
     (they are not dehomogenized.)
   (cf. M.Granger and T.Oaku: Minimal filtered free resolutions ... 2003)    (cf. M.Granger and T.Oaku: Minimal filtered free resolutions ... 2003)
    $            ii is the initial ideal in case of w is given or <<a>> belongs$     $            ii is the initial ideal in case of w is given or <<a>> belongs$
    $            to a ring. In the other cases, it returns the initial monominal.$     $            to a ring. In the other cases, it returns the initial monominal.$
Line 443 
Line 487 
   (                                                          define_ring )    (                                                          define_ring )
 ]] putUsages  ]] putUsages
   
 %% BUG:  " f weight init " works well in case of vectors with degree shift ?  
   
 /ecart.syz {  /ecart.syz {
   /arg1 set    /arg1 set
Line 843 
Line 886 
     ecart.gb.verbose { (gb.options = ) messagen gb.options message } { } ifelse      ecart.gb.verbose { (gb.options = ) messagen gb.options message } { } ifelse
   
     hdShift tag 1 eq {      hdShift tag 1 eq {
      hdShift -1 eq {       ecart.autoHomogenize not hdShift -1 eq  or {
 % No automatic h-homogenization.  % No automatic h-homogenization.
        f { {. } map} map /f set         f { {. } map} map /f set
      } {       } {

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

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