version 1.5, 2000/06/08 08:35:01 |
version 1.8, 2000/08/01 05:53:18 |
|
|
% $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.7 2000/06/12 08:03:56 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 |
|
|
} { |
} { |
%% 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 |
|
|
} { |
} { |
%% 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 |
|
|
}{ |
}{ |
%% 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 |
|
|
} { |
} { |
%% 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 |
|
|
[ |
[ |
|
|
/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 |
|
|
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 |
f getRing /rr set |
|
|
} { |
} { |
%% 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 |
|
|
} 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 |
|
|
}{ } |
}{ } |
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 |
|
|
}{ |
}{ |
%% 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 |
|
|
%% 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 |
|
|
|
|
/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 |
|
|
|
|
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 { |
|
|
} 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 |