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

Diff for /OpenXM/src/kan96xx/Doc/dhecart.sm1 between version 1.1 and 1.4

version 1.1, 2004/07/29 08:13:42 version 1.4, 2005/06/19 08:29:02
Line 1 
Line 1 
 % $OpenXM$  % $OpenXM: OpenXM/src/kan96xx/Doc/dhecart.sm1,v 1.3 2004/09/14 11:51:20 takayama Exp $
 % Stdbasis via the double homogenization:  dx x = x dx + h H  % Stdbasis via the double homogenization:  dx x = x dx + h H
 % Homogenize=3  % Homogenize=3
 (ecart_loaded) boundp { }  (ecart_loaded) boundp { }
 { [(parse) (ecart.sm1) pushfile] extension } ifelse  { [(parse) (ecart.sm1) pushfile] extension } ifelse
   
 /dh.begin {  /dh.begin {
     [(Homogenize) (AutoReduce) (KanGBmessage)] pushEnv /dh.saved.env set
   [(Homogenize) 3] system_variable    [(Homogenize) 3] system_variable
     dh.autoReduce { [(AutoReduce) 1] system_variable } { } ifelse
 } def  } def
   
 /dh.end {  /dh.end {
     dh.saved.env popEnv
   [(Homogenize) 1] system_variable    [(Homogenize) 1] system_variable
 } def  } def
   
