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
/
Jets
/
html
/
View File Name :
_principal__Component.html
<!DOCTYPE html> <html lang="en"> <head> <title>principalComponent -- compute principal component of jets</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="compute jets of various algebraic, geometric and combinatorial objects" href="index.html">Jets</a> » <a title="compute principal component of jets" href="_principal__Component.html">principalComponent</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="_lifting__Function.html">next</a> | <a href="_jets__Radical.html">previous</a> | <a href="___Saturate.html">forward</a> | <a href="_jets__Radical.html">backward</a> | <a href="index.html">up</a> | <a href="master.html">index</a> | <a href="toc.html">toc</a> </div> </div> <hr> <div> <h1>principalComponent -- compute principal component of jets</h1> <ul> <li> <dl class="element"> <dt>Usage: </dt> <dd><code class="language-macaulay2">principalComponent(s,I)</code></dd> </dl> </li> <li>Inputs: <ul> <li><span><span class="tt">s</span>, <span>an <a title="the class of all integers" href="../../Macaulay2Doc/html/___Z__Z.html">integer</a></span>, </span></li> <li><span><span class="tt">I</span>, <span>an <a title="the class of all ideals" href="../../Macaulay2Doc/html/___Ideal.html">ideal</a></span>, </span></li> </ul> </li> <li><a href="../../Macaulay2Doc/html/_using_spfunctions_spwith_spoptional_spinputs.html">Optional inputs</a>: <ul> <li><span><a title="option for principal components" href="___Saturate.html">Saturate</a><span class="tt"> => </span><span class="tt">...</span>, <span>default value true</span>, <span>option for principal components</span></span></li> </ul> </li> <li>Outputs: <ul> <li><span><span>an <a title="the class of all ideals" href="../../Macaulay2Doc/html/___Ideal.html">ideal</a></span>, whose vanishing locus is the principal component of the <span class="tt">s</span>-jets of <span class="tt">I</span></span></li> </ul> </li> </ul> <div> <h2>Description</h2> <div> <p>This function is provided by the package <a title="compute jets of various algebraic, geometric and combinatorial objects" href="index.html">Jets</a>.</p> <p>Consider an affine variety $X \subseteq \mathbb{A}^n_\Bbbk$. The principal (or dominant) component of the $s$-jets of $X$ is the Zariski closure of the $s$-jets of the smooth locus of $X$. Let $X_{\mathrm{reg}}$ and $X_{\mathrm{sing}}$ denote respectively the smooth and singular locus of $X$. If $\mathcal{J}_s$ denotes the $s$-jets functor, then there is a natural embedding $$X_\mathrm{sing} \subset X \subseteq \mathbb{A}^n_\Bbbk \subset \mathcal{J}_s (\mathbb{A}^n_\Bbbk) \cong \mathbb{A}^{n(s+1)}_\Bbbk.$$ Let $I$ denote the ideal of $X_\mathrm{sing}$ in this embedding, and let $J$ denote the ideal of $\mathcal{J}_s (X)$; both ideals live in the polynomial ring $\Bbbk [\mathbb{A}^{n(s+1)}_\Bbbk]$. We have an equality of sets $$\mathcal{J}_s (X_\mathrm{reg}) = \mathcal{J}_s (X) \setminus X_\mathrm{sing} = \mathbf{V} (J) \setminus \mathbf{V} (I).$$ By Theorem 10 in Chapter 4, §4 of <a href="https://doi.org/10.1007/978-3-319-16721-3">D.A. Cox, J. Little, D. O'Shea - Ideals, Varieties, and Algorithms</a>, if $\Bbbk$ is algebraically closed, then there is an equality $$\mathbf{V} (J\colon I^\infty) = \overline{\mathbf{V} (J) \setminus \mathbf{V} (I)} = \overline{\mathcal{J}_s (X_\mathrm{reg})}.$$ This function returns the ideal $J\colon I^\infty$.</p> <p>If $J$ is known to be a radical ideal, then $\mathbf{V} (J\colon I) = \overline{\mathbf{V} (J) \setminus \mathbf{V} (I)}$ by Corollary 11 in Chapter 4, §4 of <a href="https://doi.org/10.1007/978-3-319-16721-3">D.A. Cox, J. Little, D. O'Shea - Ideals, Varieties, and Algorithms</a>. In this case, the user may pass the option <span class="tt">Saturate=>false</span> to return the ideal $J\colon I$, which can speed up computations.</p> <p>As an example, consider the union of three non parallel lines in the affine plane. We compute the principal component of the jets of order two.</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i1 : R = QQ[x,y] o1 = R o1 : PolynomialRing</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i2 : I = ideal(x*y*(x+y-1)) 2 2 o2 = ideal(x y + x*y - x*y) o2 : Ideal of R</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i3 : PC = principalComponent(2,I) 2 2 2 2 o3 = ideal (y1*x2 - x1*y2, x0 y0 + x0*y0 - x0*y0, (x0 + x0*y0 - x0)y1, (y0 ------------------------------------------------------------------------ 2 - y0)x1 - x0*y0*y1, x0*y0*x1 + x0*y0*y1, (y0 - 1)x1*y1 - x0*y1 , ------------------------------------------------------------------------ 2 2 2 2 2 2 x0*x1*y1 + x0*y1 , y0*x1 + x1*y1 + x0*y1 , x1 y1 + x1*y1 , (x0 + x0*y0 ------------------------------------------------------------------------ 2 - x0)y2, ((y0 - 1)x1 - x0*y1)y2, (x0*x1 + x0*y1)y2, (x1 + x1*y1)y2, ------------------------------------------------------------------------ 2 (y0 - y0)x2 - x0*y0*y2, x0*y0*x2 + x0*y0*y2, y0*x1*x2 + (x1 + x0*y1)y2, ------------------------------------------------------------------------ 2 2 2 2 (y0 - 1)x2*y2 - x0*y2 , x0*x2*y2 + x0*y2 , x1*x2*y2 + x1*y2 , y0*x2 + ------------------------------------------------------------------------ 2 2 2 x2*y2 + x0*y2 , x2 y2 + x2*y2 ) o3 : Ideal of QQ[x0, y0][x1, y1][x2, y2]</code></pre> </td> </tr> </table> <div> <p>Despite the name, the principal component need not be a component of the jet scheme (i.e., it need not be irreducible). In this example, the principal component has degree 3 and is the union of three components of degree 1.</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i4 : P = primaryDecomposition jets(2,I) 2 2 o4 = {ideal (y0 , x0*y0, y0*y1, y0*x1 + x0*y1, y0*y2 - y1 , y0*x2 + x0*y2 + ------------------------------------------------------------------------ 3 2 x1*y1, x0 ), ideal (x0*y0, x0 , y0*x1 + x0*y1, x0*x1, y0*x2 + x0*y2 + ------------------------------------------------------------------------ 2 3 2 x1*y1, x0*x2 - x1 , y0 ), ideal (y0 , x0*y0 - y0, y0*y1, y0*x1 + (x0 - ------------------------------------------------------------------------ 2 2 3 2 1)y1, y0*y2 - y1 , y0*x2 + (x0 - 1)y2 + x1*y1 + 3y1 , x0 - 3x0 + 3x0 - ------------------------------------------------------------------------ 2 2 2 1), ideal (x0*y0 + y0 - y0, x0 - y0 - 2x0 + 1, y0*x1 + (x0 + 2y0 - ------------------------------------------------------------------------ 2 1)y1, (x0 - 1)x1 - y0*y1, y0*x2 + (x0 + 2y0 - 1)y2 + x1*y1 + y1 , (x0 - ------------------------------------------------------------------------ 2 2 3 1)x2 - y0*y2 - x1 - 3x1*y1 - 2y1 , y0 ), ideal (y0, y1, y2), ideal ------------------------------------------------------------------------ 2 2 (x0*y0 - x0, x0 , (y0 - 1)x1 + x0*y1, x0*x1, (y0 - 1)x2 + x0*y2 + 3x1 + ------------------------------------------------------------------------ 2 3 2 2 x1*y1, x0*x2 - x1 , y0 - 3y0 + 3y0 - 1), ideal (x0*y0 + y0 - x0 - 2y0 ------------------------------------------------------------------------ 2 2 + 1, x0 - y0 + 2y0 - 1, (y0 - 1)x1 + (x0 + 2y0 - 2)y1, x0*x1 + (- y0 + ------------------------------------------------------------------------ 2 2 1)y1, (y0 - 1)x2 + (x0 + 2y0 - 2)y2 - 3x1 - 5x1*y1 - 2y1 , x0*x2 + (- ------------------------------------------------------------------------ 2 2 3 2 y0 + 1)y2 + 2x1 + 3x1*y1 + y1 , y0 - 3y0 + 3y0 - 1), ideal (x0, x1, ------------------------------------------------------------------------ x2), ideal (x0 + y0 - 1, x1 + y1, x2 + y2)} o4 : List</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i5 : any(P,c -> c == PC) o5 = false</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i6 : PC == intersect(select(P,c -> degree c == 1)) o6 = true</code></pre> </td> </tr> </table> <div> <p>If $I$ is a monomial ideal, this method uses a different characterization of the principal component (see Theorem 6.7 in <a href="https://arxiv.org/abs/2407.01836">F. Galetto, N. Iammarino, and T. Yu, Jets and principal components of monomial ideals, and very well-covered graphs</a>).</p> </div> </div> <div> <h2>Caveat</h2> <div> <p>This function requires computation of a singular locus, a saturation (or quotient), and jets, with each step being potentially quite time consuming.</p> </div> </div> <div> <h3>Menu</h3> <ul> <li><span><a title="option for principal components" href="___Saturate.html">Saturate</a> -- option for principal components</span></li> </ul> </div> <div> <div class="waystouse"> <h2>Ways to use <span class="tt">principalComponent</span>:</h2> <ul> <li><kbd>principalComponent(ZZ,Ideal)</kbd></li> </ul> </div> <div class="waystouse"> <h2>For the programmer</h2> <p>The object <a title="compute principal component of jets" href="_principal__Component.html">principalComponent</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">Jets.m2:1666:0</span>.</p> </div> </div> </div> </body> </html>