| ### 7.9.2 Monomial orderings on free algebras We provide many types of orderings for non-commutative Groebner bases up to a degree (length) bound. In general it is not clear, whether a given generating set has a finite Groebner bases with respect to some ordering. Let 326#326 = { 302#302,..., 303#303} be a set of symbols. A total ordering < on the free monoid 327#327 with 294#294 as the neutral element is called a monomial ordering if it is a well-ordering, i.e., every non empty subset has a least element with respect to <, and it is compatible with multiplication, that is 328#328 implies 329#329 for all 330#330, 331#331, 4#4 and 46#46 in 327#327. Note that the latter implies 332#332 for all 295#295 in 327#327. The left lexicographical ordering on 327#327 with 333#333... 334#334 is defined as follows: For arbitrary 4#4, 46#46 in 327#327 we say that 335#335, if 336#336 or 337#337 and 338#338 holds. Note: left lex is not a monomial ordering, though it is a natural choice to break ties after, say, comparing elements by the total degree. In a similar manner one can define the right lexicographical ordering. On the monoid 339#339define the weight homomorphism 340#340, uniquely determined by 341#341 in 342#342for 343#343. As a special case, define the length len: 344#344 by 345#345 for 343#343. For any ordering << on 327#327 and any weight 340#340 define an ordering 226#226, called the 346#346-weight extension of 347#347 as follows: For arbitrary 4#4, 46#46 in 327#327 we say that 335#335 if 348#348 or 349#349 and 350#350 holds. An ordering < on 327#327 eliminates a certain subset 351#351 if for all 352#352 one has 353#353. In a ring declaration, LETTERPLACE supports the following monomial orderings. We illustrate each of the available choices by an example on the free monoid 300#300, 354#354, 355#355, where we order the monomials 356#356, 357#357, 358#358, 359#359, 360#360, 361#361, 362#362, 363#363, 302#302, 354#354 and 364#364 correspondingly. ```dp`'` The degree right lexicographical ordering is the length-weight extension of the right lexicographical ordering. With respect to the ordering ``dp'`, the test monomials are ordered as follows: 365#365 ```Dp`'` The degree left lexicographical ordering is the length-weight extension of the left lexicographical ordering. With respect to the ordering ``Dp'`, the test monomials are ordered as follows: 366#366 ```Wp(w)` for intvec w'` The weighted degree left lexicographical ordering is the 346#346-weight extension of the left lexicographical ordering with weight 340#340 uniquely determined by strict positive 367#367. With respect to the ordering ``Wp(1, 2, 1)'`, the test monomials are ordered as follows: 368#368 ```lp`'` Let 369#369 be weights uniquely determined by 370#370 for 371#371 where 372#372 denotes the Kronecker delta. Let 373#373 be the 374#374-weight extension of the left lexicographical ordering on 375#375 and inductively 376#376 be the 369#369-weight extension of 377#377 for all 378#378. The monomial ordering lp corresponds to 379#379 and eliminates 380#380 for all 381#381. We refer to it as to left elimination ordering. The monomial ordering ``lp'` corresponds to 379#379 and eliminates { 302#302,..., 382#382} for all 294#294<= 55#55< 17#17. We refer to it as to left elimination ordering. With respect to the ordering ``lp'`, the test monomials are ordered as follows: 383#383 ```rp`'` Let 369#369 be weights uniquely determined by 370#370 for 371#371 where 372#372 denotes the Kronecker delta. Let 379#379 be the 384#384-weight extension of the left lexicographical ordering on 375#375 and inductively 376#376 be the 369#369-weight extension of 385#385 for all 386#386. The monomial ordering rp corresponds to 373#373 and eliminates 387#387 for all 388#388. We refer to it as to right elimination ordering. The monomial ordering ``rp'` corresponds to 373#373 and eliminates { 382#382,..., 303#303} for all 389#389. We refer to it as to right elimination ordering. With respect to the ordering ``rp'`, the test monomials are ordered as follows: 390#390 ```(a(v), ordering)` for intvec v'` For weight 391#391 determined by 392#392 with 393#393 and monomial ordering 394#394 on 375#375, the 331#331-weight extension of 394#394 corresponds to (a(v), o). As a choice for 394#394 there are currently two options implemented, which are dp and Dp. Notice that this ordering eliminates 395#395. With respect to the ordering ``( a(1, 0, 0), Dp)'`, the test monomials are ordered as follows: 396#396 With ordering ``( a(1, 1, 0), Dp)'` one obtains: 397#397 The examples are generated by the following code but with customized orderings denoted above.
    LIB "freegb.lib";
    ring r = 0, (x1,x2,x3),Dp; // variate ordering here
    ring R = freeAlgebra(r, 4);
    poly wr = x1*x1*x1+x3*x3*x3+x1*x2*x3+x3*x2*x1+x2*x2+x2*x3+x1*x3+x3*x1+x1+x2+x3;
    wr; // polynomial will be automatically ordered according to the ordering on R
    ==> x1*x1*x1+x1*x2*x3+x3*x2*x1+x3*x3*x3+x1*x3+x2*x2+x2*x3+x3*x1+x1+x2+x3

User manual for Singular version 4.4.0, 2024, generated by texi2html.