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

From ApCoCoAWiki
(New page: <command> <title>NC.KernelOfHomomorphism</title> <short_description> Computing (patial) Groebner basis of kernel of k-algebra homomorphism. </short_description> <syntax> NC.KernelOfHomomor...)
 
Line 10: Line 10:
 
<em>Please note:</em> The function(s) explained on this page is/are using the <em>ApCoCoAServer</em>. You will have to start the ApCoCoAServer in order to use it/them.
 
<em>Please note:</em> The function(s) explained on this page is/are using the <em>ApCoCoAServer</em>. You will have to start the ApCoCoAServer in order to use it/them.
 
<itemize>
 
<itemize>
<item>@param <em>X_1:</em> an finite set of letters. It is of STRING type. Notice that every letter in <tt>X_1</tt> MUST appear only once. The order of letters in <tt>X_1</tt> is very important, since <tt>X_1</tt> as well as <tt>Images</tt> are used to define a k-algebra homomorphism.</item>
+
<item>Before calling the function, please set coefficient field <tt>K</tt> through the functions NC.SetFp(Prime) (or NC.UnsetFp()). Default coefficient field is <tt>Q</tt>. For more information, please check the relevant functions.</item>
<item>@param <em>R_1:</em> a finite set of relations and it is of LIST type. Each element in <tt>R_1</tt> has form <tt>[w_{l}, w_{r}]</tt>, where w_{l} and w_{r} are terms over M_1. Each term is represented as a STRING. For example, xy^2x is represented as <quotes>xyyx</quotes>, identity element is represented as an empty STRING <quotes></quotes>, and relation (yx, xy) is represented as <tt>[<quotes>yx</quotes>, <quotes>xy</quotes>]</tt>.</item>
+
<item>@param <em>X_1:</em> a STRING which is an alphabet (indeterminates) of a free associative K-algebra. Every letter in <tt>X_1</tt> should occurrence only once. Note that the order of letters in <tt>X_1</tt> is important since it induces an admissible ordering and defines a <tt>K</tt>-homomorphism as well.</item>
<item>@param <em>X_2:</em> another finite set of letters. Note that <tt>X_1</tt> and <tt>X_2</tt> are disjoint sets.</item>
+
<item>@param <em>X_2:</em> a STRING which is another alphabet (indeterminates) of another free associative <tt>K</tt>-algebra.</item>
<item>@param <em>R_2:</em> a finite set of relations over M_2.</item>
+
<item>@param <em>Images:</em>a LIST of polynomials generating a two-sided ideal in <tt>K&lt;X_2&gt;</tt>. Each polynomial in <tt>K&lt;X_2&gt;</tt> is represented as a LIST of LISTs, which are pairs of form [c, w] where c is in <tt>K</tt> and w is a word in <tt>(X_2)*</tt>. Unit in <tt>(X_2)*</tt> is empty word represented as an empty STRING "". <tt>0</tt> polynomial is represented as an empty LIST []. For example, X_2:=<quotes>xy</quotes>; F:=[[1,<quotes>xy</quotes>], [-1, <quotes>y</quotes>], [1,<quotes></quotes>]]; means polynomial <tt>F:=xy-y+1</tt> in <tt>K&lt;x,y&gt;</tt>. Note that the order of polynomials in <tt>Images</tt> is important since it defines a <tt>K</tt>-homomorphism.</item>
<item>@param <em>Images:</em> a LIST of polynomials. Each polynomial is represented as a LIST of LISTs, which are pairs of form <tt>[a_{i}, w_{i}]</tt>. For example, polynomial <tt>F:=xy-y+1</tt> is represented as <tt>F:=[[1,<quotes>xy</quotes>], [-1, <quotes>y</quotes>], [1,<quotes></quotes>]]</tt>. Zero polynomial is represented as an empty LIST []. Note that the order of polynomials in Images is very important, since Images as well as <tt>X_1</tt> are used to defined a k-algebra homomorphism. For example, <tt>X_1:=<quotes>abc</quotes>; F1 := [[1,<quotes>x</quotes>], [1,<quotes>y</quotes>]]; F2 := [[1,<quotes>xx</quotes>],[1,<quotes>xy</quotes>]]; F3 := [[1,<quotes>yy</quotes>],[1,<quotes>yx</quotes>]]; Images := [F1, F2, F3];</tt> these together define a k-algebra homomorphism by mapping a to F1, b to F2 and c to F3.</item>
 
</itemize>
 
Please note <em>all</em> of the following 3 additional optional parameters must be used at the same time if used.
 
<itemize>
 
<item>@param <em>DegreeBound:</em> (optional) a natural number (INT) giving a degree bound during Groebner basis computation. When a normal form of a S-polynomial reaches <tt>DegreeBound</tt>, the Buchberger procedure stops and returns a partial Groebner basis.</item>
 
