| version 1.18, 2003/08/22 11:47:03 | version 1.22, 2003/08/26 12:46:05 | 
|  |  | 
| /* $OpenXM: OpenXM/src/kan96xx/Kan/usage.c,v 1.17 2003/08/21 04:45:40 takayama Exp $ */ | /* $OpenXM: OpenXM/src/kan96xx/Kan/usage.c,v 1.21 2003/08/26 07:42:52 takayama Exp $ */ | 
| #include <stdio.h> | #include <stdio.h> | 
| #include "datatype.h" | #include "datatype.h" | 
| #include "stackm.h" | #include "stackm.h" | 
| 
| Line 152  void Kusage2(fp,s) |  | 
| Line 152  void Kusage2(fp,s) |  | 
| fppp(fp,"  [(getchild)] extension listOfPid (generated by forkExec)\n"); | fppp(fp,"  [(getchild)] extension listOfPid (generated by forkExec)\n"); | 
| fppp(fp,"  [(keywords) ] extension array-of-names-of-primitives \n"); | fppp(fp,"  [(keywords) ] extension array-of-names-of-primitives \n"); | 
| fppp(fp,"  [(nobody) ] extension null \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,"  [(getUniqueFileName) path] extension newName \n"); | 
| fppp(fp,"  [(outputObjectToFile) path obj] extension null \n"); | fppp(fp,"  [(outputObjectToFile) path obj] extension null \n"); | 
| fppp(fp,"  [(ostype)] extension list \n"); | fppp(fp,"  [(ostype)] extension list \n"); | 
| 
| Line 177  void Kusage2(fp,s) |  | 
| Line 179  void Kusage2(fp,s) |  | 
| fppp(fp,"  [(isReducible) poly1 poly2 ] gbext integer \n"); | fppp(fp,"  [(isReducible) poly1 poly2 ] gbext integer \n"); | 
| fppp(fp,"  [(lcm) poly1 poly2] gbext poly \n"); | fppp(fp,"  [(lcm) poly1 poly2] gbext poly \n"); | 
| fppp(fp,"  [(grade) poly1 ] gbext integer \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,"  [(mod) poly1 universalNumber] gbext poly \n"); | 
| fppp(fp,"          poly = poly1 mod universalNumber where char=0 and \n"); | fppp(fp,"          poly = poly1 mod universalNumber where char=0 and \n"); | 
| fppp(fp,"          poly and poly2 belong to a same ring.\n"); | fppp(fp,"          poly and poly2 belong to a same ring.\n"); | 
| 
| Line 187  void Kusage2(fp,s) |  | 
| Line 190  void Kusage2(fp,s) |  | 
| fppp(fp,"     where poly1 = n*qpoly+rpoly.\n"); | fppp(fp,"     where poly1 = n*qpoly+rpoly.\n"); | 
| fppp(fp,"     (see also cancelCoeff) \n"); | fppp(fp,"     (see also cancelCoeff) \n"); | 
| fppp(fp,"  [(isConstant) poly] gbext bool \n"); | fppp(fp,"  [(isConstant) poly] gbext bool \n"); | 
|  | fppp(fp,"  [(isConstantAll) poly] gbext bool \n"); | 
| fppp(fp,"  [(lcoeff) poly] gbext poly \n"); | fppp(fp,"  [(lcoeff) poly] gbext poly \n"); | 
| fppp(fp,"  [(lmonom) poly] gbext poly \n"); | fppp(fp,"  [(lmonom) poly] gbext poly \n"); | 
| fppp(fp,"  [(schreyerSkelton) array_of_poly] gbext array \n"); | fppp(fp,"  [(schreyerSkelton) array_of_poly] gbext array \n"); | 
| 
| Line 232  void Kusage2(fp,s) |  | 
| Line 236  void Kusage2(fp,s) |  | 
| }else if (strcmp(s,"homogenize") == 0) { | }else if (strcmp(s,"homogenize") == 0) { | 
| fppp(fp,"<< f homogenize g >>\n"); | fppp(fp,"<< f homogenize g >>\n"); | 
| fppp(fp,"poly f,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) { | }else if (strcmp(s,"idiv") == 0) { | 
| fppp(fp,"<< a b idiv a/b >>\n"); | fppp(fp,"<< a b idiv a/b >>\n"); | 
| fppp(fp,"int a,b,a/b;\n"); | fppp(fp,"int a,b,a/b;\n"); | 
| 
| Line 257  void Kusage2(fp,s) |  | 
| Line 280  void Kusage2(fp,s) |  | 
| fppp(fp,"Example: (x+1). [0 1 1 1] init ::    cf. weightv \n\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 init h >>\n"); | 
| fppp(fp,"<< fv [weight_vector shift_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,"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,"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,"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"); | fppp(fp,"    [(x^2*Dx^2+2*x*Dx+x). (Dx+x).] [[(Dx) 1 (x) -1] weightv [0 -1]] init ::\n"); |