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

Diff for /OpenXM/src/kan96xx/Doc/gfan.sm1 between version 1.11 and 1.17

version 1.11, 2005/07/07 06:07:46 version 1.17, 2009/09/04 11:13:11
Line 1 
Line 1 
 %  $OpenXM: OpenXM/src/kan96xx/Doc/gfan.sm1,v 1.10 2005/07/07 01:31:21 takayama Exp $  %  $OpenXM: OpenXM/src/kan96xx/Doc/gfan.sm1,v 1.16 2009/09/04 02:59:55 takayama Exp $
 % cp cone.sm1 $OpenXM_HOME/src/kan96xx/Doc/gfan.sm1  % cp cone.sm1 $OpenXM_HOME/src/kan96xx/Doc/gfan.sm1
 % $Id$  % $Id$
 % iso-2022-jp  % iso-2022-jp
 %%Ref:  @s/2004/08/21-note.pdf  %%Ref:  @s/2004/08/21-note.pdf
   
   %% gfan.sm1 works only for polymake 2.0  Use webservice of 2.0.
   [(gfan)
   [
    (gfan.sm1 is a package to compute global and local Grobner fans.)
    (See  R.Bahloul and N.Takayama, arxiv, math.AG/0412044 and references as to algorithms.)
    (At the beginning of gfan.sm1, there are sample inputs cone.sample and cone.sample2.)
    (  )
    (gfan.sm1 works only with polymake 2.0. We provides a web service of computing )
    (with polymake 2.0.  /@@@polymake.web 1 def is set by default in gfan.sm1.)
    (See changelog-ja.tex as to details on the difference between 2.0 and later versions.)
    (  )
    ( cone.Wt cone.Lpt {vertices in the output} are weights on the rays of the Grobner cone.)
    ( cone.L gives a basis of the linearity space.)
   ]
   ] putUsages
   
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %% Two examples are given below to get a global Grobner fan and  %% Two examples are given below to get a global Grobner fan and
 %% a local Grobner fan ; cone.sample and cone.sample2  %% a local Grobner fan ; cone.sample and cone.sample2
