=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/ecart.sm1,v retrieving revision 1.23 retrieving revision 1.26 diff -u -p -r1.23 -r1.26 --- OpenXM/src/kan96xx/Doc/ecart.sm1 2004/05/05 07:32:54 1.23 +++ OpenXM/src/kan96xx/Doc/ecart.sm1 2004/05/14 02:35:03 1.26 @@ -1,4 +1,4 @@ -% $OpenXM: OpenXM/src/kan96xx/Doc/ecart.sm1,v 1.22 2004/05/05 06:57:09 takayama Exp $ +% $OpenXM: OpenXM/src/kan96xx/Doc/ecart.sm1,v 1.25 2004/05/13 05:52:53 takayama Exp $ %[(parse) (hol.sm1) pushfile] extension %[(parse) (appell.sm1) pushfile] extension @@ -7,6 +7,8 @@ /ecart.end { endEcart } def /ecart.autoHomogenize 1 def /ecart.needSyz 0 def +/ecartd.gb.oxRingStructure [ ] def + /ecartd.begin { ecart.begin [(EcartAutomaticHomogenization) 1] system_variable @@ -87,7 +89,7 @@ ll (0). eq { } { ll getRing /rr set - ll [ [ (H) rr ,, (1) rr ,, ] + ll [ [ @@@.Hsymbol rr ,, (1) rr ,, ] [ (h) rr ,, (1) rr ,, ]] replace /ll set } ifelse @@ -113,7 +115,7 @@ ll (0). eq { } { ll getRing /rr set - ll [ [ (H) rr ,, (1) rr ,, ] ] replace + ll [ [ @@@.Hsymbol rr ,, (1) rr ,, ] ] replace /ll set } ifelse } ifelse @@ -195,7 +197,7 @@ [/in.ecart.wv1 /v] pushVariables [ /v arg1 def - [(H) (h) v to_records pop] /v set + [@@@.Hsymbol (h) v to_records pop] /v set v { 1 } map /v set /arg1 v def ] pop @@ -244,6 +246,7 @@ $ [(degreeShift) ds (noAutoHomogenize) 1 (sugar) 1] -->use the sugar strate $ ( ) $cf. ecarth.gb (homogenized), ecartd.gb (dehomogenize), ecartd.reduction $ + ( ecartd.gb.oxRingStructure ) ( ) $Example 1: [ [( (x Dx)^2 + (y Dy)^2 -1) ( x y Dx Dy -1)] (x,y) $ $ [ [ (Dx) 1 ] [(x) -1 (y) -1 (Dx) 1 (Dy) 1]] ] ecart.gb pmat ; $ @@ -919,14 +922,14 @@ (ecartd.gb : Input polynomial or vectors are automatically homogenized without degreeShift) ecart.message f { {. ecart.dehomogenize} map} map /f set f ecart.homogenize01 /f set - f { { [[(H). (1).]] replace } map } map /f set + f { { [[@@@.Hsymbol . (1).]] replace } map } map /f set } ifelse } { % Automatic h-homogenization with degreeShift (ecartd.gb : Input polynomial or vectors are automatically homogenized with degreeShift) message f { {. ecart.dehomogenize} map} map /f set f {/fi set [(degreeShift) hdShift fi] homogenize} map /f set - f { { [[(H). (1).]] replace } map } map /f set + f { { [[@@@.Hsymbol . (1).]] replace } map } map /f set }ifelse ecart.useSugar { @@ -971,6 +974,7 @@ ecartd.end + ans getRing (oxRingStructure) dc /ecartd.gb.oxRingStructure set %% env1 restoreOptions %% degreeShift changes "grade" @@ -1795,7 +1799,7 @@ } def /ecart.homogenize01Ideal { /arg1 set - [/in.ecart.homogenize01Ideal /ll /vv /wv] pushVariables + [/in.ecart.homogenize01Ideal /ll /vv /wv /ans] pushVariables [ /ll arg1 0 get def /vv arg1 1 get def @@ -1809,7 +1813,9 @@ [vv ring_of_differential_operators vv ecart.stdOrder weight_vector 0 [(weightedHomogenization) 1]] define_ring - ll ,,, {ecart.homogenize01 ecart.dehomogenizeH} map /arg1 set + ll ,,, {ecart.homogenize01 ecart.dehomogenizeH} map /ans set + ecart.end + /arg1 ans def ] pop popVariables arg1