One Hat Cyber Team
Your IP :
216.73.216.115
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
/
PHCpack
/
html
/
View File Name :
_solve__System.html
<!DOCTYPE html> <html lang="en"> <head> <title>solveSystem -- a numerical blackbox solver</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 package for Polynomial Homotopy Continuation" href="index.html">PHCpack</a> :: <a title="a numerical blackbox solver" href="_solve__System.html">solveSystem</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="_solve__System_lp..._cmcomputing__Precision_eq_gt..._rp.html">next</a> | <a href="_solve__Rational__System_lp..._cm__Verbose_eq_gt..._rp.html">previous</a> | <a href="_solve__System_lp..._cmcomputing__Precision_eq_gt..._rp.html">forward</a> | <a href="_solve__Rational__System_lp..._cm__Verbose_eq_gt..._rp.html">backward</a> | up | <a href="master.html">index</a> | <a href="toc.html">toc</a> </div> </div> <hr> <div> <h1>solveSystem -- a numerical blackbox solver</h1> <ul> <li> <dl class="element"> <dt>Usage: </dt> <dd><code class="language-macaulay2">solveSystem(S)</code></dd> <dd><code class="language-macaulay2">solveSystem(S,numThreads=>4)</code></dd> <dd><code class="language-macaulay2">solveSystem(S,computingPrecision=>2)</code></dd> <dd><code class="language-macaulay2">solveSystem(S,randomSeed=>12345)</code></dd> </dl> </li> <li>Inputs: <ul> <li><span><span class="tt">S</span>, <span>a <a title="the class of all lists -- {...}" href="../../Macaulay2Doc/html/___List.html">list</a></span>, contains a zero-dimensional system of polynomials with complex coefficients that contains at least as many equations as indeterminates</span></li> </ul> </li> <li><a href="../../Macaulay2Doc/html/_using_spfunctions_spwith_spoptional_spinputs.html">Optional inputs</a>: <ul> <li><span><a title="option to specify the working precision" href="_solve__System_lp..._cmcomputing__Precision_eq_gt..._rp.html">computingPrecision</a><span class="tt"> => </span><span class="tt">...</span>, <span>default value 1</span>, <span>option to specify the working precision</span></span></li> <li><span><a title="option to set the number of threads" href="_solve__System_lp..._cmnum__Threads_eq_gt..._rp.html">numThreads</a><span class="tt"> => </span><span class="tt">...</span>, <span>default value 0</span>, <span>option to set the number of threads</span></span></li> <li><span><a title="option to set the seed of the random number generators" href="_solve__System_lp..._cmrandom__Seed_eq_gt..._rp.html">randomSeed</a><span class="tt"> => </span><span class="tt">...</span>, <span>default value -1</span>, <span>option to set the seed of the random number generators</span></span></li> <li><span><a title="option to specify whether additional output is wanted" href="_solve__System_lp..._cm__Verbose_eq_gt..._rp.html">Verbose</a><span class="tt"> => </span><span class="tt">...</span>, <span>default value false</span>, <span>option to specify whether additional output is wanted</span></span></li> </ul> </li> <li>Outputs: <ul> <li><span><span>a <a title="the class of all lists -- {...}" href="../../Macaulay2Doc/html/___List.html">list</a></span>, containing the solutions of S, each of type <a title="a type used to store a point in complex space" href="../../NAGtypes/html/___Abstract__Point.html">Point</a>.</span></li> </ul> </li> <li> <div> Consequences: <ul> <li>Writes the system to temporary file</li> <li>Adds slack variables if needed (i.e. if system is overdetermined)</li> <li>Invokes the command <span class="tt">phc -b</span> (launches the blackbox solver)</li> <li>Stores output of phc in temporary file</li> <li>Parses and outputs the solutions.</li> </ul> </div> </li> </ul> <div> <h2>Description</h2> <div> <p>Suppose we want numerical approximations of all complex isolated solutions to the following system:</p> <p></p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i1 : R = CC[x,y,z] o1 = R o1 : PolynomialRing</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i2 : S = {x+y+z-1, x^2+y^2, x+y-z-3} 2 2 o2 = {x + y + z - 1, x + y , x + y - z - 3} o2 : List</code></pre> </td> </tr> </table> <div> <p>We call <span class="tt">PHCpack</span>'s blackbox solver:</p> <p></p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i3 : L = solveSystem(S) o3 = {{1-ii, 1+ii, -1}, {1+ii, 1-ii, -1}} o3 : List</code></pre> </td> </tr> </table> <div> <p>The method <span class="tt">solveSystem</span> prints the <span class="tt">PHCpack</span> input and output file names and returns two solutions. The solutions are of type <a title="a type used to store a point in complex space" href="../../NAGtypes/html/___Abstract__Point.html">Point</a>, defined in <a title="Common types used in Numerical Algebraic Geometry" href="../../NAGtypes/html/index.html">NAGtypes</a>. Each point <span class="tt">p</span> comes with cached diagnostics. For example, <span class="tt">p.cache.LastT</span> is the end value of the continuation parameter; if it equals 1, then the solver reached the end of the path properly.</p> <p></p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i4 : oneSoln = L_0 o4 = oneSoln o4 : Point</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i5 : peek oneSoln o5 = Point{cache => CacheTable{...3...} } Coordinates => {1-ii, 1+ii, -1}</code></pre> </td> </tr> </table> <div> <p>The method handles overdetermined systems by inserting slack variables.</p> <p></p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i6 : system = {y-x^2, z-x^3, x+y+z-1, x+y+ x^3 -1} 2 3 3 o6 = {- x + y, - x + z, x + y + z - 1, x + x + y - 1} o6 : List</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i7 : #system > numcols vars R --overdetermined system o7 = true</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i8 : solns = solveSystem(system); *** after parseSolutions, ring has {x, y, z} ***</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i9 : numSolns = #solns o9 = 3</code></pre> </td> </tr> </table> </div> <div> <h2>Caveat</h2> <div> <p>The method <span class="tt">solveSystem</span> does not check the dimension of the system; it checks for number of equations instead. So <span class="tt">solveSystem</span> will return an error if there are less equations than unknowns even if the system is zero-dimensional. In addition, if the system is square but not zero-dimensional, the output is meaningless. Thus, it is suggested that the user checks the dimension of the system before using <span class="tt">solveSystem</span>.</p> <p></p> </div> </div> <div> <h2>See also</h2> <ul> <li><span><a title="approximates solutions to a rational system of equations" href="_solve__Rational__System.html">solveRationalSystem</a> -- approximates solutions to a rational system of equations</span></li> </ul> </div> <div> <div class="waystouse"> <h2>Ways to use <span class="tt">solveSystem</span>:</h2> <ul> <li><kbd>solveSystem(List)</kbd></li> </ul> </div> <div class="waystouse"> <h2>For the programmer</h2> <p>The object <a title="a numerical blackbox solver" href="_solve__System.html">solveSystem</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">PHCpack/PHCpackDoc.m2:1076:0</span>.</p> </div> </div> </div> </body> </html>