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

Diff for /OpenXM/src/kan96xx/Doc/hol.sm1 between version 1.5 and 1.10

version 1.5, 2000/06/08 08:35:01 version 1.10, 2001/01/04 12:29:33
Line 1 
Line 1 
 % $OpenXM: OpenXM/src/kan96xx/Doc/hol.sm1,v 1.4 2000/03/14 13:01:28 takayama Exp $  % $OpenXM: OpenXM/src/kan96xx/Doc/hol.sm1,v 1.9 2000/12/29 07:19:37 takayama Exp $
 %% hol.sm1, 1998, 11/8, 11/10, 11/14, 11/25, 1999, 5/18, 6/5. 2000, 6/8  %% hol.sm1, 1998, 11/8, 11/10, 11/14, 11/25, 1999, 5/18, 6/5. 2000, 6/8
 %% rank, rrank, characteristic  %% rank, rrank, characteristic
 %% This file is error clean.  %% This file is error clean.
Line 13  hol.version [(Version)] system_variable gt
Line 13  hol.version [(Version)] system_variable gt
 $hol.sm1, basic package for holonomic systems (C) N.Takayama, 2000, 06/08 $  $hol.sm1, basic package for holonomic systems (C) N.Takayama, 2000, 06/08 $
 message-quiet  message-quiet
   
   /gb.warning 0 def
 /rank.v [(x) (y) (z)] def   %% default value of v (variables).  /rank.v [(x) (y) (z)] def   %% default value of v (variables).
 /rank.ch [ ] def  %% characteristic variety.  /rank.ch [ ] def  %% characteristic variety.
 /rank.verbose 0 def  /rank.verbose 0 def