Line 19 
Line 22 
 % Global environmental variables  % Global environmental variables
 /dh.gb.verbose 1 def  /dh.gb.verbose 1 def
 /dh.autoHomogenize 1 def  /dh.autoHomogenize 1 def
   /dh.autoReduce 1 def
 /dh.needSyz 0 def  /dh.needSyz 0 def
   
 /dh.message {  /dh.message {
Line 41 
Line 45 
   /arg1 set    /arg1 set
   [/in-dh.gb /aa /typev /setarg /f /v    [/in-dh.gb /aa /typev /setarg /f /v
    /gg /wv /vec /ans /rr /mm     /gg /wv /vec /ans /rr /mm
    /env2 /ans.gb     /env2 /ans.gb /groebnerOptions
   ] pushVariables    ] pushVariables
   [(CurrentRingp) (KanGBmessage)] pushEnv    [(CurrentRingp) (KanGBmessage)] pushEnv
   [    [
     /aa arg1 def      /aa arg1 def
     aa isArray { } { ( << array >> dh.gb) error } ifelse      aa isArray { } { ( << array >> dh.gb) error } ifelse
       aa getAttributeList configureGroebnerOption /groebnerOptions set
     /setarg 0 def      /setarg 0 def
     /wv 0 def      /wv 0 def
   
Line 128 
Line 133 
   
     dh.begin      dh.begin
   
     v ecart.checkOrder      [v] ecart.checkOrder
   
     dh.gb.verbose { (gb.options = ) dh.messagen gb.options dh.message } { } ifelse      groebnerOptions gb.options mergeGroebnerOptions /groebnerOptions set
       gb.verbose { (groebnerOptions = ) messagen groebnerOptions message } { } ifelse
   
   
    dh.autoHomogenize not {     dh.autoHomogenize not {
 % No automatic hH-homogenization.  % No automatic hH-homogenization.
        f { {. } map} map /f set         f { {. } map} map /f set
Line 145 
Line 152 
    } ifelse     } ifelse
   
    dh.needSyz {     dh.needSyz {
      [f [(needSyz)] gb.options join ] groebner /gg set       [f [(needSyz)] groebnerOptions join ] groebner /gg set
    } {     } {
      [f gb.options] groebner 0 get /gg set       [f groebnerOptions] groebner 0 get /gg set
    } ifelse     } ifelse
   
   
Line 174 
Line 181 
     } ifelse      } ifelse
   
     dh.end      dh.end
       ans gg getAttributeList setAttributeList /ans set
   
     ans getRing (oxRingStructure) dc /dh.gb.oxRingStructure set      ans getRing (oxRingStructure) dc /dh.gb.oxRingStructure set
     %%      %%
Line 209 
Line 217 
   $   [[(x) -1 (Dx) 1 (y) -1 (Dy) 1]]] dh.gb  /ff set ff pmat ;$    $   [[(x) -1 (Dx) 1 (y) -1 (Dy) 1]]] dh.gb  /ff set ff pmat ;$
   (To set the current ring to the ring in which ff belongs )    (To set the current ring to the ring in which ff belongs )
   (      ff getRing ring_def  )    (      ff getRing ring_def  )
     ( )
     (To set the current ring to the ring in which ff belongs )
     (      ff getRing ring_def  )
     ( )
     (Data:  dh.p1, dh.p2, dh.p3 )
     (In order to get a standard basis of the test data, type in dh.test.p1, ...)
   (  )    (  )
     (Example 3: )
     $ /gb.verbose 1 def $
     $ [ [(2 x Dx + 3 y Dy+6) (2 y Dx + 3 x^2 Dy)] (x,y) $
     $   [[(x) -1 (Dx) 1 (y) -1 (Dy) 1]]] $
     $ [(gbCheck) 1] setAttributeList dh.gb getAttributeList :: $
     ( )
 ]] putUsages  ]] putUsages
   
   %Test input.
   %misc-2003/09/oaku/b.sm1, Granger-Oaku-Takayama, Tangent cone algorithm ...
   /dh.p1 {
    [
     [(t-(x^3 - y^2 z^2 - w^2))
      (Dx + (3 x^2 ) Dt)
      (Dy - (2 y z^2) Dt)
      (Dz - (2 y^2 z) Dt)
      (Dw - (2 w ) Dt)
     ]
     [ [(t) -1 (Dt) 1]
       [(Dt) 1 (Dx) 1 (Dy) 1 (Dz) 1 (Dw) 1]
       [(t) -1 (x) -1 (y) -1 (z) -1 (w) -1]]
    ]
   } def
   /dh.test.p1 {
     [(KanGBmessage) 1] system_variable
     { [dh.p1 0 get (x,y,z,t,w)  dh.p1 1 get] dh.gb } timer
   } def
   
   %misc-2003/09/oaku/ob.sm1,
   % fw2 [(x) (y) (z) (w)] fw_delta
   %  > 30min, degree 25.
   /dh.p2 {
    [
     [   (-w^8-z^4-y^3*w-x^3+t)  (3*x^2*Dt+Dx)  (3*y^2*w*Dt+Dy)  (4*z^3*Dt+Dz)
          (8*w^7*Dt+y^3*Dt+Dw) ]
     [ [(t) -1 (Dt) 1]
       [(Dt) 1 (Dx) 1 (Dy) 1 (Dz) 1 (Dw) 1]
       [(t) -1 (x) -1 (y) -1 (z) -1 (w) -1]]
    ]
   } def
   /dh.test.p2 {
     [(KanGBmessage) 1] system_variable
     { [dh.p2 0 get (x,y,z,t,w)  dh.p2 1 get] dh.gb } timer
   } def
   
   %misc-2003/09/oaku/
   % x^3 + (x+1)*y*z,  x^3+x*y*z is easy, but it is difficult in ecart.
   /dh.p3 {
    [
     [ $-x^3-x*y*z-y*z+t$ , $3*x^2*Dt+y*z*Dt+Dx$ , $x*z*Dt+z*Dt+Dy$ ,
       $x*y*Dt+y*Dt+Dz$ ]
     [ [(t) -1 (Dt) 1]
       [(Dt) 1 (Dx) 1 (Dy) 1 (Dz) 1]
       [(t) -1 (x) -1 (y) -1 (z) -1]]
    ]
   } def
   /dh.test.p3 {
     [(KanGBmessage) 1] system_variable
     { [dh.p3 0 get (x,y,z,t)  dh.p3 1 get] dh.gb } timer
   } def
   

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

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