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

From ApCoCoAWiki
(New page: <command> <title>NC.NR</title> <short_description> Normal remainder polynomial with respect to a list of polynomials over a free associative K-algebra. </short_description> <syntax> NC.NR(...)
 
Line 16: Line 16:
 
</itemize>
 
</itemize>
 
<example>
 
<example>
NC.UnsetFp();
 
 
NC.RingEnv();
 
NC.RingEnv();
 
Coefficient ring : Q (float type in C++)
 
Coefficient ring : Q (float type in C++)
 
Alphabet : abc
 
Alphabet : abc
Ordering : ELIM
+
Ordering : LLEX
  
 
-------------------------------
 
-------------------------------
F:=[[1,<quotes>ab</quotes>],[1,<quotes>aa</quotes>],[1,<quotes>bb</quotes>],[1,<quotes>bab</quotes>]];
+
F:=[[1,<quotes>ab</quotes>],[1,<quotes>aca</quotes>],[1,<quotes>bb</quotes>],[1,<quotes>bab</quotes>],[1,<quotes></quotes>]];
NC.LT(F); -- ELIM ordering
+
F1 := [[1,<quotes>a</quotes>],[1,<quotes>c</quotes>]];
aa
+
F2 := [[1,<quotes>b</quotes>],[1,<quotes>ba</quotes>]];
 +
Polynomials:=[F1,F2];
 +
NC.NR(F,Polynomials);
 +
[[1, <quotes>bcb</quotes>], [-1, <quotes>ccc</quotes>], [-1, <quotes>bb</quotes>], [1, <quotes>cb</quotes>], [-1, <quotes></quotes>]]
 
-------------------------------
 
-------------------------------
NC.SetOrdering(<quotes>LLEX</quotes>);
+
NC.SetOrdering(<quotes>ELIM</quotes>);
NC.LT(F); -- LLEX ordering
+
NC.NR(F,Polynomials);
bab
+
[[1, <quotes>bcb</quotes>], [-1, <quotes>bb</quotes>], [1, <quotes>cb</quotes>], [-1, <quotes>ccc</quotes>], [-1, <quotes></quotes>]]
 
-------------------------------
 
-------------------------------
 
</example>
 
</example>

Revision as of 11:22, 14 July 2010

NC.NR

Normal remainder polynomial with respect to a list of polynomials over a free associative K-algebra.

Syntax

NC.NR(F:LIST, Polynomials:LIST):LIST

Description

Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use it/them.

  • Before calling the function, please set ring environment coefficient field (K), alphabet (X) and ordering through the functions NC.SetFp(Prime) (or NC.UnsetFp()), NC.SetX(X) and NC.SetOrdering(Ordering) respectively. Default coefficient field is Q. Default ordering is length-lexicographic ordering ("LLEX"). For more information, please check the relevant functions.

  • @param F: a polynomial in K<X>. Each polynomial in K<X> is represented as a LIST of LISTs, which are pairs of form [c, w] where c is in K and w is a word in X*. Unit in X* is empty word represented as an empty STRING "". 0 polynomial is represented as an empty LIST []. For example, polynomial F:=xy-y+1 in K<x,y> is represented as F:=[[1,"xy"], [-1, "y"], [1,""]].

  • @param Polynomials: a LIST of polynomials in K<X>.

  • @return: a STRING which represents normal remainder of F with respect to Polynomials.

Example

NC.RingEnv();
Coefficient ring : Q (float type in C++)
Alphabet : abc
Ordering : LLEX

-------------------------------
F:=[[1,<quotes>ab</quotes>],[1,<quotes>aca</quotes>],[1,<quotes>bb</quotes>],[1,<quotes>bab</quotes>],[1,<quotes></quotes>]];
F1 := [[1,<quotes>a</quotes>],[1,<quotes>c</quotes>]]; 
F2 := [[1,<quotes>b</quotes>],[1,<quotes>ba</quotes>]];
Polynomials:=[F1,F2];
NC.NR(F,Polynomials);
[[1, <quotes>bcb</quotes>], [-1, <quotes>ccc</quotes>], [-1, <quotes>bb</quotes>], [1, <quotes>cb</quotes>], [-1, <quotes></quotes>]]
-------------------------------
NC.SetOrdering(<quotes>ELIM</quotes>);
NC.NR(F,Polynomials);
[[1, <quotes>bcb</quotes>], [-1, <quotes>bb</quotes>], [1, <quotes>cb</quotes>], [-1, <quotes>ccc</quotes>], [-1, <quotes></quotes>]]
-------------------------------

See also

NC.Add

NC.LT

NC.Multiply

NC.Subtract

Gbmr.MRSubtract

Gbmr.MRMultiply

Gbmr.MRBP

Gbmr.MRIntersection

Gbmr.MRKernelOfHomomorphism

Gbmr.MRMinimalPolynomials

Introduction to CoCoAServer