Changeset 360d44 in git
- Timestamp:
- Apr 9, 2009, 2:18:34 PM (14 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'f875bbaccd0831e36aaed09ff6adeb3eb45aeb94')
- Children:
- 790b5002c8ae57093ea5a7bcd5a53da89268ea16
- Parents:
- d4154095eaa4bca4de062c4a2eb0fc274b3d1734
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/nctools.lib
rd41540 r360d44 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: nctools.lib,v 1.4 4 2009-04-08 17:13:02 motsakExp $";2 version="$Id: nctools.lib,v 1.45 2009-04-09 12:18:34 seelisch Exp $"; 3 3 category="Noncommutative"; 4 4 info=" … … 49 49 "USAGE: Gweights(r); r a ring or a square matrix 50 50 RETURN: intvec 51 PURPOSE: compute the weight vector for the following G-algebra: 52 @* for r itself, if it is of the type ring, 53 @* or for a G-algebra, defined by the square polynomial matrix r 54 THEORY: @code{Gweights} returns a vector, which must be used to redefine the G-algebra. If the input is a matrix and the output is the zero vector then there is not a G-algebra structure associated to these relations with respect to the given variables. Another possibility is to use @code{weightedRing} to obtain directly the G-algebra with the new weighted ordering. 51 PURPOSE: compute an appropriate weight int vector for a G-algebra, i.e., such that 52 \foral\;i<j\;\;lm_w(d_{ij}) <_w x_i x_j. 53 @* the polynomials d_{ij} are taken from r itself, if it is of the type ring 54 @* or defined by the given square polynomial matrix 55 THEORY: @code{Gweights} returns an integer vector, whose weighting should be used to redefine the G-algebra in order 56 to get the same non-commutative structure w.r.t. a weighted ordering. If the input is a matrix and the output is the zero 57 vector then there is not a G-algebra structure associated to these relations with respect to the given variables. 58 @*Another possibility is to use @code{weightedRing} to obtain directly a G-algebra with the new appropriate (weighted) ordering. 55 59 EXAMPLE: example Gweights; shows examples 56 60 SEE ALSO: weightedRing … … 134 138 "USAGE: weightedRing(r); r a ring 135 139 RETURN: ring 136 PURPOSE: equip the variables of a ring with such weights,that the relations of new ring (with weighted variables) satisfies the ordering condition for G-algebras 140 PURPOSE: equip the variables of the given ring with weights such that the relations of new ring (with weighted variables) satisfies the ordering condition for G-algebras: 141 e.g. \forall\;i<j\;\;lm_w(d_{ij})<_w x_i x_j. 137 142 NOTE: activate this ring with the \"setring\" command 138 143 EXAMPLE: example weightedRing; shows examples … … 462 467 "USAGE: isCentral(p); p poly 463 468 RETURN: int, 1 if p commutes with all variables and 0 otherwise 464 PURPOSE: check whether p is central in a basering (that is, commutes with every generator of aring)469 PURPOSE: check whether p is central in a basering (that is, commutes with every generator of the ring) 465 470 NOTE: if @code{printlevel} > 0, the procedure displays intermediate information (by default, @code{printlevel}=0 ) 466 471 EXAMPLE: example isCentral; shows examples … … 478 483 if ( (size(#) >0 ) || (printlevel>0) ) 479 484 { 480 "Non central at:", var(in);485 "Non-central at:", var(in); 481 486 } 482 487 flag = 0; … … 609 614 /////////////////////////////////////////////////////////////////////////////// 610 615 proc Weyl(list #) 611 "USAGE: Weyl( [p]); p an optional integer616 "USAGE: Weyl() 612 617 RETURN: ring 613 PURPOSE: create a Weyl algebra structure from the basering 614 NOTE: suppose the number of variables of a basering is 2k. 615 (if this number is odd, an error message will be returned) 618 PURPOSE: create a Weyl algebra structure on the basering 619 NOTE: Activate this ring using the command @code{setring}. 620 @*Assume the number of variables of a basering is 2k. 621 (if the number of variables is odd, an error message will be returned) 616 622 @* by default, the procedure treats first k variables as coordinates x_i and the last k as differentials d_i 617 @* if nonzero pis given, the procedure treats 2k variables of a basering as k pairs (x_i,d_i), i.e. variables with odd numbers are treated as coordinates and with even numbers as differentials623 @* if a non-zero optional argument is given, the procedure treats 2k variables of a basering as k pairs (x_i,d_i), i.e. variables with odd numbers are treated as coordinates and with even numbers as differentials 618 624 SEE ALSO: makeWeyl 619 625 EXAMPLE: example Weyl; shows examples … … 678 684 "USAGE: makeHeisenberg(n, [p,d]); int n (setting 2n+1 variables), optional int p (field characteristic), optional int d (power of h in the commutator) 679 685 RETURN: ring 680 PURPOSE: create an n-th Heisenberg algebra in the variables x(1),y(1),...,x(n),y(n),h 686 PURPOSE: create the n-th Heisenberg algebra in the variables x(1),y(1),...,x(n),y(n),h over the rationals Q or F_p with the relations 687 \forall\;i\in\{1,2,\ldots,n\}\;\;y(j)x(i) = x(i)y(j)+h^d. 681 688 SEE ALSO: makeWeyl 682 NOTE: activate this ring with the \"setring\" command 689 NOTE: activate this ring with the @code{setring} command 690 @* If p is not prime, the next larger prime number will be used. 683 691 EXAMPLE: example makeHeisenberg; shows examples 684 692 " … … 720 728 721 729 /////////////////////////////////////////////////////////////////////////////// 722 proc superCommutative(list #)723 "USAGE: superCommutative([b,[e, [Q, [flag]]]]);730 proc SuperCommutative(list #) 731 "USAGE: SuperCommutative([b,[e, [Q, [flag]]]]); 724 732 RETURN: qring 725 PURPOSE: create the super-commutative algebra (as a GR-algebra) 'over'a basering,733 PURPOSE: create a super-commutative algebra (as a GR-algebra) over a basering, 726 734 NOTE: activate this qring with the \"setring\" command. 727 NOTE: if b==e then the resulting ring is commutative unles 'flag' is given and non-zero. 735 NOTE: if b==e then the resulting ring is commutative unless 'flag' is given and non-zero. 736 @* By default, @code{b=1, e=nvars(basering), Q=0}, and @code{flag=0}. 728 737 THEORY: given a basering, this procedure introduces the anticommutative relations x(j)x(i)=-x(i)x(j) for all e>=j>i>=b, 729 738 @* moreover, creates a factor algebra modulo the two-sided ideal, generated by x(b)^2, ..., x(e)^2[ + Q] … … 738 747 if ( rname == "basering") // i.e. no ring has been set yet 739 748 { 740 ERROR("You have to call the procedure from aring");749 ERROR("You have to call the procedure from the ring"); 741 750 return(); 742 751 } … … 1074 1083 RETURN: int 1075 1084 PURPOSE: returns the number of the first alternating variable of basering 1076 NOTE: basering should be a super-commutative algebra! 1085 NOTE: basering should be a super-commutative algebra with at most one block of anti-commutative variables 1086 @* For commutative rings, @code{nvars(basering)+1} will be returned. 1077 1087 EXAMPLE: example AltVarStart; shows examples 1078 1088 " … … 1102 1112 RETURN: int 1103 1113 PURPOSE: returns the number of the last alternating variable of basering 1104 NOTE: basering should be a super-commutative algebra! 1114 NOTE: basering should be a super-commutative algebra with at most one block of anti-commutative variables 1115 @* returns -1 for commutative rings 1105 1116 EXAMPLE: example AltVarEnd; shows examples 1106 1117 " … … 1250 1261 "USAGE: makeWeyl(n,[p]); n an integer, n>0; p an optional integer (field characteristic) 1251 1262 RETURN: ring 1252 PURPOSE: create an n-th Weyl algebra1263 PURPOSE: create the n-th Weyl algebra over the rationals Q or F_p 1253 1264 NOTE: activate this ring with the \"setring\" command. 1254 1265 @* The presentation of an n-th Weyl algebra is classical: D(i)x(i)=x(i)D(i)+1, 1255 1266 @* where x(i) correspond to coordinates and D(i) to partial differentiations, i=1,...,n. 1267 @* If p is not prime, the next larger prime number will be used. 1256 1268 SEE ALSO: Weyl 1257 1269 EXAMPLE: example makeWeyl; shows examples
Note: See TracChangeset
for help on using the changeset viewer.