[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.34 and 1.35

version 1.34, 2004/09/13 11:24:10 version 1.35, 2004/09/14 03:12:17
Line 1 
Line 1 
 % $OpenXM: OpenXM/src/kan96xx/Doc/ecart.sm1,v 1.33 2004/09/10 13:20:22 takayama Exp $  % $OpenXM: OpenXM/src/kan96xx/Doc/ecart.sm1,v 1.34 2004/09/13 11:24:10 takayama Exp $
 (hol_loaded) boundp { }  (hol_loaded) boundp { }
 { [(parse) (hol.sm1) pushfile] extension } ifelse  { [(parse) (hol.sm1) pushfile] extension } ifelse
 %[(parse) (appell.sm1) pushfile] extension  %[(parse) (appell.sm1) pushfile] extension
   
 (ecart.sm1 : ecart division for D, 2003/07/25 ) message-quiet  (ecart.sm1 : ecart division for D, 2003/07/25, 2004/09/14 ) message-quiet
 /ecart.begin { beginEcart } def  /ecart.begin { beginEcart } def
 /ecart.end   { endEcart } def  /ecart.end   { endEcart } def
 /ecart.autoHomogenize 1 def  /ecart.autoHomogenize 1 def
 /ecart.needSyz 0 def  /ecart.needSyz 0 def
 /ecartd.gb.oxRingStructure [[ ] [ ] ] def  /ecartd.gb.oxRingStructure [[ ] [ ] ] def
   /ecart.partialEcartGlobalVarX [ ] def
   
 /ecartd.begin {  /ecartd.begin {
   ecart.begin    ecart.begin
Line 26 
Line 27 
 /ecart.messagen {  /ecart.messagen {
   ecart.message.quiet { pop } { messagen } ifelse    ecart.message.quiet { pop } { messagen } ifelse
 } def  } def
   /ecart.setOpt.init {
   % Initialize
       /ecart.partialEcartGlobalVarX [ ] def
   } def
 /ecart.setOpt {  /ecart.setOpt {
   /arg1 set    /arg1 set
   [/in-ecart.setOpt /opt /i /n /ans] pushVariables    [/in-ecart.setOpt /opt /i /n /ans] pushVariables
Line 33 
Line 38 
     /opt arg1 def      /opt arg1 def
     /ans [ ] def      /ans [ ] def
     /n opt length def      /n opt length def
   
       ecart.setOpt.init
   
     0 2 n 1 sub {      0 2 n 1 sub {
       /i set        /i set
       opt i get tag StringP eq not {        opt i get tag StringP eq not {
Line 60 
Line 68 
         exit          exit
       } {  } ifelse        } {  } ifelse
   
   % Global:  ecart.partialEcartGlobalVarX
         opt i get (partialEcartGlobalVarX) eq {
           /ecart.partialEcartGlobalVarX opt , i 1 add , get def
           % do not exit.
         } {  } ifelse
   
       ans [opt i get opt i 1 add get ]  join /ans set        ans [opt i get opt i 1 add get ]  join /ans set
       exit        exit
      } loop       } loop
Line 269 
Line 283 
   $             [ [(Dx) 1 (Dy) 1] [(x) -1 (y) -1 (Dx) 1 (Dy) 1] ]  $    $             [ [(Dx) 1 (Dy) 1] [(x) -1 (y) -1 (Dx) 1 (Dy) 1] ]  $
   $             [(degreeShift) [[0 1] [-3 1]]] ] ecart.gb pmat ; $    $             [(degreeShift) [[0 1] [-3 1]]] ] ecart.gb pmat ; $
   (  )    (  )
     $Example 6:  [ [(1-z) (-x+1-y-z)] (x,y,z)  $
     $              [[(y) -1 (z) -1 (Dy) 1 (Dz) 1] [(x) 1 (Dx) 1]] $
     $              [(partialEcartGlobalVarX) [(x)]] ] /std set $
     $             std ecart.gb pmat ; $
     $             std ecart.gb getRing :: $
     (  )
   (cf. gb, groebner, ecarth.gb, ecartd.gb, ecart.syz, ecart.begin, ecart.end, ecart.homogenize01, )    (cf. gb, groebner, ecarth.gb, ecartd.gb, ecart.syz, ecart.begin, ecart.end, ecart.homogenize01, )
   (    ecart.dehomogenize, ecart.dehomogenizeH)    (    ecart.dehomogenize, ecart.dehomogenizeH)
   ( [(weightedHomogenization) 1 (degreeShift) [[1 2 1]]] : options for )    ( [(weightedHomogenization) 1 (degreeShift) [[1 2 1]]] : options for )
Line 297 
Line 317 
     /hdShift 0 def      /hdShift 0 def
     /opt [(weightedHomogenization) 1] def      /opt [(weightedHomogenization) 1] def
     /ecart.useSugar 0 def      /ecart.useSugar 0 def
       ecart.setOpt.init
     aa { tag } map /typev set      aa { tag } map /typev set
     typev [ ArrayP ] eq      typev [ ArrayP ] eq
     {  /f aa 0 get def      {  /f aa 0 get def
Line 419 
Line 440 
     } { } ifelse      } { } ifelse
   
     %%BUG: case of v is integer      %%BUG: case of v is integer
     v ecart.checkOrder      [v ecart.partialEcartGlobalVarX] ecart.checkOrder
   
     ecart.begin      ecart.begin
   
Line 599 
Line 620 
     /wv 0 def      /wv 0 def
     /degreeShift 0 def      /degreeShift 0 def
     /opt [(weightedHomogenization) 1] def      /opt [(weightedHomogenization) 1] def
       ecart.setOpt.init
     aa { tag } map /typev set      aa { tag } map /typev set
     typev [ ArrayP ] eq      typev [ ArrayP ] eq
     {  /f aa 0 get def      {  /f aa 0 get def
Line 718 
Line 740 
     } { } ifelse      } { } ifelse
   
     %%BUG: case of v is integer      %%BUG: case of v is integer
     v ecart.checkOrder      [v ecart.partialEcartGlobalVarX] ecart.checkOrder
   
     ecartn.begin      ecartn.begin
   
Line 796 
Line 818 
     /hdShift 0 def      /hdShift 0 def
     /ecart.useSugar 0 def      /ecart.useSugar 0 def
     /opt [(weightedHomogenization) 1] def      /opt [(weightedHomogenization) 1] def
       ecart.setOpt.init
     aa { tag } map /typev set      aa { tag } map /typev set
     typev [ ArrayP ] eq      typev [ ArrayP ] eq
     {  /f aa 0 get def      {  /f aa 0 get def
Line 908 
Line 931 
     } { } ifelse      } { } ifelse
   
     %%BUG: case of v is integer      %%BUG: case of v is integer
     v ecart.checkOrder      [v ecart.partialEcartGlobalVarX] ecart.checkOrder
   
   
     ecartd.begin      ecartd.begin
   
     ecart.gb.verbose { (gb.options = ) ecart.messagen gb.options ecart.message } { } ifelse      ecart.gb.verbose { (gb.options = ) ecart.messagen gb.options ecart.message } { } ifelse
Line 989 
Line 1013 
   
 /ecart.checkOrder {  /ecart.checkOrder {
   /arg1 set    /arg1 set
   [/in-ecart.checkOrder /vv /tt /dd /n /i] pushVariables    [/vv] pushVariables
   [    [
     /vv arg1 def      /vv arg1 def
       vv length 1 eq {
         vv 0 get ecart.checkOrder.noGlobal /arg1 set
       }{
         vv ecart.checkOrder.global /arg1 set
       } ifelse
     ] pop
     popVariables
     /arg1
   } def
   /ecart.checkOrder.noglobal {
     /arg1 set
     [/vv /tt /dd /n /i] pushVariables
     [
       /vv arg1 def
     vv isArray      vv isArray
     { } { [vv to_records pop] /vv set } ifelse      { } { [vv to_records pop] /vv set } ifelse
     vv {toString} map /vv set      vv {toString} map /vv set
Line 1015 
Line 1053 
   popVariables    popVariables
   arg1    arg1
 } def  } def
   
   /ecart.checkOrder.global {
     /arg1 set
     [/vv /vvGlobal /tt /dd /n /i] pushVariables
     [
       /vv arg1 def
       /vvGlobal vv 1 get def
       vv 0 get /vv set
       vv isArray
       { } { [vv to_records pop] /vv set } ifelse
       vv {toString} map /vv set
       vvGlobal isArray
       { } { [vvGlobal to_records pop] /vvGlobal set } ifelse
       vvGlobal {toString} map /vv set
   
       vv vvGlobal setMinus /vv set
       vv { /tt set [@@@.Dsymbol tt] cat } map /dd set
       % Starting the checks.  Check for local variables.
       0 1 vv length 1 sub {
          /i set
          vv i get . dd i get . mul /tt set
          tt @@@.hsymbol . add init tt eq { }
          { [@@@.hsymbol ( is larger than ) vv i get ( ) dd i get] cat error} ifelse
       } for
   
       0 1 vv length 1 sub {
          /i set
          vv i get . /tt set
          tt (1). add init (1). eq { }
          { [vv i get ( is larger than 1 ) ] cat error} ifelse
       } for
   
       % check for global variables.
       0 1 vvGlobal length 1 sub {
          /i set
          vvGlobal i get . /tt set
          tt (1). add init (1). eq { [vvGlobal i get ( is smaller than 1 ) ] cat error }
          { } ifelse
       } for
   
   
       /arg1 1 def
     ] pop
     popVariables
     arg1
   } def
 [(ecart.checkOrder)  [(ecart.checkOrder)
  [(v ecart.checkOrder bool checks if the given order is relevant)   [([v vGlobal] ecart.checkOrder bool checks if the given order is relevant)
   (for the ecart division.)    (for the ecart division.)
   (cf. ecartd.gb, ecart.gb, ecartn.gb)    (cf. ecartd.gb, ecart.gb, ecartn.gb)
  ]   ]

Legend:
Removed from v.1.34  
changed lines
  Added in v.1.35

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