=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/hol.sm1,v retrieving revision 1.5 retrieving revision 1.9 diff -u -p -r1.5 -r1.9 --- OpenXM/src/kan96xx/Doc/hol.sm1 2000/06/08 08:35:01 1.5 +++ OpenXM/src/kan96xx/Doc/hol.sm1 2000/12/29 07:19:37 1.9 @@ -1,4 +1,4 @@ -% $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.8 2000/08/01 05:53:18 takayama Exp $ %% hol.sm1, 1998, 11/8, 11/10, 11/14, 11/25, 1999, 5/18, 6/5. 2000, 6/8 %% rank, rrank, characteristic %% This file is error clean. @@ -13,6 +13,7 @@ hol.version [(Version)] system_variable gt $hol.sm1, basic package for holonomic systems (C) N.Takayama, 2000, 06/08 $ message-quiet +/gb.warning 0 def /rank.v [(x) (y) (z)] def %% default value of v (variables). /rank.ch [ ] def %% characteristic variety. /rank.verbose 0 def @@ -340,7 +341,9 @@ message-quiet } { %% Use the ring structre given by the input. 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 rr ring_def /wv rr gb.getWeight def @@ -448,7 +451,9 @@ message-quiet } { %% Use the ring structre given by the input. 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 rr ring_def /wv rr gb.getWeight def @@ -770,6 +775,11 @@ message-quiet /v aa 1 get def /setarg 1 def } { } ifelse + typev [ArrayP RingP] eq + { /f aa 0 get def + /v aa 1 get def + /setarg 1 def + } { } ifelse typev [ArrayP ArrayP] eq { /f aa 0 get def /v aa 1 get from_records def @@ -781,6 +791,12 @@ message-quiet /wv aa 2 get def /setarg 1 def } { } 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 { /f aa 0 get def /v aa 1 get from_records def @@ -795,7 +811,11 @@ message-quiet %%% 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. f gb.toMatrixOfString /f set /mm gb.itWasMatrix def @@ -823,7 +843,9 @@ message-quiet }{ %% Use the ring structre given by the input. 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 rr ring_def /wv rr gb.getWeight def @@ -863,6 +885,7 @@ message-quiet (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 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 $ $ [ [(x^2+y^2-4). (x y -1).] ] syz :: $ $Example 2: [ [(x^2+y^2) (x y)] (x,y) [ [(x) -1 (y) -1] ] ] syz :: $ @@ -1225,7 +1248,9 @@ message-quiet } { %% Use the ring structre given by the input. 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 rr ring_def /wv rr gb.getWeight def @@ -1299,6 +1324,7 @@ message-quiet [ /aa arg1 def + gb.verbose { (Getting in gb_h) message } { } ifelse aa isArray { } { ( << array >> gb_h) error } ifelse /setarg 0 def /wv 0 def @@ -1334,7 +1360,6 @@ message-quiet setarg { } { (gb_h : Argument mismatch) error } ifelse [(KanGBmessage) gb.verbose ] system_variable - [(Homogenize_vec) 0] system_variable %%% Start of the preprocess f getRing /rr set @@ -1360,7 +1385,9 @@ message-quiet } { %% Use the ring structre given by the input. 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 rr ring_def /wv rr gb.getWeight def @@ -1368,6 +1395,7 @@ message-quiet } ifelse getOptions /gb_h.opt set (grade) (module1v) switch_function + [(Homogenize_vec) 0] system_variable %%% End of the preprocess gb.verbose { (gb.options = ) messagen gb.options message } { } ifelse @@ -1392,6 +1420,7 @@ message-quiet }{ } ifelse gb_h.opt restoreOptions + gb.verbose { (Getting out of gb_h) message } { } ifelse %% /arg1 ans def @@ -1511,7 +1540,9 @@ message-quiet }{ %% Use the ring structre given by the input. 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 rr ring_def /wv rr gb.getWeight def @@ -1591,7 +1622,7 @@ message-quiet %% comparison of hilbert series has not yet been implemented. aa length 3 eq { } { ([ii jj vv] isSameIdeal) error } ifelse - gb.verbose { (isSameIdeal) message } { } ifelse + gb.verbose { (Getting in isSameIdeal) message } { } ifelse /ii aa 0 get def /jj aa 1 get def /vv aa 2 get def @@ -1648,14 +1679,16 @@ message-quiet /isSameIdeal_h { /arg1 set - [/in-isSameIdeal_h /aa /ii /jj /iigg /jjgg /vv /ans /k /n /f] pushVariables - [(CurrentRingp)] pushEnv + [/in-isSameIdeal_h /aa /ii /jj /iigg /jjgg /vv /ans /k /n /f + /isSameIdeal_h.opt + ] pushVariables + [(CurrentRingp) (Homogenize_vec)] pushEnv [ /aa arg1 def + gb.verbose { (Getting in isSameIdeal_h) message } { } ifelse %% comparison of hilbert series has not yet been implemented. aa length 3 eq { } { ([ii jj vv] isSameIdeal_h) error } ifelse - gb.verbose { (isSameIdeal_h) message } { } ifelse /ii aa 0 get def /jj aa 1 get def /vv aa 2 get def @@ -1667,12 +1700,17 @@ message-quiet iigg getRing ring_def + getOptions /isSameIdeal_h.opt set + (grade) (module1v) switch_function + [(Homogenize_vec) 0] system_variable /ans 1 def iigg 0 get { [ (toe_) 3 -1 roll ] gbext } map /iigg set jjgg 0 get { [ (toe_) 3 -1 roll ] gbext } map /jjgg set + gb.verbose { (Comparing) message iigg message (and) message jjgg message } + { } ifelse gb.verbose { ( ii < jj ?) messagen } { } ifelse iigg length /n set 0 1 n 1 sub { @@ -1693,6 +1731,7 @@ message-quiet } for /LLL.isSame_h gb.verbose { ( Done) message } { } ifelse + isSameIdeal_h.opt restoreOptions /arg1 ans def ] pop popEnv