Line 250  dhcone.printGrobnerFan 
Line 266  dhcone.printGrobnerFan 
 % If you use the cgi/polymake on the net, then uncomment out.  % If you use the cgi/polymake on the net, then uncomment out.
 %/doPolymake {doPolymake.OoHG} def    (Using doPolymake.OoHG ) message  %/doPolymake {doPolymake.OoHG} def    (Using doPolymake.OoHG ) message
 %/polymake.start {polymake.start.OoHG} def (Using polymake.start.OoHG ) message  %/polymake.start {polymake.start.OoHG} def (Using polymake.start.OoHG ) message
   /@@@polymake.web 1 def
 %% Choose it automatically.  %% Choose it automatically.
 [(which) (polymake)] oxshell tag 0 eq {  [(which) (polymake)] oxshell tag 0 eq
   (Polymake is not installed in this system.)  message  @@@polymake.web 1 eq
   or
   {
     (Polymake is not installed in this system or @@@polymake.web is set.)  message
   /doPolymake {doPolymake.OoHG} def    /doPolymake {doPolymake.OoHG} def
   (Using doPolymake.OoHG ) message    (Using doPolymake.OoHG ) message
   /polymake.start {polymake.start.OoHG} def    /polymake.start {polymake.start.OoHG} def
Line 415  cone.comment message
Line 435  cone.comment message
 %>  %>
 /cone.DhH  0 def  /cone.DhH  0 def
   
   %<
   % Global
   % gbCheck $B$r$9$k$+(B? $B$7$J$$$H7k2L$O$"$d$U$d(B. $B$7$+$7%a%b%j(B exhaust $B$OKI$2$k(B.
   % $B;H$&$H$-$O(B /cone.epsilon,  /cone.epsilon.limit $B$r==J,>.$5$/$7$F$*$/(B.
   %>
   /cone.do_gbCheck 1 def
   
 % Default $B$N(B cone.gb $B$NDj5A(B. $B3F%W%m%0%i%`$G:FEYDj5A$7$F$b$h$$(B.  % Default $B$N(B cone.gb $B$NDj5A(B. $B3F%W%m%0%i%`$G:FEYDj5A$7$F$b$h$$(B.
 /cone.gb {  /cone.gb {
   cone.DhH {    cone.DhH {
Line 1013  def
Line 1040  def
 %>  %>
 /getConeInfo {  /getConeInfo {
   /arg1 set    /arg1 set
   [/ww /g /ceq /ceq2 /cdim /mmc /mmL /rr /ineq /ppt] pushVariables    [/ww /g /ceq /ceq2 /cdim /mmc /mmL /rr /ineq /ppt /rr0 /mm0 /mm1] pushVariables
   [    [
      /ceq arg1 def       /ceq arg1 def
      ceq pruneZeroVector /ceq set       ceq pruneZeroVector /ceq set
   
        ceq length 0 eq {
          (Monomial ideal is not accepted as an input.) cone_ir_input
        } { } ifelse
   
       /mm1
        ( Use [(keep_tmp_files) 1] oxshell to check the input to polymake2tfb. See /tmp or $TMP )
       def
   
      ceq genPo2 /ceq2 set       ceq genPo2 /ceq2 set
      % ceq2 $B$O(B polymake.data(polymake.INEQUALITIES(...)) $B7A<0(B       % ceq2 $B$O(B polymake.data(polymake.INEQUALITIES(...)) $B7A<0(B
      % polymake $B$G(B ceq2 $B$N<!85$N7W;;(B.       % polymake $B$G(B ceq2 $B$N<!85$N7W;;(B.
      /getConeInfo.ceq  ceq def /getConeInfo.ceq2 ceq2 def       /getConeInfo.ceq  ceq def /getConeInfo.ceq2 ceq2 def
   
      cone.debug { (Calling polymake DIM.) message } { } ifelse       cone.debug { (Calling polymake DIM.) message } { } ifelse
      [(DIM) ceq2] doPolymake 1 get /rr set       [(DIM) ceq2] doPolymake /rr0 set
        % rr0 2 get message
        rr0 2 get 1 get 0 get /mm0 set
        mm0 length 0 eq { }
        { [mm0 mm1] cat error } ifelse
        rr0 1 get /rr set
      cone.debug {(Done.) message } {  } ifelse       cone.debug {(Done.) message } {  } ifelse
 % test5 $B$K$O<!$N%3%a%s%H$H$j$5$k(B. $B>e$N9T$r%3%a%s%H%"%&%H(B.  % test5 $B$K$O<!$N%3%a%s%H$H$j$5$k(B. $B>e$N9T$r%3%a%s%H%"%&%H(B.
 %     test5.data tfbToTree /rr set  %     test5.data tfbToTree /rr set
Line 1038  def
Line 1079  def
      % FACETS $B$r;}$C$F$$$J$$$J$i:FEY7W;;$9$k(B.       % FACETS $B$r;}$C$F$$$J$$$J$i:FEY7W;;$9$k(B.
      % POINTED, NOT__POINTED $B$bF@$i$l$k(B       % POINTED, NOT__POINTED $B$bF@$i$l$k(B
        cone.debug { (Calling polymake FACETS.) message } { } ifelse         cone.debug { (Calling polymake FACETS.) message } { } ifelse
        [(FACETS) ceq2] doPolymake 1 get /rr set         [(FACETS) ceq2] doPolymake /rr0 set
   
        % rr0 2 get message
        rr0 2 get 1 get 0 get /mm0 set
        mm0 length 0 eq { }
        { [mm0 mm1] cat error } ifelse
   
          rr0 1 get /rr set
        cone.debug { (Done.) message } { } ifelse         cone.debug { (Done.) message } { } ifelse
    } {  } ifelse     } {  } ifelse
   
      rr (VERTICES) getNode tag 0 eq {       rr (VERTICES) getNode tag 0 eq {
        (internal error: VERTICES is not found.) error         (internal error: VERTICES is not found.) error
      } {  } ifelse       } {
           rr (VERTICES) getNode
           (UNDEF) getNode tag 0 eq {  }
           { (internal error: VERTICES is UNDEF. See rr. Set /@@@polymake.web 1 def)  error } ifelse
        } ifelse
   
      /cone.getConeInfo.rr1 rr def       /cone.getConeInfo.rr1 rr def
   
Line 1614  def
Line 1666  def
     /vlist arg1 def      /vlist arg1 def
     /wlist arg2 def      /wlist arg2 def
     wlist length vlist length eq {      wlist length vlist length eq {
     } {  (cone_wtowv: length of the argument must be the same.) error} ifelse      } {  (cone_wtowv: length of the argument must be the same. Please check the values of cone.vlist cone.vv cone.type parametrizeWeightSpace) error} ifelse
   
     wlist to_int32 /wlist set      wlist to_int32 /wlist set
     [      [
Line 1871  def
Line 1923  def
 % note: 2004.9.2  % note: 2004.9.2
     cone (facetsv) getNode 2 get facet_i get /v set      cone (facetsv) getNode 2 get facet_i get /v set
     cone (facets)  getNode 2 get facet_i get /f set      cone (facets)  getNode 2 get facet_i get /f set
   
       v length 0 eq {
          (The codimension of the linarity space of the Grobner cone seems to be 1 or 0.) cone_ir_input
        } { } ifelse
   
     /vp v 0 get def      /vp v 0 get def
     1 1 v length 1 sub {      1 1 v length 1 sub {
       /ii set        /ii set
Line 2048  def
Line 2105  def
 %>  %>
 /cone.gb_Dh {  /cone.gb_Dh {
   /arg2 set /arg1 set    /arg2 set /arg1 set
   [/ff /ww /gg] pushVariables    [/ff /ww /gg /gbopt] pushVariables
   [    [
     /ff arg1 def      /ff arg1 def
     /ww arg2 def      /ww arg2 def
     [(AutoReduce) 1] system_variable      [(AutoReduce) 1] system_variable
     [cone.vv ring_of_differential_operators      [cone.vv ring_of_differential_operators
      [ww] weight_vector 0] define_ring       [ww] weight_vector 0] define_ring
     [ff {toString .} map] ff getAttributeList setAttributeList      %(---) messagen ff getAttributeList message
     groebner 0 get /gg set      ff getAttributeList tag 0 eq {/gbopt [ ] def }
       {
          /gbopt ff getAttributeList def
       } ifelse
      [ff {toString .} map gbopt]
       groebner 0 get /gg set   %% groenber $B$O(B attribute $B$r<u$1IU$1$J$$(B.
     /cone.gb_Dh.g gg def      /cone.gb_Dh.g gg def
     /arg1 gg def      /arg1 gg def
   ] pop    ] pop
Line 3541  def   
Line 3603  def   
     %gNew $B$,(B newWeight $B$G$N(B GB $B$+(B check. Yes $B$J$i(B reduced basis $B$X(B.      %gNew $B$,(B newWeight $B$G$N(B GB $B$+(B check. Yes $B$J$i(B reduced basis $B$X(B.
     %No $B$J$i(B null $B$rLa$9(B.      %No $B$J$i(B null $B$rLa$9(B.
 %%Ref: note @s/2005/06/30-note-gfan.pdf  %%Ref: note @s/2005/06/30-note-gfan.pdf
     gNew [(gbCheck) 1] setAttributeList newWeight      cone.do_gbCheck not {
        cone.gb (gb) getAttribute         (Warning! gbCheck is skipped.) message
       } {
          (Doing gbCheck.) message
       } ifelse
       cone.do_gbCheck {
        gNew [(gbCheck) 1] setAttributeList newWeight
           cone.gb (gb) getAttribute
       } { 1 } ifelse
     1 eq {      1 eq {
      gNew [(reduceOnly) 1] setAttributeList newWeight cone.gb /arg1 set       gNew [(reduceOnly) 1] setAttributeList newWeight cone.gb /arg1 set
     }{ /arg1 null def } ifelse      }{ /arg1 null def } ifelse
Line 3824  def   
Line 3893  def   
  ] pop   ] pop
  popVariables   popVariables
  arg1   arg1
   } def
   
   %%change
   /cone_ir_input {
     /arg1 set
     [/msg ] pushVariables
     [
       /msg arg1 def
       (---------------) message
       msg message
       (  ) message
       (Please also refer to the value of the variables cone.getConeInfo.rr0) message
       ( cone.getConeInfo.rr1 cone.Lp cone.cinit) message
       $ cone.cinit (FACETS) getNode ::  $  message
       (We are sorry that we cannot accept this input.) error
     ] pop
     popVariables
 } def  } def

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

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