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
/
LocalRings
/
html
/
View File Name :
index.html
<!DOCTYPE html> <html lang="en"> <head> <title>LocalRings -- Localizations of polynomial rings at prime ideals</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="Localizations of polynomial rings at prime ideals" href="index.html">LocalRings</a> :: <a title="Localizations of polynomial rings at prime ideals" href="index.html">LocalRings</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="_hilbert__Samuel__Function.html">next</a> | previous | <a href="___Local__Ring.html">forward</a> | backward | up | <a href="master.html">index</a> | <a href="toc.html">toc</a> </div> </div> <hr> <div> <h1>LocalRings -- Localizations of polynomial rings at prime ideals</h1> <div> <h2>Description</h2> <div> <p>This package defines the <a title="The class of all local rings" href="___Local__Ring.html">LocalRing</a> class for localizations of polynomial rings and extends most basic commutative algebra computations to such local rings. Moreover, the functions <a title="Computes the Hilbert-Samuel Function of Modules over Local Rings" href="_hilbert__Samuel__Function.html">hilbertSamuelFunction</a> and <a title="compute the length of a module" href="../../Macaulay2Doc/html/_length_lp__Module_rp.html">length(Module)</a> for Artinian modules over a local ring are implemented in this package.</p> <p>For information about the classical way of working with local rings at maximal ideals see <a href="_replacements_spfor_spfunctions_spfrom_spversion_sp1.0.html">replacements for functions from version 1.0</a>.</p> <p>The following is an example of defining the rational quartic curve in $\PP^3$ localized at a maximal ideal and a prime ideal using two different methods.</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i1 : R = ZZ/32003[a..d];</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i2 : I = monomialCurveIdeal(R,{1,3,4}) 3 2 2 2 3 2 o2 = ideal (b*c - a*d, c - b*d , a*c - b d, b - a c) o2 : Ideal of R</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i3 : M = ideal"a,b,c,d"; -- maximal ideal at the origin o3 : Ideal of R</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i4 : P = ideal"a,b,c"; -- prime ideal o4 : Ideal of R</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i5 : RM = R_M o5 = RM o5 : LocalRing, maximal ideal (a, b, c, d)</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i6 : RP = localRing(R, P) o6 = RP o6 : LocalRing, maximal ideal (a, b, c)</code></pre> </td> </tr> </table> <div> <p>An ideal, module, or chain complex may either be localized using <a title="promote to another ring" href="../../Macaulay2Doc/html/_promote.html">promote</a> or using the <a title="tensor product" href="../../Macaulay2Doc/html/_tensor.html">tensor</a> product.</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i7 : C = freeResolution I 1 4 4 1 o7 = R <-- R <-- R <-- R 0 1 2 3 o7 : Complex</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i8 : D = C ** RM;</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i9 : E = pruneComplex D 1 4 4 1 o9 = RM <-- RM <-- RM <-- RM 0 1 2 3 o9 : Complex</code></pre> </td> </tr> </table> <div> <p>The computation above shows that the rational quartic curve is not locally Cohen-Macaulay at the origin. Therefore the curve is not Cohen-Macaulay</p> <p>However, the curve is Cohen-Macaulay at the prime ideal $(a, b, c)$ (and in fact any other prime ideal).</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i10 : D' = C ** RP;</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i11 : E' = pruneComplex D' 1 2 1 o11 = RP <-- RP <-- RP 0 1 2 o11 : Complex</code></pre> </td> </tr> </table> <div> <p>The elementary definitions and operations are declared in <span class="tt">localring.m2</span>. Engine routines for core computations are implemented in <span class="tt">e/localring.hpp</span>.</p> <p>The following commutative algebra computations are implemented in this package: <a title="the syzygy matrix" href="../../Macaulay2Doc/html/_syz.html">syz</a>, <a title="compute a free resolution of a module or ideal" href="../../Complexes/html/_free__Resolution.html">freeResolution</a>, <a title="minimal generator matrix" href="../../Macaulay2Doc/html/_mingens.html">mingens</a>, <a title="compute a minimal presentation" href="../../Macaulay2Doc/html/_minimal__Presentation.html">minimalPresentation</a>, <a title="minimize generators and relations" href="../../Macaulay2Doc/html/_trim.html">trim</a>, <a title="compute the length of a module" href="../../Macaulay2Doc/html/_length_lp__Module_rp.html">length(Module)</a>, <a title="whether one object is a subset of another" href="../../Macaulay2Doc/html/_is__Subset.html">isSubset</a>, <a title="compute an induced map" href="../../Macaulay2Doc/html/_induced__Map.html">inducedMap</a>, <a title="factor a map through another with the same target" href="../../Macaulay2Doc/html/_quotient_lp__Matrix_cm__Matrix_rp.html">quotient(Matrix,Matrix)</a>, <a title="matrix remainder" href="../../Macaulay2Doc/html/_remainder.html">remainder(Matrix,Matrix)</a>, <a title="ideal or submodule quotient" href="../../Saturation/html/_quotient_lp__Module_cm__Module_rp.html">quotient(Module,Module)</a>, <a title="saturation of ideal or submodule" href="../../Saturation/html/_saturate.html">saturate</a>, <a title="the annihilator ideal" href="../../Saturation/html/_annihilator.html">annihilator</a>. Most of these routines rely on the functions <a title="Lifts various objects over R_P to R." href="_lift__Up.html">liftUp</a> and <a title="Prunes a chain complex or list of mutable matrices" href="../../PruneComplex/html/_prune__Complex.html">pruneComplex</a> and take advantage of Nakayama's lemma and flatness of local rings.</p> <p>In addition, methods such as <a title="make a map" href="../../Macaulay2Doc/html/_map.html">map</a>, <a title="find the pre-image (pullback) of image of a map (low level version)" href="../../Macaulay2Doc/html/_modulo.html">modulo</a>, <a title="make a subquotient module" href="../../Macaulay2Doc/html/_subquotient.html">subquotient</a>, <a title="kernel of a map" href="../../Macaulay2Doc/html/_kernel.html">kernel</a>, <a title="cokernel of a map" href="../../Macaulay2Doc/html/_cokernel.html">cokernel</a>, <a title="image of a map" href="../../Macaulay2Doc/html/_image.html">image</a>, <a title="general homology functor" href="../../Macaulay2Doc/html/_homology.html">homology</a>, <a title="module of homomorphisms" href="../../Macaulay2Doc/html/___Hom.html">Hom</a>, <a title="compute an Ext module" href="../../Macaulay2Doc/html/___Ext.html">Ext</a>, <a title="Tor module" href="../../Macaulay2Doc/html/___Tor.html">Tor</a>, etc. work over local rings automatically.</p> </div> </div> <div> <h2>Caveat</h2> <div> <p>Currently limited to localization at prime ideals rather than arbitrary multiplicatively closed sets. Quotients of local rings are not implemented yet. Moreover, certain functions (such as symbol%, radical, minimalPrimes, leadingCoefficient) are ambiguous or not yet defined.</p> </div> </div> <div> <h2>See also</h2> <ul> <li><span><a title="Pruning chain complexes over polynomial and local rings" href="../../PruneComplex/html/index.html">PruneComplex</a> -- Pruning chain complexes over polynomial and local rings</span></li> </ul> </div> <div> <h3>Menu</h3> <ul> <li><span><a title="The class of all local rings" href="___Local__Ring.html">LocalRing</a> -- The class of all local rings</span></li> </ul> </div> <div> <div> <div> <h2>Authors</h2> <ul> <li><a href="https://math.umn.edu/~mahrud/">Mahrud Sayrafi</a><span> <<a href="mailto:mahrud%40umn.edu">mahrud@umn.edu</a>></span></li> <li><a href="http://www.math.cornell.edu/~mike/">Mike Stillman</a><span> <<a href="mailto:mike%40math.cornell.edu">mike@math.cornell.edu</a>></span></li> <li><a href="http://www.msri.org/~de/">David Eisenbud</a><span> <<a href="mailto:de%40msri.org">de@msri.org</a>></span></li> </ul> </div> <div> <h2>Version</h2> <p>This documentation describes version <b>2.1</b> of LocalRings, released <b>May 08, 2021</b>.</p> </div> <div> <h2>Citation</h2> <p>If you have used this package in your research, please cite it as follows:</p> <table class="examples"> <tr> <td> <pre><code class="language-bib">@misc{LocalRingsSource, title = {{LocalRings: operations over a local ring R_p. Version~2.1}}, author = {Mahrud Sayrafi and Mike Stillman and David Eisenbud}, howpublished = {A \emph{Macaulay2} package available at \url{https://github.com/Macaulay2/M2/tree/stable/M2/Macaulay2/packages}} } </code></pre> </td> </tr> </table> </div> <div> <h2>Exports</h2> <div class="exports"> <ul> <li>Types <ul> <li><span><a title="The class of all local rings" href="___Local__Ring.html">LocalRing</a> -- The class of all local rings</span></li> </ul> </li> <li>Functions and commands <ul> <li><span><a title="Computes the Hilbert-Samuel Function of Modules over Local Rings" href="_hilbert__Samuel__Function.html">hilbertSamuelFunction</a> -- Computes the Hilbert-Samuel Function of Modules over Local Rings</span></li> <li><span><a title="Lifts various objects over R_P to R." href="_lift__Up.html">liftUp</a> -- Lifts various objects over R_P to R.</span></li> <li><span><a title="find the splitting of the target of a map" href="_local__Complement.html">localComplement</a> -- find the splitting of the target of a map</span></li> <li><span><a title="finds a minimal set of generators" href="_local__Mingens.html">localMingens</a> -- finds a minimal set of generators</span></li> <li><span><a title="find the pre-image (pullback) of image of a map over a local ring" href="_local__Modulo.html">localModulo</a> -- find the pre-image (pullback) of image of a map over a local ring</span></li> <li><span><a title="find a minimal presentation" href="_local__Prune.html">localPrune</a> -- find a minimal presentation</span></li> <li><span><a title="find a resolution over a local ring" href="_local__Resolution.html">localResolution</a> -- find a resolution over a local ring</span></li> <li><span><a title="Constructor for local rings" href="_local__Ring.html">localRing</a> -- Constructor for local rings</span></li> <li><span><a title="find syzygies" href="_localsyz.html">localsyz</a> -- find syzygies</span></li> <li><span><a title="set the maximal ideal for local ring methods" href="_set__Max__Ideal.html">setMaxIdeal</a> -- set the maximal ideal for local ring methods</span></li> </ul> </li> <li>Methods <ul> <li><span><a title="produce the ring from which a ring was formed" href="_base__Ring_lp__Local__Ring_rp.html">baseRing(LocalRing)</a> -- produce the ring from which a ring was formed</span></li> <li><span><a title="get the characteristic of the ring or field" href="_char_lp__Local__Ring_rp.html">char(LocalRing)</a> -- get the characteristic of the ring or field</span></li> <li><span><a title="get the coefficient ring" href="_coefficient__Ring_lp__Local__Ring_rp.html">coefficientRing(LocalRing)</a> -- get the coefficient ring</span></li> <li><span><a title="the length of the degree vector" href="_degree__Length_lp__Local__Ring_rp.html">degreeLength(LocalRing)</a> -- the length of the degree vector</span></li> <li><span><a title="degrees of generators" href="_degrees_lp__Local__Ring_rp.html">degrees(LocalRing)</a> -- degrees of generators</span></li> <li><span><a title="compute the Krull dimension" href="_dim_lp__Local__Ring_rp.html">dim(LocalRing)</a> -- compute the Krull dimension</span></li> <li><span><a title="construct a fraction field" href="_frac_lp__Local__Ring_rp.html">frac(LocalRing)</a> -- construct a fraction field</span></li> <li><span><a title="the list of generators of a ring" href="_generators_lp__Local__Ring_rp.html">generators(LocalRing)</a> -- the list of generators of a ring</span></li> <li><span><kbd>hilbertSamuelFunction(Ideal,Module,ZZ)</kbd> -- see <span><a title="Computes the Hilbert-Samuel Function of Modules over Local Rings" href="_hilbert__Samuel__Function.html">hilbertSamuelFunction</a> -- Computes the Hilbert-Samuel Function of Modules over Local Rings</span></span></li> <li><span><kbd>hilbertSamuelFunction(Ideal,Module,ZZ,ZZ)</kbd> -- see <span><a title="Computes the Hilbert-Samuel Function of Modules over Local Rings" href="_hilbert__Samuel__Function.html">hilbertSamuelFunction</a> -- Computes the Hilbert-Samuel Function of Modules over Local Rings</span></span></li> <li><span><kbd>hilbertSamuelFunction(Module,ZZ)</kbd> -- see <span><a title="Computes the Hilbert-Samuel Function of Modules over Local Rings" href="_hilbert__Samuel__Function.html">hilbertSamuelFunction</a> -- Computes the Hilbert-Samuel Function of Modules over Local Rings</span></span></li> <li><span><kbd>hilbertSamuelFunction(Module,ZZ,ZZ)</kbd> -- see <span><a title="Computes the Hilbert-Samuel Function of Modules over Local Rings" href="_hilbert__Samuel__Function.html">hilbertSamuelFunction</a> -- Computes the Hilbert-Samuel Function of Modules over Local Rings</span></span></li> <li><span><a title="whether a ring is commutative" href="_is__Commutative_lp__Local__Ring_rp.html">isCommutative(LocalRing)</a> -- whether a ring is commutative</span></li> <li><span><a title="whether a local ring is well defined" href="_is__Well__Defined_lp__Local__Ring_rp.html">isWellDefined(LocalRing)</a> -- whether a local ring is well defined</span></li> <li><span><kbd>liftUp(Ideal,Ring)</kbd> -- see <span><a title="Lifts various objects over R_P to R." href="_lift__Up.html">liftUp</a> -- Lifts various objects over R_P to R.</span></span></li> <li><span><kbd>liftUp(Matrix,Ring)</kbd> -- see <span><a title="Lifts various objects over R_P to R." href="_lift__Up.html">liftUp</a> -- Lifts various objects over R_P to R.</span></span></li> <li><span><kbd>liftUp(Module,Ring)</kbd> -- see <span><a title="Lifts various objects over R_P to R." href="_lift__Up.html">liftUp</a> -- Lifts various objects over R_P to R.</span></span></li> <li><span><kbd>liftUp(MutableMatrix,Ring)</kbd> -- see <span><a title="Lifts various objects over R_P to R." href="_lift__Up.html">liftUp</a> -- Lifts various objects over R_P to R.</span></span></li> <li><span><kbd>liftUp(RingElement,Ring)</kbd> -- see <span><a title="Lifts various objects over R_P to R." href="_lift__Up.html">liftUp</a> -- Lifts various objects over R_P to R.</span></span></li> <li><span><kbd>liftUp(Thing)</kbd> -- see <span><a title="Lifts various objects over R_P to R." href="_lift__Up.html">liftUp</a> -- Lifts various objects over R_P to R.</span></span></li> <li><span><kbd>localComplement(Matrix)</kbd> -- see <span><a title="find the splitting of the target of a map" href="_local__Complement.html">localComplement</a> -- find the splitting of the target of a map</span></span></li> <li><span><kbd>localMingens(Matrix)</kbd> -- see <span><a title="finds a minimal set of generators" href="_local__Mingens.html">localMingens</a> -- finds a minimal set of generators</span></span></li> <li><span><kbd>localModulo(Matrix,Matrix)</kbd> -- see <span><a title="find the pre-image (pullback) of image of a map over a local ring" href="_local__Modulo.html">localModulo</a> -- find the pre-image (pullback) of image of a map over a local ring</span></span></li> <li><span><kbd>localPrune(Module)</kbd> -- see <span><a title="find a minimal presentation" href="_local__Prune.html">localPrune</a> -- find a minimal presentation</span></span></li> <li><span><kbd>localResolution(Ideal)</kbd> -- see <span><a title="find a resolution over a local ring" href="_local__Resolution.html">localResolution</a> -- find a resolution over a local ring</span></span></li> <li><span><kbd>localResolution(Module)</kbd> -- see <span><a title="find a resolution over a local ring" href="_local__Resolution.html">localResolution</a> -- find a resolution over a local ring</span></span></li> <li><span><kbd>max(LocalRing)</kbd> -- see <span><a title="The class of all local rings" href="___Local__Ring.html">LocalRing</a> -- The class of all local rings</span></span></li> <li><span><kbd>localRing(EngineRing,Ideal)</kbd> -- see <span><a title="Constructor for local rings" href="_local__Ring.html">localRing</a> -- Constructor for local rings</span></span></li> <li><span><kbd>localRing(Ring,Ideal)</kbd> -- see <span><a title="Constructor for local rings" href="_local__Ring.html">localRing</a> -- Constructor for local rings</span></span></li> <li><span><kbd>PolynomialRing _ Ideal</kbd> -- see <span><a title="Constructor for local rings" href="_local__Ring.html">localRing</a> -- Constructor for local rings</span></span></li> <li><span><kbd>PolynomialRing _ RingElement</kbd> -- see <span><a title="Constructor for local rings" href="_local__Ring.html">localRing</a> -- Constructor for local rings</span></span></li> <li><span><kbd>localsyz(Matrix)</kbd> -- see <span><a title="find syzygies" href="_localsyz.html">localsyz</a> -- find syzygies</span></span></li> <li><span><a title="number of generators of a polynomial ring" href="_numgens_lp__Local__Ring_rp.html">numgens(LocalRing)</a> -- number of generators of a polynomial ring</span></li> <li><span><kbd>setMaxIdeal(Ideal)</kbd> -- see <span><a title="set the maximal ideal for local ring methods" href="_set__Max__Ideal.html">setMaxIdeal</a> -- set the maximal ideal for local ring methods</span></span></li> </ul> </li> <li>Symbols <ul> <li><span><kbd>maxIdeal</kbd> -- see <span><a title="The class of all local rings" href="___Local__Ring.html">LocalRing</a> -- The class of all local rings</span></span></li> <li><span><kbd>residueMap</kbd> -- see <span><a title="The class of all local rings" href="___Local__Ring.html">LocalRing</a> -- The class of all local rings</span></span></li> </ul> </li> </ul> </div> </div> </div> <div class="waystouse"> <h2>For the programmer</h2> <p>The object <a title="Localizations of polynomial rings at prime ideals" href="index.html">LocalRings</a> is <span>a <a title="the class of all packages" href="../../Macaulay2Doc/html/___Package.html">package</a></span>, defined in <span class="tt">LocalRings.m2</span>, with auxiliary files in <span class="tt">LocalRings/</span>.</p> </div> <hr> <div class="waystouse"> <p>The source of this document is in <span class="tt">LocalRings/doc.m2:64:0</span>.</p> </div> </div> </div> </body> </html>