version 1.25, 2005/07/24 09:02:40 |
version 1.29, 2019/08/31 06:36:28 |
|
|
% $OpenXM: OpenXM/src/kan96xx/Doc/hol.sm1,v 1.24 2005/06/23 03:23:26 takayama Exp $ |
% $OpenXM: OpenXM/src/kan96xx/Doc/hol.sm1,v 1.28 2012/10/12 01:20:29 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. |
|
|
[/in-gb /aa /typev /setarg /f /v |
[/in-gb /aa /typev /setarg /f /v |
/gg /wv /termorder /vec /ans /rr /mm |
/gg /wv /termorder /vec /ans /rr /mm |
/degreeShift /env2 /groebnerOptions |
/degreeShift /env2 /groebnerOptions |
|
/ggall |
] pushVariables |
] pushVariables |
[(CurrentRingp) (KanGBmessage)] pushEnv |
[(CurrentRingp) (KanGBmessage)] pushEnv |
[ |
[ |
|
|
gb.verbose { (groebnerOptions = ) messagen groebnerOptions message } { } ifelse |
gb.verbose { (groebnerOptions = ) messagen groebnerOptions message } { } ifelse |
termorder { |
termorder { |
f { {___ dehomogenize} map } map /f set |
f { {___ dehomogenize} map } map /f set |
[f groebnerOptions] groebner_sugar 0 get /gg set |
[f groebnerOptions] groebner_sugar /ggall set ggall 0 get /gg set |
}{ |
}{ |
f { {___ dehomogenize} map} map /f set |
f { {___ dehomogenize} map} map /f set |
gb.autoHomogenize { |
gb.autoHomogenize { |
f fromVectors { homogenize } map /f set |
f fromVectors { homogenize } map /f set |
} { } ifelse |
} { } ifelse |
[f groebnerOptions] groebner 0 get /gg set |
[f groebnerOptions] groebner /ggall set ggall 0 get /gg set |
}ifelse |
}ifelse |
wv isInteger { |
wv isInteger { |
/ans [gg gg {init} map] def |
/ans [gg gg {init} map] def |
|
|
ifelse |
ifelse |
ans getRing (oxRingStructure) dc /gb.oxRingStructure set |
ans getRing (oxRingStructure) dc /gb.oxRingStructure set |
%% gg getAttributeList message |
%% gg getAttributeList message |
ans gg getAttributeList setAttributeList /ans set |
ans |
|
gg getAttributeList , [(all) ggall] join |
|
setAttributeList /ans set |
%% |
%% |
env1 restoreOptions %% degreeShift changes "grade" |
env1 restoreOptions %% degreeShift changes "grade" |
|
|
|
|
$Example 7: [ [( (x Dx)^2 + (y Dy)^2 + 1) ( x y Dx Dy -1)] (x,y) $ |
$Example 7: [ [( (x Dx)^2 + (y Dy)^2 + 1) ( x y Dx Dy -1)] (x,y) $ |
$ [ [ (Dx) 1 ] ] ] [(gbCheck) 1] setAttributeList gb getAttributeList ::$ |
$ [ [ (Dx) 1 ] ] ] [(gbCheck) 1] setAttributeList gb getAttributeList ::$ |
( ) |
( ) |
|
$Example 8: /gb.options [(StopDegree) 11] def Onverbose $ |
|
$ [ [(x^10+y^10-1) (x^5*y^5 -1)] (x,y) $ |
|
$ [ [ (x) 1 ] ]] gb pmat ; $ |
|
( ) |
(cf. gb, groebner, groebner_sugar, syz. ) |
(cf. gb, groebner, groebner_sugar, syz. ) |
]] putUsages |
]] putUsages |
|
|
|
|
ggall 0 gtmp put |
ggall 0 gtmp put |
}{ } ifelse |
}{ } ifelse |
|
|
gg getRing (oxRingStructure) dc /gb.oxRingStructure set |
gg length 0 eq { % there is no syzygy |
|
ggall getRing (oxRingStructure) dc /gb.oxRingStructure set |
|
}{ |
|
gg getRing (oxRingStructure) dc /gb.oxRingStructure set |
|
} ifelse |
|
|
/arg1 [gg dehomogenize ggall] def |
/arg1 [gg dehomogenize ggall] def |
] pop |
] pop |
|
|
(Example 5: [((x1+x2+x3)(x1 x2 + x2 x3 + x1 x3) - t x1 x2 x3 ) ) |
(Example 5: [((x1+x2+x3)(x1 x2 + x2 x3 + x1 x3) - t x1 x2 x3 ) ) |
( (t,x1,x2,x3) -1 -2] annfs :: ) |
( (t,x1,x2,x3) -1 -2] annfs :: ) |
( Note that the example 4 uses huge memory space.) |
( Note that the example 4 uses huge memory space.) |
|
( ) |
|
(Note: This implementation is stable but obsolete. ) |
|
(As to faster implementation, we refer to ann0 and ann of Risa/Asir ) |
|
(Visit http://www.math.kobe-u.ac.jp/Asir ) |
]] putUsages |
]] putUsages |
( annfs ) messagen-quiet |
( annfs ) messagen-quiet |
/annfs.verbose fs.verbose def |
/annfs.verbose fs.verbose def |