Line 294  message-quiet
Line 295  message-quiet
        /v aa 1 get def         /v aa 1 get def
        /setarg 1 def         /setarg 1 def
     } { } ifelse      } { } ifelse
       typev [ArrayP RingP] eq
       {  /f aa 0 get def
          /v aa 1 get def
          /setarg 1 def
       } { } ifelse
     typev [ArrayP ArrayP] eq      typev [ArrayP ArrayP] eq
     {  /f aa 0 get def      {  /f aa 0 get def
        /v aa 1 get from_records def         /v aa 1 get from_records def
Line 317  message-quiet
Line 323  message-quiet
     [(KanGBmessage) gb.verbose ] system_variable      [(KanGBmessage) gb.verbose ] system_variable
   
     %%% Start of the preprocess      %%% Start of the preprocess
     f getRing /rr set      v tag RingP eq {
          /rr v def
       }{
         f getRing /rr set
       } ifelse
     %% To the normal form : matrix expression.      %% To the normal form : matrix expression.
     f gb.toMatrixOfString /f set      f gb.toMatrixOfString /f set
     /mm gb.itWasMatrix def      /mm gb.itWasMatrix def
Line 340  message-quiet
Line 350  message-quiet
     } {      } {
       %% Use the ring structre given by the input.        %% Use the ring structre given by the input.
       v isInteger not {        v isInteger not {
         (Warning : the given ring definition is not used.) message          gb.warning {
            (Warning : the given ring definition is not used.) message
           } { } ifelse
       } {  } ifelse        } {  } ifelse
       rr ring_def        rr ring_def
       /wv rr gb.getWeight def        /wv rr gb.getWeight def
Line 448  message-quiet
Line 460  message-quiet
     } {      } {
       %% Use the ring structre given by the input.        %% Use the ring structre given by the input.
       v isInteger not {        v isInteger not {
         (Warning : the given ring definition is not used.) message          gb.warning {
            (Warning : the given ring definition is not used.) message
           } { } ifelse
       } {  } ifelse        } {  } ifelse
       rr ring_def        rr ring_def
       /wv rr gb.getWeight def        /wv rr gb.getWeight def
Line 770  message-quiet
Line 784  message-quiet
        /v aa 1 get def         /v aa 1 get def
        /setarg 1 def         /setarg 1 def
     } { } ifelse      } { } ifelse
       typev [ArrayP RingP] eq
       {  /f aa 0 get def
          /v aa 1 get def
          /setarg 1 def
       } { } ifelse
     typev [ArrayP ArrayP] eq      typev [ArrayP ArrayP] eq
     {  /f aa 0 get def      {  /f aa 0 get def
        /v aa 1 get from_records def         /v aa 1 get from_records def
Line 781  message-quiet
Line 800  message-quiet
        /wv aa 2 get def         /wv aa 2 get def
        /setarg 1 def         /setarg 1 def
     } { } ifelse      } { } ifelse
       typev [ArrayP RingP ArrayP] eq
       {  /f aa 0 get def
          /v aa 1 get def
          /wv aa 2 get def
          /setarg 1 def
       } { } ifelse
     typev [ArrayP ArrayP ArrayP] eq      typev [ArrayP ArrayP ArrayP] eq
     {  /f aa 0 get def      {  /f aa 0 get def
        /v aa 1 get from_records def         /v aa 1 get from_records def
Line 795  message-quiet
Line 820  message-quiet
   
   
     %%% Start of the preprocess      %%% Start of the preprocess
     f getRing /rr set      v tag RingP eq {
         /rr v def
       }{
          f getRing /rr set
       } ifelse
     %% To the normal form : matrix expression.      %% To the normal form : matrix expression.
     f gb.toMatrixOfString /f set      f gb.toMatrixOfString /f set
     /mm gb.itWasMatrix def      /mm gb.itWasMatrix def
Line 823  message-quiet
Line 852  message-quiet
     }{      }{
       %% Use the ring structre given by the input.        %% Use the ring structre given by the input.
       v isInteger not {        v isInteger not {
         (Warning : the given ring definition is not used.) message          gb.warning {
            (Warning : the given ring definition is not used.) message
           } { } ifelse
       } {  } ifelse        } {  } ifelse
       rr ring_def        rr ring_def
       /wv rr gb.getWeight def        /wv rr gb.getWeight def
Line 863  message-quiet
Line 894  message-quiet
   (a : [f ];    array f;  f is a set of generators of an ideal in a ring.)    (a : [f ];    array f;  f is a set of generators of an ideal in a ring.)
   (a : [f v];   array f; string v;  v is the variables.)    (a : [f v];   array f; string v;  v is the variables.)
   (a : [f v w]; array f; string v; array of array w; w is the weight matirx.)    (a : [f v w]; array f; string v; array of array w; w is the weight matirx.)
     ( v may be a ring object. )
   $Example 1: [(x,y) ring_of_polynomials 0] define_ring $    $Example 1: [(x,y) ring_of_polynomials 0] define_ring $
   $           [ [(x^2+y^2-4). (x y -1).] ] syz :: $    $           [ [(x^2+y^2-4). (x y -1).] ] syz :: $
   $Example 2: [ [(x^2+y^2) (x y)]   (x,y)  [ [(x) -1 (y) -1] ] ] syz :: $    $Example 2: [ [(x^2+y^2) (x y)]   (x,y)  [ [(x) -1 (y) -1] ] ] syz :: $
Line 1225  message-quiet
Line 1257  message-quiet
     } {      } {
       %% Use the ring structre given by the input.        %% Use the ring structre given by the input.
       v isInteger not {        v isInteger not {
         (Warning : the given ring definition is not used.) message          gb.warning {
            (Warning : the given ring definition is not used.) message
           } { } ifelse
       } {  } ifelse        } {  } ifelse
       rr ring_def        rr ring_def
       /wv rr gb.getWeight def        /wv rr gb.getWeight def
Line 1299  message-quiet
Line 1333  message-quiet
   [    [
   
     /aa arg1 def      /aa arg1 def
       gb.verbose { (Getting in gb_h) message } {  } ifelse
     aa isArray { } { ( << array >> gb_h) error } ifelse      aa isArray { } { ( << array >> gb_h) error } ifelse
     /setarg 0 def      /setarg 0 def
     /wv 0 def      /wv 0 def
Line 1313  message-quiet
Line 1348  message-quiet
        /v aa 1 get def         /v aa 1 get def
        /setarg 1 def         /setarg 1 def
     } { } ifelse      } { } ifelse
       typev [ArrayP RingP] eq
       {  /f aa 0 get def
          /v aa 1 get def
          /setarg 1 def
       } { } ifelse
     typev [ArrayP ArrayP] eq      typev [ArrayP ArrayP] eq
     {  /f aa 0 get def      {  /f aa 0 get def
        /v aa 1 get from_records def         /v aa 1 get from_records def
Line 1334  message-quiet
Line 1374  message-quiet
     setarg { } { (gb_h : Argument mismatch) error } ifelse      setarg { } { (gb_h : Argument mismatch) error } ifelse
   
     [(KanGBmessage) gb.verbose ] system_variable      [(KanGBmessage) gb.verbose ] system_variable
     [(Homogenize_vec) 0] system_variable  
   
     %%% Start of the preprocess      %%% Start of the preprocess
     f getRing /rr set      v tag RingP eq {
         /rr v def
       }{
         f getRing /rr set
       } ifelse
     %% To the normal form : matrix expression.      %% To the normal form : matrix expression.
     f gb.toMatrixOfString /f set      f gb.toMatrixOfString /f set
     /mm gb.itWasMatrix def      /mm gb.itWasMatrix def
Line 1360  message-quiet
Line 1403  message-quiet
     } {      } {
       %% Use the ring structre given by the input.        %% Use the ring structre given by the input.
       v isInteger not {        v isInteger not {
         (Warning : the given ring definition is not used.) message          gb.warning {
            (Warning : the given ring definition is not used.) message
           } { } ifelse
       } {  } ifelse        } {  } ifelse
       rr ring_def        rr ring_def
       /wv rr gb.getWeight def        /wv rr gb.getWeight def
Line 1368  message-quiet
Line 1413  message-quiet
     } ifelse      } ifelse
     getOptions /gb_h.opt set      getOptions /gb_h.opt set
     (grade) (module1v) switch_function      (grade) (module1v) switch_function
       [(Homogenize_vec) 0] system_variable
     %%% End of the preprocess      %%% End of the preprocess
   
     gb.verbose { (gb.options = ) messagen gb.options message } { } ifelse      gb.verbose { (gb.options = ) messagen gb.options message } { } ifelse
Line 1392  message-quiet
Line 1438  message-quiet
     }{ }      }{ }
     ifelse      ifelse
     gb_h.opt restoreOptions      gb_h.opt restoreOptions
       gb.verbose { (Getting out of gb_h) message } {  } ifelse
     %%      %%
   
     /arg1 ans def      /arg1 ans def