<item>@param <em>LoopBound:</em> (optional) a natural number (INT) giving a bound for loop during Groebner basis computation. The main loop can only be carried out at most <tt>LoopBound</tt> times.</item>
 
<item>@param <em>BFlag:</em> (optional) a boolean parameter (BOOL). If <tt>BFlag</tt> is true, the ApCoCoAServer prints the tracing information in the screen. Otherwise not.</item>
 
<item>@return: a reduced Groebner basis of kernel of k-algebra homomorphism if (1)finite Groebner basis exists and (2)the computation isn't limited by <tt>DegreeBound</tt> and <tt>LoopBound</tt>. Otherwise, a partial Groebner basis.</item>
 
 
</itemize>
 
</itemize>
 +
Since the algorithm used in this function is based on Groebner basis computation, we refer users to <tt>NC.GB</tt> for information on optional parameters.
 
<example>
 
<example>
 
X_1 := <quotes>abc</quotes>;  
 
X_1 := <quotes>abc</quotes>;  
Line 36: Line 29:
 
</description>
 
</description>
 
<seealso>
 
<seealso>
 +
<see>NC.Add</see>
 +
<see>NC.GB</see>
 +
<see>NC.Intersection</see>
 +
<see>NC.IsGB</see>
 +
<see>NC.LC</see>
 +
<see>NC.LT</see>
 +
<see>NC.LTIdeal</see>
 +
<see>NC.MinimalPolynomial</see>
 +
<see>NC.Multiply</see>
 +
<see>NC.NR</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.UnsetFp</see>
 +
<see>NC.UnsetOrdering</see>
 +
<see>NC.UnsetRelations</see>
 +
<see>NC.UnsetRules</see>
 +
<see>NC.UnsetX</see>
 
<see>Gbmr.MRAdd</see>
 
<see>Gbmr.MRAdd</see>
 
<see>Gbmr.MRBP</see>
 
<see>Gbmr.MRBP</see>
 
<see>Gbmr.MRIntersection</see>
 
<see>Gbmr.MRIntersection</see>
 +
<see>Gbmr.MRKernelOfHomomorphism</see>
 
<see>Gbmr.MRMinimalPolynomials</see>
 
<see>Gbmr.MRMinimalPolynomials</see>
 
<see>Gbmr.MRMultiply</see>
 
<see>Gbmr.MRMultiply</see>

Revision as of 09:48, 20 July 2010

NC.KernelOfHomomorphism

Computing (patial) Groebner basis of kernel of k-algebra homomorphism.

Syntax

NC.KernelOfHomomorphism(X_1:STRING, X_2:STRING, Images:LIST[, DegreeBound:INT, LoopBound:INT, IFlag:INT]):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 coefficient field K through the functions NC.SetFp(Prime) (or NC.UnsetFp()). Default coefficient field is Q. For more information, please check the relevant functions.

  • @param X_1: a STRING which is an alphabet (indeterminates) of a free associative K-algebra. Every letter in X_1 should occurrence only once. Note that the order of letters in X_1 is important since it induces an admissible ordering and defines a K-homomorphism as well.

  • @param X_2: a STRING which is another alphabet (indeterminates) of another free associative K-algebra.

  • @param Images:a LIST of polynomials generating a two-sided ideal in K<X_2>. Each polynomial in K<X_2> 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_2)*. Unit in (X_2)* is empty word represented as an empty STRING "". 0 polynomial is represented as an empty LIST []. For example, X_2:="xy"; F:=[[1,"xy"], [-1, "y"], [1,""]]; means polynomial F:=xy-y+1 in K<x,y>. Note that the order of polynomials in Images is important since it defines a K-homomorphism.

Since the algorithm used in this function is based on Groebner basis computation, we refer users to NC.GB for information on optional parameters.

Example

X_1 := <quotes>abc</quotes>; 
X_2 := <quotes>xy</quotes>; 
F1 := [[1,<quotes>x</quotes>], [1,<quotes>y</quotes>]]; 
F2 := [[1,<quotes>xx</quotes>],[1,<quotes>xy</quotes>]]; 
F3 := [[1,<quotes>yy</quotes>],[1,<quotes>yx</quotes>]]; 
Images :=[F1, F2, F3]; -- a |-> F1; b |-> F2; c |-> F3 
NC.KernelOfHomomorphism(X_1, X_2, Images);
[[[1, <quotes>ab</quotes>], [-1, <quotes>ba</quotes>], [1, <quotes>ac</quotes>], [-1, <quotes>ca</quotes>]], [[1, <quotes>aa</quotes>], [-1, <quotes>b</quotes>], [-1, <quotes>c</quotes>]]]
-------------------------------

See also

NC.Add

NC.GB

NC.Intersection

NC.IsGB

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