[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.13 and 1.14

version 1.13, 2003/08/26 12:46:03 version 1.14, 2003/08/27 03:11:13
Line 1 
Line 1 
 % $OpenXM: OpenXM/src/kan96xx/Doc/ecart.sm1,v 1.12 2003/08/26 05:06:00 takayama Exp $  % $OpenXM: OpenXM/src/kan96xx/Doc/ecart.sm1,v 1.13 2003/08/26 12:46:03 takayama Exp $
 %[(parse) (hol.sm1) pushfile] extension  %[(parse) (hol.sm1) pushfile] extension
 %[(parse) (appell.sm1) pushfile] extension  %[(parse) (appell.sm1) pushfile] extension
   
Line 1091 
Line 1091 
   arg1    arg1
 } def  } def
   
   /ecart.isZeroRow {
     /arg1 set
     [/in-ecart.isZeroRow /aa /i /n /yes] pushVariables
     [
        /aa arg1 def
        aa length /n set
        /yes 1 def
        0 1 n 1 sub {
          /i set
          aa i get (0). eq {
          } {
            /yes 0 def
          } ifelse
        } for
        /arg1 yes def
     ] pop
     popVariables
     arg1
   } def
   
   /ecart.removeZeroRow {
     /arg1 set
     [/in-ecart.removeZeroRow /aa /i /n /ans] pushVariables
     [
        /aa arg1 def
        aa length /n set
        /ans [ ] def
        0 1 n 1 sub {
          /i set
          aa i get ecart.isZeroRow {
          } {
            ans aa i get append /ans set
          } ifelse
        } for
        /arg1 ans def
     ] pop
     popVariables
     arg1
   } def
   
   /ecart.gen_input {
     /arg1 set
     [/in-ecart.gen_input  /aa /typev /setarg /f /v
      /gg /wv /vec /ans /rr /mm
      /degreeShift  /env2 /opt /ss0
      /hdShift /ff
      ] pushVariables
     [
       /aa arg1 def
       aa isArray { } { ( << array >> ecart.gen_input) error } ifelse
       /setarg 0 def
       /wv 0 def
       /degreeShift 0 def
       /hdShift 0 def
       aa { tag } map /typev set
       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 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
       setarg { } { (ecart.minimalBase : Argument mismatch) error } ifelse
   
       [(KanGBmessage) ecart.gb.verbose ] system_variable
   
       f 0 get tag ArrayP eq {  }
       {  f { /tt set [ tt ] } map /f set } ifelse
   
       [f v wv degreeShift [hdShift 0 get degreeShift 0 get]]
       ecart.gb /ff set
       ff getRing ring_def
   
       ff 0 get { {toString } map } map /ff set
   
       [ff v wv degreeShift [hdShift 0 get degreeShift 0 get]] /arg1 set
     ] pop
     popVariables
     arg1
   } def
   [(ecart.gen_input)
   [([ff v weight_vector uv_shift_m [D_shift_n uv_shift_m]]  ecart.gen_input )
    (               [gg_h v weight_vector uv_shift_m [D_shift_n uv_shift_m]] )
    (It generates the input for the minimal filtered free resolution.)
    (Current ring is changed to the ring of gg_h.)
    (cf. ecart.minimalBase)
     $Example: [ [(t-x^3+y^2) (Dx+ 3 x^2 Dt) (Dy - 2 y Dt)] (t,x,y) $
     $           [ [(t) -1 (Dt) 1] [(t) -1 (x) -1 (y) -1 (Dt) 1 (Dx) 1 (Dy) 1]] $
     $           [ [0] ] $
     $           [ [0] [0] ] ] ecart.gen_input /gg set gg pmat $
   ]] putUsages
   
   
 [(ecart.minimalBase)  [(ecart.minimalBase)
 [([ff v weight_vector degreeShift [D_shift_n uv_shift_m]]  ecart.minimalBase mbase)  [([ff v weight_vector uv_shift_m [D_shift_n uv_shift_m]]  ecart.minimalBase )
    (  [mbase gr_of_mbase )
    (     [syz v weight_vector new_uv_shift_m [new_D_shift_n new_uv_shift_m]])
    (     gr_of_syz ])
    (mbase is the minimal generators of ff in D^h in the sense of filtered minimal)
    (generators.)
     $Example: [ [(t-x^3+y^2) (Dx+ 3 x^2 Dt) (Dy - 2 y Dt)] (t,x,y) $
     $           [ [(t) -1 (Dt) 1] [(t) -1 (x) -1 (y) -1 (Dt) 1 (Dx) 1 (Dy) 1]] $
     $           [ [0] ] $
     $           [ [0] [0] ] ] ecart.gen_input /gg0 set $
     $         gg0 ecart.minimalBase /ss0 set $
     $         ss0 2 get ecart.minimalBase /ss1 set $
     $         ss1 2 get ecart.minimalBase /ss2 set $
     $     (---------  minimal filtered resolution -------) message $
     $     ss0 0 get pmat ss1 0 get pmat ss2 0 get pmat  $
     $     (---------  degree shift (n,m) n:D-shift m:uv-shift  -------) message $
     $     gg0       4 get message $
     $     ss0 2 get 4 get message $
     $     ss1 2 get 4 get message $
     $     ss2 2 get 4 get message ; $
   
 ]] putUsages  ]] putUsages
 /ecart.minimalBase {  /ecart.minimalBase {
   /arg1 set    /arg1 set
Line 1162 
Line 1284 
   
 %C  Note 2003.8.26  %C  Note 2003.8.26
   
       ai [ ] eq {
         exit
       } {  } ifelse
   
     /s ai length def      /s ai length def
     /r ai 0 get length def      /r ai 0 get length def
   
Line 1219 
Line 1345 
      } for       } for
   
 %   ( ) error  %   ( ) error
      /ai1 ai1_new def       /ai1 ai1_new  def
      /ai ai_new2 def       /ai ai_new2  ecart.removeZeroRow def
   
    } loop     } loop
    /arg1 ai1 def     /arg1
        [  ai1
           ai1 {[wv 0 get weightv  degreeShift 0 get] init} map %Getting gr of A_{i-1}
           [ai v wv [degreeShiftUVnew] [degreeShiftDnew degreeShiftUVnew]]
           ai {[wv 0 get weightv  degreeShiftUVnew] init} map %Getting gr of A_i
        ]
      def
   ] pop    ] pop
   popVariables    popVariables
   arg1    arg1

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

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