ApCoCoA-1:NC.Add

From ApCoCoAWiki
Revision as of 09:54, 20 July 2010 by 132.231.10.60 (talk)

NC.Add

Addition of two polynomials over a free associative K-algebra.

Syntax

NC.Add(F1:LIST, F2: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 F1: left operand of addition operator. It is 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 F2: right operand of addition operator. It is a polynomial in K<X>.

  • @return: a LIST which represents polynomial F1+F2.

Example

NC.SetX(<quotes>abc</quotes>); 				
NC.SetOrdering(<quotes>ELIM</quotes>); 				
F1 := [[1,<quotes>a</quotes>],[1,<quotes></quotes>]]; 				
F2 := [[1,<quotes>b</quotes>],[1,<quotes>ba</quotes>]];	
NC.Add(F1,F2); -- computation over Q
[[1, <quotes>ba</quotes>], [1, <quotes>a</quotes>], [1, <quotes>b</quotes>], [1, <quotes></quotes>]]
-------------------------------
NC.RingEnv();
Coefficient ring : Q (float type in C++)
Alphabet : abc
Ordering : ELIM

-------------------------------
NC.SetFp(); -- default Fp = F2
NC.RingEnv();
Coefficient ring : Fp = Z/(2)
Alphabet : abc
Ordering : ELIM

-------------------------------
NC.Add(F1,F2); -- computation over F2
[[1, <quotes>ba</quotes>], [1, <quotes>a</quotes>], [1, <quotes>b</quotes>], [1, <quotes></quotes>]]
-------------------------------
NC.Add(F1,F1); -- computation over F2
[ ]
-------------------------------
NC.UnsetFp(); -- set the coefficient field back to Q
NC.RingEnv();
Coefficient ring : Q (float type in C++)
Alphabet : abc
Ordering : ELIM

-------------------------------

See also

NC.GB

NC.Intersection

NC.IsGB

NC.KernelOfHomomorphism

NC.LC

NC.LT

NC.LTIdeal

NC.MinimalPolynomial

NC.Multiply

NC.NR

NC.SetFp

NC.SetOrdering

NC.SetRelations

NC.SetRules

NC.SetX

NC.Subtract

NC.UnsetFp

NC.UnsetOrdering

NC.UnsetRelations

NC.UnsetRules

NC.UnsetX

Gbmr.MRAdd

Gbmr.MRBP

Gbmr.MRIntersection

Gbmr.MRKernelOfHomomorphism

Gbmr.MRMinimalPolynomials

Gbmr.MRMultiply

Gbmr.MRSubtract

Introduction to CoCoAServer