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

From ApCoCoAWiki
Line 15: Line 15:
 
<itemize>
 
<itemize>
 
<item><quotes>LLEX</quotes>: for two words <tt>W1, W2</tt> in <tt>&lt;X&gt;</tt>, we say <tt>W1&gt;_{LLEX}W2</tt> if <tt>len(W1)&gt;len(W2)</tt>, or <tt>len(W1)=len(W2)</tt> and <tt>W1</tt> is lexicographically larger than <tt>W2</tt>.</item>
 
<item><quotes>LLEX</quotes>: for two words <tt>W1, W2</tt> in <tt>&lt;X&gt;</tt>, we say <tt>W1&gt;_{LLEX}W2</tt> if <tt>len(W1)&gt;len(W2)</tt>, or <tt>len(W1)=len(W2)</tt> and <tt>W1</tt> is lexicographically larger than <tt>W2</tt>.</item>
<item><quotes>ELIM</quotes>: for two words <tt>W1, W2</tt> in <tt>&lt;X&gt;</tt>, we say <tt>W1&gt;_{ELIM}W2</tt> if <tt>W1</tt> is lexicographically larger than <tt>W2</tt> by considering <tt>W1, W2</tt> as two terms in the commutative case, or <tt>W1=W2</tt> by considering <tt>W1, W2</tt> as two terms in the commutative case and <tt>W1&gt;_{Lex}W2</tt> (<tt>W1</tt> is left-to-right lexicographically larger than <tt>W2</tt> by considering <tt>W1, W2</tt> as two words in the non-commutative case). Thus, the elimination ordering <quotes>ELIM</quotes> first eliminates the letter in <tt>x_{1}</tt>, and then the letter <tt>x_{2}</tt>, and then <tt>x_{3}</tt>, and so on and so forth.</item>
+
<item><quotes>ELIM</quotes>: for two words <tt>W1, W2</tt> in <tt>&lt;X&gt;</tt>, we say <tt>W1&gt;_{ELIM}W2</tt> if <tt>W1</tt> is lexicographically larger than <tt>W2</tt> by considering <tt>W1, W2</tt> as two terms in the commutative case, or <tt>W1=W2</tt> by considering <tt>W1, W2</tt> as two terms in the commutative case and <tt>W1&gt;_{Lex}W2</tt> (<tt>W1</tt> is left-to-right lexicographically larger than <tt>W2</tt> by considering <tt>W1, W2</tt> as two words in the non-commutative case). Thus, the elimination ordering <quotes>ELIM</quotes> first eliminates the letter <tt>x_{1}</tt>, and then <tt>x_{2}</tt>, and then <tt>x_{3}</tt>, and so on and so forth.</item>
 
<item><quotes>LRLEX</quotes>: for two words <tt>W1, W2</tt> in <tt>&lt;X&gt;</tt>, we say <tt>W1&gt;_{LRLEX}W2</tt> if <tt>len(W1)&gt;len(W2)</tt>, or <tt>len(W1)=len(W2)</tt> and <tt>W1</tt> is larger than <tt>W2</tt> by right-to-left lexicographic ordering.</item>
 
<item><quotes>LRLEX</quotes>: for two words <tt>W1, W2</tt> in <tt>&lt;X&gt;</tt>, we say <tt>W1&gt;_{LRLEX}W2</tt> if <tt>len(W1)&gt;len(W2)</tt>, or <tt>len(W1)=len(W2)</tt> and <tt>W1</tt> is larger than <tt>W2</tt> by right-to-left lexicographic ordering.</item>
 
</itemize>
 
</itemize>

Revision as of 09:47, 16 July 2012

NC.SetOrdering

Set an admissible ordering on <X>.

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": 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
-------------------------------

See also

NC.Add

NC.Deg

NC.FindPolynomials

NC.GAdd

NC.GB

NC.GDeg

NC.GGB

NC.GHF

NC.GInterreduction

NC.GIsGB

NC.GLC

NC.GLT

NC.GMB

NC.GMultiply

NC.GNR

NC.GReducedGB

NC.GSubtract

NC.GTruncatedGB

NC.HF

NC.Interreduction

NC.Intersection

NC.IsFinite

NC.IsGB

NC.IsHomog

NC.KernelOfHomomorphism

NC.LC

NC.LT

NC.LTIdeal

NC.MB

NC.MinimalPolynomial

NC.Multiply

NC.NR

NC.ReducedGB

NC.SetFp

NC.SetOrdering

NC.SetRelations

NC.SetRules

NC.SetX

NC.Subtract

NC.TruncatedGB

NC.UnsetFp

NC.UnsetOrdering

NC.UnsetRelations

NC.UnsetRules

NC.UnsetX

Introduction to CoCoAServer