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
/
RandomObjects
/
html
/
View File Name :
___Random__Object.html
<!DOCTYPE html> <html lang="en"> <head> <title>RandomObject -- framework for creation of random objects</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="a Framework for the construction of random points of unirational moduli spaces" href="index.html">RandomObjects</a> :: <a title="framework for creation of random objects" href="___Random__Object.html">RandomObject</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="_random__Object__Template.html">next</a> | <a href="_random_lp__Random__Object_rp.html">previous</a> | <a href="_random__Object__Template.html">forward</a> | <a href="_random_lp__Random__Object_rp.html">backward</a> | up | <a href="master.html">index</a> | <a href="toc.html">toc</a> </div> </div> <hr> <div> <h1>RandomObject -- framework for creation of random objects</h1> <div> <h2>Description</h2> <div> <p>RandomObject bundles the necessary functions for the construction of certified random objects parametrized by a unirational moduli space $M$.</p> <p>RandomObject is a MutableHashTable as ancestor and needs to have the following keys:</p> <p>* Construction: the method function assigned to this key contains a unirationality construction.</p> <p>* Certification: the method function assigned to this key checks whether the constructed object fulfills certain conditions.</p> <p>In the following example we construct plane curves of degree $d$. The Certification checks whether they are irreducible over the coefficient field.</p> <p></p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i1 : constructPlaneCurve = method(TypicalValue=>Ideal, Options=>{Certify=>false}) o1 = constructPlaneCurve o1 : MethodFunctionWithOptions</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i2 : constructPlaneCurve(ZZ,PolynomialRing):=opt->(d,R) -> ideal random(R^1,R^{1:-d}) o2 = FunctionClosure[stdio:2:40-2:80] o2 : FunctionClosure</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i3 : certifyPlaneCurve = method(TypicalValue=>Boolean) o3 = certifyPlaneCurve o3 : MethodFunction</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i4 : certifyPlaneCurve(Ideal,ZZ,PolynomialRing):=(I,d,R)-> #decompose I==1 o4 = FunctionClosure[stdio:4:44-4:69] o4 : FunctionClosure</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i5 : planeCurve = new RandomObject from { Construction => constructPlaneCurve, Certification => certifyPlaneCurve } o5 = planeCurve o5 : RandomObject</code></pre> </td> </tr> </table> <div> <p>We construct a curve of degree $2$ as follows</p> <p></p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i6 : setRandomSeed("alpha"); -- setting random seed to 10206284518</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i7 : R=ZZ/3[x_0..x_2];</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i8 : (random planeCurve)(2,R) 2 o8 = ideal(- x - x x + x x - x x ) 0 0 1 0 2 1 2 o8 : Ideal of R</code></pre> </td> </tr> </table> <div> <p>We can certify the curve by using the option Certify</p> <p></p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i9 : (random planeCurve)(2,R,Certify=>true) 2 2 2 o9 = ideal(- x + x + x x + x ) 0 1 0 2 2 o9 : Ideal of R</code></pre> </td> </tr> </table> <div> <p>We have chosen a small finite field as ground field. Hence, there is a certain chance that the curve is not irreducible. We can check this if we limit the number of attempts to $1$. If the curve is then reducible, <span class="tt">null</span> is returned.</p> <p></p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i10 : tally apply(3^4,i->(random planeCurve)(2,R,Certify=>true,Attempts=>1) === null) o10 = Tally{false => 66} true => 15 o10 : Tally</code></pre> </td> </tr> </table> </div> <div> <div class="waystouse"> <h2>Methods that use an object of class RandomObject:</h2> <ul> <li><span><a title="returns a function that constructs a random object" href="_random_lp__Random__Object_rp.html">random(RandomObject)</a> -- returns a function that constructs a random object</span></li> </ul> </div> <div class="waystouse"> <h2>For the programmer</h2> <p>The object <a title="framework for creation of random objects" href="___Random__Object.html">RandomObject</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 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">RandomObjects.m2:250:0</span>.</p> </div> </div> </div> </body> </html>