Difference between revisions of "ApCoCoA-1:NC.SetOrdering"

From ApCoCoAWiki
Line 2: Line 2:
 
<title>NC.SetOrdering</title>
 
<title>NC.SetOrdering</title>
 
<short_description>
 
<short_description>
Set an admissible ordering on <tt>&lt;X&gt;</tt>.
+
Set a word ordering on the monoid of all words in a non-commutative polynomial ring.
 
</short_description>
 
</short_description>
 
<syntax>
 
<syntax>
Line 31: Line 31:
 
</example>
 
</example>
 
</description>
 
</description>
<seealso>
 
<see>NC.Add</see>
 
<see>NC.Deg</see>
 
<see>NC.FindPolynomials</see>
 
<see>NC.GAdd</see>
 
<see>NC.GB</see>
 
<see>NC.GDeg</see>
 
<see>NC.GGB</see>
 
<see>NC.GHF</see>
 
<see>NC.GInterreduction</see>
 
<see>NC.GIsGB</see>
 
<see>NC.GLC</see>
 
<see>NC.GLT</see>
 
<see>NC.GMB</see>
 
<see>NC.GMultiply</see>
 
<see>NC.GNR</see>
 
<see>NC.GReducedGB</see>
 
<see>NC.GSubtract</see>
 
<see>NC.GTruncatedGB</see>
 
<see>NC.HF</see>
 
<see>NC.Interreduction</see>
 
<see>NC.Intersection</see>
 
<see>NC.IsFinite</see>
 
<see>NC.IsGB</see>
 
<see>NC.IsHomog</see>
 
<see>NC.KernelOfHomomorphism</see>
 
<see>NC.LC</see>
 
<see>NC.LT</see>
 
<see>NC.LTIdeal</see>
 
<see>NC.MB</see>
 
<see>NC.MinimalPolynomial</see>
 
<see>NC.Multiply</see>
 
<see>NC.NR</see>
 
<see>NC.ReducedGB</see>
 
<see>NC.SetFp</see>
 
<see>NC.SetOrdering</see>
 
<see>NC.SetRelations</see>
 
<see>NC.SetRules</see>
 
<see>NC.SetX</see>
 
<see>NC.Subtract</see>
 
<see>NC.TruncatedGB</see>
 
<see>NC.UnsetFp</see>
 
<see>NC.UnsetOrdering</see>
 
<see>NC.UnsetRelations</see>
 
<see>NC.UnsetRules</see>
 
<see>NC.UnsetX</see>
 
<see>Introduction to CoCoAServer</see>
 
</seealso>
 
 
<types>
 
<types>
 
<type>non_commutative</type>
 
<type>non_commutative</type>
 
</types>
 
</types>
<key>gbmr.SetOrdering</key>
+
<key>ncpoly.SetOrdering</key>
 
<key>NC.SetOrdering</key>
 
<key>NC.SetOrdering</key>
 
<key>SetOrdering</key>
 
<key>SetOrdering</key>
<wiki-category>Package_gbmr</wiki-category>
+
<wiki-category>Package_ncpoly</wiki-category>
 
</command>
 
</command>

Revision as of 14:49, 25 April 2013

NC.SetOrdering

Set a word ordering on the monoid of all words in a non-commutative polynomial ring.

Syntax

NC.SetOrdering(Ordering:STRING)

Description

Note that the default ordering is "LLEX" (length-lexicographic ordering).

  • @param Ordering: a string which indicates an (admissible) ordering. For the time being, the package supports "LLEX" (length-lexicographic ordering), "ELIM" (elimination ordering) and "LRLEX" (length-reverse-lexicographic ordering).

Let X=x_{1}x_{2}...x_{n}. We define the (left-to-right) lexicographic ordering "LEX" on <X> as follows. For two words W1, W2 in <X>, we say W1>_{Lex}W2 if we have W1=W2*W for some non-empty word W in <X>, or if we have W1=W*x_{i}*W3, W2=W*x_{j}*W4 for some words W,W3,W4 in <X> and some letters x_{i},x_{j} in X such that i<j. Thus, we have x_{1}>_{LEX}x_{2}>_{LEX}...>_{LEX}x_{n}. Note that "LEX" is not an admissible ordering on <X>. We define admissible orderings "LLEX", "ELIM" and "LRLEX" on <X> as follows.

  • "LLEX": for two words W1, W2 in <X>, we say W1>_{LLEX}W2 if len(W1)>len(W2), or len(W1)=len(W2) and W1 is lexicographically larger than W2.

  • "ELIM": it first compares the associated commutative terms lexicographically and then breaks ties using the non-commutative lexicographic orderin with respect to x_{1}>...>x_{n}. That is, for two words W1, W2 in <X>, we say W1>_{ELIM}W2 if W1 is lexicographically larger than W2 by considering W1, W2 as two terms in the commutative case, or W1=W2 by considering W1, W2 as two terms in the commutative case and W1>_{Lex}W2 (W1 is left-to-right lexicographically larger than W2 by considering W1, W2 as two words in the non-commutative case). Thus, the elimination ordering "ELIM" first eliminates the letter x_{1}, and then x_{2}, and then x_{3}, and so on and so forth.

  • "LRLEX": for two words W1, W2 in <X>, we say W1>_{LRLEX}W2 if len(W1)>len(W2), or len(W1)=len(W2) and W1 is larger than W2 by right-to-left lexicographic ordering.

An admissible ordering on is called length compatible if len(W1)>len(W2) implies W1 is larger than W2 for all W1, W2 in <X>. For instance, "LLEX" and "LRLEX" are length compatible while "ELIM" is not.

Example

NC.RingEnv();
Coefficient ring : Q
Ordering : LLEX
-------------------------------
NC.SetOrdering(<quotes>ELIM</quotes>);
NC.RingEnv();
Coefficient ring : Q
Ordering : ELIM
-------------------------------