=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/usage.c,v retrieving revision 1.15 retrieving revision 1.23 diff -u -p -r1.15 -r1.23 --- OpenXM/src/kan96xx/Kan/usage.c 2003/08/20 01:39:17 1.15 +++ OpenXM/src/kan96xx/Kan/usage.c 2003/09/12 02:52:50 1.23 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/usage.c,v 1.14 2003/07/17 23:37:02 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/usage.c,v 1.22 2003/08/26 12:46:05 takayama Exp $ */ #include #include "datatype.h" #include "stackm.h" @@ -152,6 +152,8 @@ void Kusage2(fp,s) fppp(fp," [(getchild)] extension listOfPid (generated by forkExec)\n"); fppp(fp," [(keywords) ] extension array-of-names-of-primitives \n"); fppp(fp," [(nobody) ] extension null \n"); + fppp(fp," [(newMatrix) m n] extension mat \n"); + fppp(fp," [(newVector) m ] extension vec \n"); fppp(fp," [(getUniqueFileName) path] extension newName \n"); fppp(fp," [(outputObjectToFile) path obj] extension null \n"); fppp(fp," [(ostype)] extension list \n"); @@ -177,6 +179,7 @@ void Kusage2(fp,s) fppp(fp," [(isReducible) poly1 poly2 ] gbext integer \n"); fppp(fp," [(lcm) poly1 poly2] gbext poly \n"); fppp(fp," [(grade) poly1 ] gbext integer \n"); + fppp(fp," [(ord_ws_all) fv wv] gbext integer \n"); fppp(fp," [(mod) poly1 universalNumber] gbext poly \n"); fppp(fp," poly = poly1 mod universalNumber where char=0 and \n"); fppp(fp," poly and poly2 belong to a same ring.\n"); @@ -187,6 +190,7 @@ void Kusage2(fp,s) fppp(fp," where poly1 = n*qpoly+rpoly.\n"); fppp(fp," (see also cancelCoeff) \n"); fppp(fp," [(isConstant) poly] gbext bool \n"); + fppp(fp," [(isConstantAll) poly] gbext bool \n"); fppp(fp," [(lcoeff) poly] gbext poly \n"); fppp(fp," [(lmonom) poly] gbext poly \n"); fppp(fp," [(schreyerSkelton) array_of_poly] gbext array \n"); @@ -232,7 +236,26 @@ void Kusage2(fp,s) }else if (strcmp(s,"homogenize") == 0) { fppp(fp,"<< f homogenize g >>\n"); fppp(fp,"poly f,g;\n"); - fppp(fp,"array of poly f,g;\n"); + fppp(fp,"array of poly f,g;\n\n"); + fppp(fp,"[(degreeShift) (value)] homogenize [shiftD shiftUV]\n"); + fppp(fp,"[(degreeShift) (reset)] homogenize [null null]\n"); + fppp(fp,"[(degreeShift) shiftD ] homogenize [shiftD shiftUV]\n"); + fppp(fp,"[(degreeShift) [shiftD shiftUV]] homogenize [shiftD shiftUV]\n"); + fppp(fp,"[(degreeShift) [ ] fv] homogenize hfv\n"); + fppp(fp,"[(degreeShift) shiftD fv] homogenize hfv\n"); + fppp(fp,"[(degreeShift) [shiftD shiftUV] fv] homogenize hfv\n"); + fppp(fp,"shiftD : degree shift vector for (0,1)-h homogenization\n"); + fppp(fp,"shiftUV : degree shift vector for (-1,1)-s homogenization (internal for ecart.)\n"); + fppp(fp,"fv : polynomial or vector of polynomials.\n"); + fppp(fp,"Example: [(x) ring_of_differential_operators 0] define_ring\n"); + fppp(fp," [(degreeShift) [[1 0] [0 1]] [(x+1). (Dx+1).]] homogenize ::\n"); + fppp(fp," [(degreeShift) (value)] homogenize ::\n"); + fppp(fp,"Note. min of ord (-1,1)[0,1] is min {-1,1, 1+1,1+0} = -1 =m \n"); + fppp(fp," Degree of H is b-a+v(i)-m where v=[0,1]\n"); + fppp(fp,"Side effects: It changes h-degree shift vector and s-degree shift vector\n"); + fppp(fp," in homogenizeObject_go(), which is called from ecart division codes\n"); + fppp(fp," as well as the function homogenize.\n"); + fppp(fp,"DegreeShift is automatically reset when set_up_ring is called.\n"); }else if (strcmp(s,"idiv") == 0) { fppp(fp,"<< a b idiv a/b >>\n"); fppp(fp,"int a,b,a/b;\n"); @@ -254,7 +277,16 @@ void Kusage2(fp,s) fppp(fp,"h is the initial term of the polynomial f.\n"); fppp(fp,"Example: (2 x^3 + 3 x + 1). init :: ---> 2 x^3\n"); fppp(fp,"Example: [(x^3+1). (x h+ h^5).] {init} map ::\n"); - fppp(fp,"Example: (x+1). [0 1 1 1] init :: cf. weightv \n"); + fppp(fp,"Example: (x+1). [0 1 1 1] init :: cf. weightv \n\n"); + fppp(fp,"<< fv weight_vector init h >>\n"); + fppp(fp,"<< fv [weight_vector shift_vector] init h >>\n"); + fppp(fp,"<< fv init h >> or << hv [ ] init h >>\n"); + fppp(fp,"fv is a polynomial or a vector of polynomials.\n"); + fppp(fp,"h is the initial term with respect to the weight vector and the shift vector\n"); + fppp(fp,"if they are given.\n"); + fppp(fp,"Note: the last x variable is always assumed to be the vector index.\n"); + fppp(fp,"Example: [(x,y) ring_of_differential_operators 0] define_ring\n"); + fppp(fp," [(x^2*Dx^2+2*x*Dx+x). (Dx+x).] [[(Dx) 1 (x) -1] weightv [0 -1]] init ::\n"); }else if (strcmp(s,"lc")==0) { fppp(fp,"<< obj lc leftCell >>\n"); fppp(fp,"class leftCell;\n"); @@ -460,6 +492,7 @@ void Kusage2(fp,s) fppp(fp,"outputOrder, multSymbol, variableNames, Version,\n"); fppp(fp,"AvoidTheSameRing, RingStack, LeftBracket, RightBracket,\n"); fppp(fp,"AutoReduce, SecureMode, Ecart, EcartAutomaticHomogenization\n"); + fppp(fp,"DoCancel, DebugContentReduction\n"); fppp(fp,"Example: [(N)] system_variable\n"); fppp(fp," (maximum number of variables)/2.\n"); fppp(fp," [(x) (var) 3] system_variable\n"); @@ -468,6 +501,11 @@ void Kusage2(fp,s) fppp(fp," The 4th differential operator.\n"); fppp(fp," [(PrintDollar) 0] system_variable\n"); fppp(fp," Set the global variable PrintDollar to 0\n"); + fppp(fp,"DebugReductionEcart (bit): (2) *% (1) find_reducer,in(r) \n"); + fppp(fp," (any) cont (4) #+[rat division, + ecartd] \n"); + fppp(fp," (8) check the order. \n"); + fppp(fp,"DoCancel (bit): (2) always_reduce_content (1) Noro_strategy \n"); + fppp(fp," (4) DoCancel_in_reduction1 \n"); }else if (strcmp(s,"tlimit")==0) { fppp(fp,"<< { ... } t tlimit results >>\n"); fppp(fp,"Limit the execution time to t seconds.\n");