| ### 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 328#328 = { 304#304,..., 305#305} be a set of symbols. A total ordering < on the free monoid 329#329 with 296#296 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 330#330 implies 331#331 for all 332#332, 333#333, 4#4 and 46#46 in 329#329. Note that the latter implies 334#334 for all 297#297 in 329#329. The left lexicographical ordering on 329#329 with 335#335... 336#336 is defined as follows: For arbitrary 4#4, 46#46 in 329#329 we say that 337#337, if 338#338 or 339#339 and 340#340 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 341#341define the weight homomorphism 342#342, uniquely determined by 343#343 in 344#344for 345#345. As a special case, define the length len: 346#346 by 347#347 for 345#345. For any ordering << on 329#329 and any weight 342#342 define an ordering 228#228, called the 348#348-weight extension of 349#349 as follows: For arbitrary 4#4, 46#46 in 329#329 we say that 337#337 if 350#350 or 351#351 and 352#352 holds. An ordering < on 329#329 eliminates a certain subset 353#353 if for all 354#354 one has 355#355. In a ring declaration, LETTERPLACE supports the following monomial orderings. We illustrate each of the available choices by an example on the free monoid 302#302, 356#356, 357#357, where we order the monomials 358#358, 359#359, 360#360, 361#361, 362#362, 363#363, 364#364, 365#365, 304#304, 356#356 and 366#366 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: 367#367 ```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: 368#368 ```Wp(w)` for intvec w'` The weighted degree left lexicographical ordering is the 348#348-weight extension of the left lexicographical ordering with weight 342#342 uniquely determined by strict positive 369#369. With respect to the ordering ``Wp(1, 2, 1)'`, the test monomials are ordered as follows: 370#370 ```lp`'` Let 371#371 be weights uniquely determined by 372#372 for 373#373 where 374#374 denotes the Kronecker delta. Let 375#375 be the 376#376-weight extension of the left lexicographical ordering on 377#377 and inductively 378#378 be the 371#371-weight extension of 379#379 for all 380#380. The monomial ordering lp corresponds to 381#381 and eliminates 382#382 for all 383#383. We refer to it as to left elimination ordering. The monomial ordering ``lp'` corresponds to 381#381 and eliminates { 304#304,..., 384#384} for all 296#296<= 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: 385#385 ```rp`'` Let 371#371 be weights uniquely determined by 372#372 for 373#373 where 374#374 denotes the Kronecker delta. Let 381#381 be the 386#386-weight extension of the left lexicographical ordering on 377#377 and inductively 378#378 be the 371#371-weight extension of 387#387 for all 388#388. The monomial ordering rp corresponds to 375#375 and eliminates 389#389 for all 390#390. We refer to it as to right elimination ordering. The monomial ordering ``rp'` corresponds to 375#375 and eliminates { 384#384,..., 305#305} for all 391#391. We refer to it as to right elimination ordering. With respect to the ordering ``rp'`, the test monomials are ordered as follows: 392#392 ```(a(v), ordering)` for intvec v'` For weight 393#393 determined by 394#394 with 395#395 and monomial ordering 396#396 on 377#377, the 333#333-weight extension of 396#396 corresponds to (a(v), o). As a choice for 396#396 there are currently two options implemented, which are dp and Dp. Notice that this ordering eliminates 397#397. With respect to the ordering ``( a(1, 0, 0), Dp)'`, the test monomials are ordered as follows: 398#398 With ordering ``( a(1, 1, 0), Dp)'` one obtains: 399#399 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.1, 2025, generated by texi2html.