Line 1416  message-quiet
Line 1463  message-quiet
   $ [(Homogenize_vec) 0] system_variable (grade) (module1v) switch_function$    $ [(Homogenize_vec) 0] system_variable (grade) (module1v) switch_function$
   (a : [f ];    array f;  f is a set of generators of an ideal in a ring.)    (a : [f ];    array f;  f is a set of generators of an ideal in a ring.)
   (a : [f v];   array f; string v;  v is the variables. )    (a : [f v];   array f; string v;  v is the variables. )
     (a : [f r];   array f; ring r )
   (a : [f v w]; array f; string v; array of array w; w is the weight matirx.)    (a : [f v w]; array f; string v; array of array w; w is the weight matirx.)
   (  )    (  )
   $Example 1: [ [( (x Dx)^2 + (y Dy)^2 -h^4) ( x y Dx Dy -h^4)] (x,y) $    $Example 1: [ [( (x Dx)^2 + (y Dy)^2 -h^4) ( x y Dx Dy -h^4)] (x,y) $
Line 1458  message-quiet
Line 1506  message-quiet
        /v aa 1 get def         /v aa 1 get def
        /setarg 1 def         /setarg 1 def
     } { } ifelse      } { } ifelse
       typev [ArrayP RingP] eq
       {  /f aa 0 get def
          /v aa 1 get def
          /setarg 1 def
       } { } ifelse
     typev [ArrayP ArrayP] eq      typev [ArrayP ArrayP] eq
     {  /f aa 0 get def      {  /f aa 0 get def
        /v aa 1 get from_records def         /v aa 1 get from_records def
Line 1483  message-quiet
Line 1536  message-quiet
   
   
     %%% Start of the preprocess      %%% Start of the preprocess
     f getRing /rr set      v tag RingP eq {
          /rr v def
       }{
         f getRing /rr set
       } ifelse
     %% To the normal form : matrix expression.      %% To the normal form : matrix expression.
     f gb.toMatrixOfString /f set      f gb.toMatrixOfString /f set
     /mm gb.itWasMatrix def      /mm gb.itWasMatrix def
Line 1511  message-quiet
Line 1568  message-quiet
     }{      }{
       %% Use the ring structre given by the input.        %% Use the ring structre given by the input.
       v isInteger not {        v isInteger not {
         (Warning : the given ring definition is not used.) message          gb.warning {
            (Warning : the given ring definition is not used.) message
           } { } ifelse
       } {  } ifelse        } {  } ifelse
       rr ring_def        rr ring_def
       /wv rr gb.getWeight def        /wv rr gb.getWeight def
Line 1565  message-quiet
Line 1624  message-quiet
   $ [(Homogenize_vec) 0] system_variable (grade) (module1v) switch_function$    $ [(Homogenize_vec) 0] system_variable (grade) (module1v) switch_function$
   (a : [f ];    array f;  f is a set of generators of an ideal in a ring.)    (a : [f ];    array f;  f is a set of generators of an ideal in a ring.)
   (a : [f v];   array f; string v;  v is the variables.)    (a : [f v];   array f; string v;  v is the variables.)
     (a : [f r];   array f; ring r )
   (a : [f v w]; array f; string v; array of array w; w is the weight matirx.)    (a : [f v w]; array f; string v; array of array w; w is the weight matirx.)
   $Example 1: [ [( (x Dx)^2 + (y Dy)^2 -h^4) ( x y Dx Dy -h^4)] (x,y) $    $Example 1: [ [( (x Dx)^2 + (y Dy)^2 -h^4) ( x y Dx Dy -h^4)] (x,y) $
   $             [ [ (Dx) 1 ] ] ] syz_h pmat ; $    $             [ [ (Dx) 1 ] ] ] syz_h pmat ; $
Line 1591  message-quiet
Line 1651  message-quiet
     %% comparison of hilbert series has not yet been implemented.      %% comparison of hilbert series has not yet been implemented.
     aa length 3 eq {    }      aa length 3 eq {    }
     { ([ii jj vv] isSameIdeal) error } ifelse      { ([ii jj vv] isSameIdeal) error } ifelse
     gb.verbose { (isSameIdeal) message } { } ifelse      gb.verbose { (Getting in isSameIdeal) message } { } ifelse
     /ii aa 0 get def      /ii aa 0 get def
     /jj aa 1 get def      /jj aa 1 get def
     /vv aa 2 get def      /vv aa 2 get def
Line 1648  message-quiet
Line 1708  message-quiet
   
 /isSameIdeal_h {  /isSameIdeal_h {
   /arg1 set    /arg1 set
   [/in-isSameIdeal_h /aa /ii /jj /iigg /jjgg /vv /ans /k /n /f] pushVariables    [/in-isSameIdeal_h /aa /ii /jj /iigg /jjgg /vv /ans /k /n /f
   [(CurrentRingp)] pushEnv     /isSameIdeal_h.opt
      ] pushVariables
     [(CurrentRingp) (Homogenize_vec)] pushEnv
   [    [
     /aa arg1 def      /aa arg1 def
       gb.verbose { (Getting in isSameIdeal_h) message } { } ifelse
     %% comparison of hilbert series has not yet been implemented.      %% comparison of hilbert series has not yet been implemented.
     aa length 3 eq {    }      aa length 3 eq {    }
     { ([ii jj vv] isSameIdeal_h) error } ifelse      { ([ii jj vv] isSameIdeal_h) error } ifelse
     gb.verbose { (isSameIdeal_h) message } { } ifelse  
     /ii aa 0 get def      /ii aa 0 get def
     /jj aa 1 get def      /jj aa 1 get def
     /vv aa 2 get def      /vv aa 2 get def
Line 1667  message-quiet
Line 1729  message-quiet
   
     iigg getRing ring_def      iigg getRing ring_def
   
       getOptions /isSameIdeal_h.opt set
       (grade) (module1v) switch_function
       [(Homogenize_vec) 0] system_variable
     /ans 1 def      /ans 1 def
     iigg 0 get { [ (toe_) 3 -1 roll ] gbext } map      iigg 0 get { [ (toe_) 3 -1 roll ] gbext } map
     /iigg set      /iigg set
     jjgg 0 get { [ (toe_) 3 -1 roll ] gbext } map      jjgg 0 get { [ (toe_) 3 -1 roll ] gbext } map
     /jjgg set      /jjgg set
   
       gb.verbose { (Comparing) message iigg message (and) message jjgg message }
       {  } ifelse
     gb.verbose { ( ii < jj ?) messagen } {  } ifelse      gb.verbose { ( ii < jj ?) messagen } {  } ifelse
     iigg length /n set      iigg length /n set
     0 1 n 1 sub {      0 1 n 1 sub {
Line 1693  message-quiet
Line 1760  message-quiet
     } for      } for
     /LLL.isSame_h      /LLL.isSame_h
     gb.verbose { ( Done) message } {  } ifelse      gb.verbose { ( Done) message } {  } ifelse
       isSameIdeal_h.opt restoreOptions
     /arg1 ans def      /arg1 ans def
   ] pop    ] pop
   popEnv    popEnv

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.10

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