=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/hol.sm1,v retrieving revision 1.25 retrieving revision 1.29 diff -u -p -r1.25 -r1.29 --- OpenXM/src/kan96xx/Doc/hol.sm1 2005/07/24 09:02:40 1.25 +++ OpenXM/src/kan96xx/Doc/hol.sm1 2019/08/31 06:36:28 1.29 @@ -1,4 +1,4 @@ -% $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 %% rank, rrank, characteristic %% This file is error clean. @@ -302,6 +302,7 @@ message-quiet [/in-gb /aa /typev /setarg /f /v /gg /wv /termorder /vec /ans /rr /mm /degreeShift /env2 /groebnerOptions + /ggall ] pushVariables [(CurrentRingp) (KanGBmessage)] pushEnv [ @@ -419,13 +420,13 @@ message-quiet gb.verbose { (groebnerOptions = ) messagen groebnerOptions message } { } ifelse termorder { 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 gb.autoHomogenize { f fromVectors { homogenize } map /f set } { } ifelse - [f groebnerOptions] groebner 0 get /gg set + [f groebnerOptions] groebner /ggall set ggall 0 get /gg set }ifelse wv isInteger { /ans [gg gg {init} map] def @@ -441,7 +442,9 @@ message-quiet ifelse ans getRing (oxRingStructure) dc /gb.oxRingStructure set %% gg getAttributeList message - ans gg getAttributeList setAttributeList /ans set + ans + gg getAttributeList , [(all) ggall] join + setAttributeList /ans set %% env1 restoreOptions %% degreeShift changes "grade" @@ -817,6 +820,10 @@ message-quiet $Example 7: [ [( (x Dx)^2 + (y Dy)^2 + 1) ( x y Dx Dy -1)] (x,y) $ $ [ [ (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. ) ]] putUsages @@ -960,7 +967,11 @@ message-quiet ggall 0 gtmp put }{ } 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 ] pop @@ -1064,6 +1075,10 @@ message-quiet (Example 5: [((x1+x2+x3)(x1 x2 + x2 x3 + x1 x3) - t x1 x2 x3 ) ) ( (t,x1,x2,x3) -1 -2] annfs :: ) ( 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 ( annfs ) messagen-quiet /annfs.verbose fs.verbose def