Difference between revisions of "ApCoCoA-1:NCo.BMultiply"

From ApCoCoAWiki
(New page: <command> <title>NCo.BMultiply</title> <short_description> Multiplication of two polynomials in a free monoid ring over the binary field F_{2}={0,1}. </short_description> <syntax> NCo.BMul...)
 
m (replaced <quotes> tag by real quotes)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
{{Version|1}}
 
<command>
 
<command>
 
<title>NCo.BMultiply</title>
 
<title>NCo.BMultiply</title>
Line 10: Line 11:
 
<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.
 
<par/>
 
<par/>
Please set ring environment <em>alphabet</em> (or set of indeterminates) <tt>X</tt> and <em>word ordering</em> via the functions <ref>NCo.SetX</ref> and <ref>NCo.SetOrdering</ref>, respectively, before calling this function. The default ordering is the length-lexicographic ordering (<quotes>LLEX</quotes>). For more information, please check the relevant functions.
+
Please set ring environment <em>alphabet</em> (or set of indeterminates) <tt>X</tt> and <em>word ordering</em> via the functions <ref>ApCoCoA-1:NCo.SetX|NCo.SetX</ref> and <ref>ApCoCoA-1:NCo.SetOrdering|NCo.SetOrdering</ref>, respectively, before calling this function. The default ordering is the length-lexicographic ordering ("LLEX"). For more information, please check the relevant functions.
 
<itemize>
 
<itemize>
<item>@param <em>F1, F2:</em> two polynomials in the free monoid ring <tt>F_{2}&lt;X&gt;</tt>, which are left and right operands of multiplication, respectively. Each polynomial is represented as a LIST of words (or terms) in <tt>&lt;X&gt;</tt>. Each word is represented as a STRING. For example, <tt>xy^2x</tt> is represented as <quotes>xyyx</quotes>, and the identity is represented as the empty string <quotes></quotes>. Thus, the polynomial <tt>f=xy-y+1</tt> is represented as F:=[<quotes>xy</quotes>, <quotes>y</quotes>, <quotes></quotes>]. The zero polynomial <tt>0</tt> is represented as the empty LIST [].</item>
+
<item>@param <em>F1, F2:</em> two polynomials in the free monoid ring <tt>F_{2}&lt;X&gt;</tt>, which are left and right operands of multiplication, respectively. Each polynomial is represented as a LIST of words (or terms) in <tt>&lt;X&gt;</tt>. Each word is represented as a STRING. For example, <tt>xy^2x</tt> is represented as "xyyx", and the identity is represented as the empty string "". Thus, the polynomial <tt>f=xy-y+1</tt> is represented as F:=["xy", "y", ""]. The zero polynomial <tt>0</tt> is represented as the empty LIST [].</item>
 
<item>@return: a LIST which represents the polynomial equal to <tt>F1*F2</tt>.</item>
 
<item>@return: a LIST which represents the polynomial equal to <tt>F1*F2</tt>.</item>
 
</itemize>
 
</itemize>
 
<example>
 
<example>
NCo.SetX(<quotes>xX</quotes>);
+
NCo.SetX("xX");
NCo.SetOrdering(<quotes>LLEX</quotes>);
+
NCo.SetOrdering("LLEX");
F1:=[<quotes>xX</quotes>,<quotes></quotes>];
+
F1:=["xX",""];
F2:=[<quotes>Xx</quotes>,<quotes></quotes>];
+
F2:=["Xx",""];
 
NCo.BMultiply(F1,F2);
 
NCo.BMultiply(F1,F2);
[<quotes>xXXx</quotes>, <quotes>xX</quotes>, <quotes>Xx</quotes>, <quotes></quotes>]
+
["xXXx", "xX", "Xx", ""]
 
-------------------------------
 
-------------------------------
 
NCo.BMultiply(F2,F1);
 
NCo.BMultiply(F2,F1);
[<quotes>XxxX</quotes>, <quotes>xX</quotes>, <quotes>Xx</quotes>, <quotes></quotes>]
+
["XxxX", "xX", "Xx", ""]
 
-------------------------------
 
-------------------------------
 
NCo.BMultiply([],F1);
 
NCo.BMultiply([],F1);
Line 32: Line 33:
 
</description>
 
</description>
 
<seealso>
 
<seealso>
<see>NCo.SetOrdering</see>
+
<see>ApCoCoA-1:NCo.SetOrdering|NCo.SetOrdering</see>
<see>NCo.SetX</see>
+
<see>ApCoCoA-1:NCo.SetX|NCo.SetX</see>
<see>Introduction to CoCoAServer</see>
+
<see>ApCoCoA-1:Introduction to CoCoAServer|Introduction to CoCoAServer</see>
 
</seealso>
 
</seealso>
 
<types>
 
<types>
Line 44: Line 45:
 
<key>NCo.BMultiply</key>
 
<key>NCo.BMultiply</key>
 
<key>BMultiply</key>
 
<key>BMultiply</key>
<wiki-category>Package_gbmr</wiki-category>
+
<wiki-category>ApCoCoA-1:Package_gbmr</wiki-category>
 
</command>
 
</command>

Latest revision as of 13:38, 29 October 2020

This article is about a function from ApCoCoA-1.

NCo.BMultiply

Multiplication of two polynomials in a free monoid ring over the binary field F_{2}={0,1}.

Syntax

NCo.BMultiply(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.

Please set ring environment alphabet (or set of indeterminates) X and word ordering via the functions NCo.SetX and NCo.SetOrdering, respectively, before calling this function. The default ordering is the length-lexicographic ordering ("LLEX"). For more information, please check the relevant functions.

  • @param F1, F2: two polynomials in the free monoid ring F_{2}<X>, which are left and right operands of multiplication, respectively. Each polynomial is represented as a LIST of words (or terms) in <X>. Each word is represented as a STRING. For example, xy^2x is represented as "xyyx", and the identity is represented as the empty string "". Thus, the polynomial f=xy-y+1 is represented as F:=["xy", "y", ""]. The zero polynomial 0 is represented as the empty LIST [].

  • @return: a LIST which represents the polynomial equal to F1*F2.

Example

NCo.SetX("xX");
NCo.SetOrdering("LLEX");
F1:=["xX",""];
F2:=["Xx",""];
NCo.BMultiply(F1,F2);
["xXXx", "xX", "Xx", ""]
-------------------------------
NCo.BMultiply(F2,F1);
["XxxX", "xX", "Xx", ""]
-------------------------------
NCo.BMultiply([],F1);
[ ]
-------------------------------

See also

NCo.SetOrdering

NCo.SetX

Introduction to CoCoAServer