version 1.3, 2004/09/14 11:51:20 |
version 1.4, 2005/06/19 08:29:02 |
|
|
% $OpenXM: OpenXM/src/kan96xx/Doc/dhecart.sm1,v 1.2 2004/07/31 02:23:02 takayama Exp $ |
% $OpenXM: OpenXM/src/kan96xx/Doc/dhecart.sm1,v 1.3 2004/09/14 11:51:20 takayama Exp $ |
% Stdbasis via the double homogenization: dx x = x dx + h H |
% Stdbasis via the double homogenization: dx x = x dx + h H |
% Homogenize=3 |
% Homogenize=3 |
(ecart_loaded) boundp { } |
(ecart_loaded) boundp { } |
|
|
/arg1 set |
/arg1 set |
[/in-dh.gb /aa /typev /setarg /f /v |
[/in-dh.gb /aa /typev /setarg /f /v |
/gg /wv /vec /ans /rr /mm |
/gg /wv /vec /ans /rr /mm |
/env2 /ans.gb |
/env2 /ans.gb /groebnerOptions |
] pushVariables |
] pushVariables |
[(CurrentRingp) (KanGBmessage)] pushEnv |
[(CurrentRingp) (KanGBmessage)] pushEnv |
[ |
[ |
/aa arg1 def |
/aa arg1 def |
aa isArray { } { ( << array >> dh.gb) error } ifelse |
aa isArray { } { ( << array >> dh.gb) error } ifelse |
|
aa getAttributeList configureGroebnerOption /groebnerOptions set |
/setarg 0 def |
/setarg 0 def |
/wv 0 def |
/wv 0 def |
|
|
|
|
|
|
[v] ecart.checkOrder |
[v] ecart.checkOrder |
|
|
dh.gb.verbose { (gb.options = ) dh.messagen gb.options dh.message } { } ifelse |
groebnerOptions gb.options mergeGroebnerOptions /groebnerOptions set |
|
gb.verbose { (groebnerOptions = ) messagen groebnerOptions message } { } ifelse |
|
|
|
|
dh.autoHomogenize not { |
dh.autoHomogenize not { |
% No automatic hH-homogenization. |
% No automatic hH-homogenization. |
f { {. } map} map /f set |
f { {. } map} map /f set |
|
|
} ifelse |
} ifelse |
|
|
dh.needSyz { |
dh.needSyz { |
[f [(needSyz)] gb.options join ] groebner /gg set |
[f [(needSyz)] groebnerOptions join ] groebner /gg set |
} { |
} { |
[f gb.options] groebner 0 get /gg set |
[f groebnerOptions] groebner 0 get /gg set |
} ifelse |
} ifelse |
|
|
|
|
|
|
} ifelse |
} ifelse |
|
|
dh.end |
dh.end |
|
ans gg getAttributeList setAttributeList /ans set |
|
|
ans getRing (oxRingStructure) dc /dh.gb.oxRingStructure set |
ans getRing (oxRingStructure) dc /dh.gb.oxRingStructure set |
%% |
%% |
|
|
(To set the current ring to the ring in which ff belongs ) |
(To set the current ring to the ring in which ff belongs ) |
( ff getRing ring_def ) |
( ff getRing ring_def ) |
( ) |
( ) |
|
(To set the current ring to the ring in which ff belongs ) |
|
( ff getRing ring_def ) |
|
( ) |
(Data: dh.p1, dh.p2, dh.p3 ) |
(Data: dh.p1, dh.p2, dh.p3 ) |
(In order to get a standard basis of the test data, type in dh.test.p1, ...) |
(In order to get a standard basis of the test data, type in dh.test.p1, ...) |
( ) |
( ) |
|
(Example 3: ) |
|
$ /gb.verbose 1 def $ |
|
$ [ [(2 x Dx + 3 y Dy+6) (2 y Dx + 3 x^2 Dy)] (x,y) $ |
|
$ [[(x) -1 (Dx) 1 (y) -1 (Dy) 1]]] $ |
|
$ [(gbCheck) 1] setAttributeList dh.gb getAttributeList :: $ |
|
( ) |
]] putUsages |
]] putUsages |
|
|
%Test input. |
%Test input. |