[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.15 and 1.20

version 1.15, 2009/09/04 00:53:48 version 1.20, 2018/05/02 02:28:13
Line 1 
Line 1 
 %  $OpenXM: OpenXM/src/kan96xx/Doc/gfan.sm1,v 1.14 2009/08/26 05:03:49 takayama Exp $  %  $OpenXM: OpenXM/src/kan96xx/Doc/gfan.sm1,v 1.19 2013/10/11 01:08:35 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 the source code gfan.sm1, there are sample inputs cone.sample and cone.sample2.)
    (  )
    (gfan.sm1 works only with polymake 2.0. We provide 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.sample ; is an example. See the source code. The state polytope is the hexagon.)
    (  )
    (*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.)
    (*cone.Lp gives a basis of the pointed cone. cone.Lpt is the transpose of cone.Lp.)
    $*When v is a row vector in an ouput cone, (v cone.Lp cone.W) gives $
    (  the corresponding weight vector in the full variable space in D)
    (*cone.incidence is a list of [[cone num1,facet num1], [cone num2,facet num2]])
    (  which means that cone num1 and cone num2 are adjacent and shares )
    (  the facet num1 and the facet num2)
    (*/cone.withGblist 1 def saves the Grobner basis standing for each cone.)
    (  )
    (*Cone descriptions: cone.fan)
    (**A facet is given by its normal vector n of a cone. It gives facet num of the cone.)
    (**A cone is defined by facet normal vectors n1, n2, ... as n1.x>=0 and n2.x >=0 and ...)
    (**facetsv is a list of facets expressed by generators.)
    (**nextcid is a list of the adjacent cone numbers.)
    (**nextfid is a list of the shared facet numbers.)
    (**vertices is the generators of a cone.)
    (**inequalities are not necessarily unique.)
   ]
   ] 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 91  def
Line 125  def
 cone.comment message  cone.comment message
 (cone.input = ) message  (cone.input = ) message
 cone.input message  cone.input message
   %%% Step 0.  If you want to output Grobner basis standing for each cone, then uncomment
   % /cone.withGblist 1 def
   
 %%%% Step 1.  Enumerating the Grobner Cones in a global ring.  %%%% Step 1.  Enumerating the Grobner Cones in a global ring.
 %%%%   The result is stored in cone.fan  %%%%   The result is stored in cone.fan
 getGrobnerFan  getGrobnerFan
Line 99  getGrobnerFan
Line 136  getGrobnerFan
 printGrobnerFan  printGrobnerFan
   
 %%%% If you want to save the data to the file sm1out.txt, then uncomment.  %%%% If you want to save the data to the file sm1out.txt, then uncomment.
 % /cone.withGblist 1 def saveGrobnerFan /ff set ff output  %saveGrobnerFan /ff set ff output
   
 %%%% Step 2. Dehomogenize the Grobner Cones  %%%% Step 2. Dehomogenize the Grobner Cones
 %%%%  by the equivalence relation in a local ring (uncomment).  %%%%  by the equivalence relation in a local ring (uncomment).
Line 250  dhcone.printGrobnerFan 
Line 287  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
   /doPolymake {doPolymake.OoHG} def  or
   (Using doPolymake.OoHG ) message  {
   /polymake.start {polymake.start.OoHG} def    (Polymake is not installed in this system or @@@polymake.web is set.)  message
   (Using polymake.start.OoHG ) message    usePolymake.OoHG.curl
 } { (Local polymake will be used.) message } ifelse    (Using doPolymake.OoHG.curl ) message
   } { usePolymake.local (Local polymake will be used.) message } ifelse
   
 /cone.debug 1 def  /cone.debug 1 def
   
Line 1072  def
Line 1111  def
   
      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 2758  def   
Line 2801  def   
 /printGrobnerFan {  /printGrobnerFan {
   [/i] pushVariables    [/i] pushVariables
   [    [
     $(gfan) usage to find explanations on variables.$  message
   (==========  Grobner Fan ====================) message    (==========  Grobner Fan ====================) message
    [     [
       (cone.comment)        (cone.comment)

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.20

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