One Hat Cyber Team
Your IP :
216.73.216.135
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
/
Kronecker
/
html
/
View File Name :
_rational__Normal__Form.html
<!DOCTYPE html> <html lang="en"> <head> <title>rationalNormalForm -- rational normal form of a matrix</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 title="Kronecker and rational normal forms" href="index.html">Kronecker</a> :: <a title="rational normal form of a matrix" href="_rational__Normal__Form.html">rationalNormalForm</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> next | <a href="_kronecker__Normal__Form_lp__Matrix_cm__Matrix_rp.html">previous</a> | forward | <a href="_kronecker__Normal__Form_lp__Matrix_cm__Matrix_rp.html">backward</a> | up | <a href="master.html">index</a> | <a href="toc.html">toc</a> </div> </div> <hr> <div> <h1>rationalNormalForm -- rational normal form of a matrix</h1> <ul> <li> <dl class="element"> <dt>Usage: </dt> <dd><code class="language-macaulay2">(B,P,Q) = rationalNormalForm A</code></dd> <dd><code class="language-macaulay2">(B,P) = rationalNormalForm(A,ChangeMatrix=>{true,false})</code></dd> <dd><code class="language-macaulay2">(B,Q) = rationalNormalForm(A,ChangeMatrix=>{false,true})</code></dd> <dd><code class="language-macaulay2">B = rationalNormalForm(A,ChangeMatrix=>{false,false})</code></dd> </dl> </li> <li>Inputs: <ul> <li><span><span class="tt">A</span>, <span>a <a title="the class of all matrices" href="../../Macaulay2Doc/html/___Matrix.html">matrix</a></span>, a square matrix with constant entries</span></li> </ul> </li> <li><a href="../../Macaulay2Doc/html/_using_spfunctions_spwith_spoptional_spinputs.html">Optional inputs</a>: <ul> <li><span><span class="tt">ChangeMatrix</span><span class="tt"> => </span><span class="tt">...</span>, <span>default value {true, true}</span></span></li> </ul> </li> <li>Outputs: <ul> <li><span><span class="tt">B</span>, <span>a <a title="the class of all matrices" href="../../Macaulay2Doc/html/___Matrix.html">matrix</a></span>, the rational normal form of <span class="tt">A</span></span></li> <li><span><span class="tt">P</span>, <span>a <a title="the class of all matrices" href="../../Macaulay2Doc/html/___Matrix.html">matrix</a></span>, invertible (left) change of basis matrix</span></li> <li><span><span class="tt">Q</span>, <span>a <a title="the class of all matrices" href="../../Macaulay2Doc/html/___Matrix.html">matrix</a></span>, invertible (right) change of basis matrix</span></li> </ul> </li> </ul> <div> <h2>Description</h2> This function produces a matrix <span class="tt">B</span> in rational normal form, and invertible matrices <span class="tt">P</span> and <span class="tt">Q</span> such that <span class="tt">P*Q = I</span> and <span class="tt">B = P*A*Q</span>. <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i1 : R = ZZ/101[x] o1 = R o1 : PolynomialRing</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i2 : M = R^4 4 o2 = R o2 : R-module, free</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i3 : A = random(M,M) o3 = | 24 19 -8 -38 | | -36 19 -22 -16 | | -30 -10 -29 39 | | -29 -29 -24 21 | 4 4 o3 : Matrix R <-- R</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i4 : factor det(x*id_M - A) 2 2 o4 = (x + 39x - 10)(x + 27x - 27) o4 : Expression of class Product</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i5 : (B,P,Q) = rationalNormalForm A o5 = (| -27 1 0 0 |, | 15 -11 46 -1 |, | 50 13 7 -23 |) | 27 0 0 0 | | 12 -46 -47 39 | | -37 -24 -41 -18 | | 0 0 -39 1 | | -9 47 33 -2 | | 23 1 33 1 | | 0 0 10 0 | | 41 -40 22 50 | | -8 0 -47 0 | o5 : Sequence</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i6 : B - P*A*Q == 0 o6 = true</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i7 : P*Q - id_M == 0 o7 = true</code></pre> </td> </tr> </table> </div> <div> <div class="waystouse"> <h2>Ways to use <span class="tt">rationalNormalForm</span>:</h2> <ul> <li><kbd>rationalNormalForm(Matrix)</kbd></li> </ul> </div> <div class="waystouse"> <h2>For the programmer</h2> <p>The object <a title="rational normal form of a matrix" href="_rational__Normal__Form.html">rationalNormalForm</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">Kronecker.m2:1130:0</span>.</p> </div> </div> </div> </body> </html>