One Hat Cyber Team
Your IP :
216.73.216.216
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
/
Oscillators
/
html
/
View File Name :
index.html
<!DOCTYPE html> <html lang="en"> <head> <title>Oscillators -- generation and analysis of oscillator steady states for small graphs</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="generation and analysis of oscillator steady states for small graphs" href="index.html">Oscillators</a> :: <a title="generation and analysis of oscillator steady states for small graphs" href="index.html">Oscillators</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="_all__Unique__Principal__Minors.html">next</a> | previous | <a href="_all__Unique__Principal__Minors.html">forward</a> | backward | up | <a href="master.html">index</a> | <a href="toc.html">toc</a> </div> </div> <hr> <div> <h1>Oscillators -- generation and analysis of oscillator steady states for small graphs</h1> <div> <h2>Description</h2> <div> <p>This package supports computations with Kuramoto oscillators, including computations for the paper [HSS], Harrington, Schenck, Stillman, <a href="https://arxiv.org/abs/2312.16069">Algebraic aspects of homogeneous Kuramoto oscillators</a>. For a list of functions, and links to their documentation nodes, see the end of this page.</p> </div> <div> <h2>Computations from the paper [HSS]</h2> </div> <div> <ul> <li><span><a title="generating all SCT graphs on n vertices" href="___Generation_spof_spall_sp__S__C__T_sp_lpsimple_cm_spconnected_cm_sp2-connected_rp_spgraphs_spon_spsmall_spnumbers_spof_spvertices.html">Generation of all SCT (simple, connected, 2-connected) graphs on small numbers of vertices</a> -- generating all SCT graphs on n vertices</span></li> <li><span><a title="generating all SCT graphs on n vertices" href="___Checking_spthe_spcodimension_spand_spirreducible_spdecomposition_spof_spthe_sp__I__G_spideal.html">Checking the codimension and irreducible decomposition of the IG ideal</a> -- generating all SCT graphs on n vertices</span></li> <li><span><a title="finding graphs of small size with exotic solutions" href="___S__C__T_spgraphs_spwith_spexotic_spsolutions.html">SCT graphs with exotic solutions</a> -- finding graphs of small size with exotic solutions</span></li> <li><span><a title="example 4.1 in arXiv 2312.16069" href="___Example_sp4.1_co_spunique_spgraph_spon_sp8_spvertices_spwith_spexotic_spsolutions_spand_spno_spinduced_spcycle_spof_splength_spat_spleast_sp5.html">Example 4.1: unique graph on 8 vertices with exotic solutions and no induced cycle of length at least 5</a> -- example 4.1 in arXiv 2312.16069</span></li> <li><span><a title="example 4.2 in arXiv 2312.16069" href="___Example_sp4.2_co_spa_sp__K5_spand_sppentagon_spglued_spalong_span_spedge.html">Example 4.2: a K5 and pentagon glued along an edge</a> -- example 4.2 in arXiv 2312.16069</span></li> <li><span><a title="example 4.3 in arXiv 2312.16069" href="___Example_sp4.3_co_spexamples_spof_spgluing_sptwo_spcycles_spalong_span_spedge.html">Example 4.3: examples of gluing two cycles along an edge</a> -- example 4.3 in arXiv 2312.16069</span></li> <li><span><a title="example 4.4 in arXiv 2312.16069" href="___Example_sp4.4_co_sp__The_spsquare_spwithin_spa_spsquare.html">Example 4.4: The square within a square</a> -- example 4.4 in arXiv 2312.16069</span></li> </ul> </div> <div> <p>We show a possible workflow using this package. We use <a title="Interface to nauty (Graphs fork)" href="../../NautyGraphs/html/index.html">NautyGraphs</a> to generate graphs of small size. We use <a title="A package to help visualize algebraic objects in the browser using javascript" href="../../Visualize/html/index.html">Visualize</a> to look at these graphs.</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i1 : needsPackage "Oscillators";</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i2 : needsPackage "NautyGraphs";</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i3 : needsPackage "Visualize";</code></pre> </td> </tr> </table> <div> <p>Let's do an example: the 5-cycle. First, we generate all SCT graphs on 5 vertices (i.e. connected, 2-connected simple graphs), and grab the 5-cycle.</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i4 : Gstrs = generateGraphs(5, OnlyConnected => true, MinDegree => 2);</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i5 : Gs = Gstrs/stringToGraph o5 = {Graph{0 => {3, 4} }, Graph{0 => {3, 4} }, Graph{0 => {2, 4} 1 => {3, 4} 1 => {3, 4} 1 => {3, 4} 2 => {3, 4} 2 => {3, 4} 2 => {0, 4} 3 => {0, 1, 2} 3 => {0, 1, 2, 4} 3 => {1, 4} 4 => {0, 1, 2} 4 => {3, 0, 1, 2} 4 => {2, 0, 3, ------------------------------------------------------------------------ }, Graph{0 => {2, 3}}, Graph{0 => {2, 3, 4}}, Graph{0 => {2, 3, 4} 1 => {3, 4} 1 => {3, 4} 1 => {3, 4} 2 => {0, 4} 2 => {0, 4} 2 => {0, 4} 3 => {0, 1} 3 => {0, 1} 3 => {0, 1, 4} 1} 4 => {2, 1} 4 => {2, 0, 1} 4 => {2, 0, 3, ------------------------------------------------------------------------ }, Graph{0 => {2, 3, 4} }, Graph{0 => {2, 3, 4}}, Graph{0 => {2, 3, 1 => {3, 4} 1 => {2, 3, 4} 1 => {2, 3, 2 => {0, 3, 4} 2 => {0, 1, 4} 2 => {0, 1, 3 => {2, 0, 1, 4} 3 => {0, 1} 3 => {0, 1, 1} 4 => {2, 0, 3, 1} 4 => {2, 0, 1} 4 => {2, 0, ------------------------------------------------------------------------ 4} }, Graph{0 => {2, 3, 4} }, Graph{0 => {1, 2, 3, 4}}} 4} 1 => {2, 3, 4} 1 => {0, 2, 3, 4} 4} 2 => {0, 1, 3, 4} 2 => {1, 0, 3, 4} 4} 3 => {2, 0, 1, 4} 3 => {1, 0, 2, 4} 1, 3} 4 => {2, 0, 1, 3} 4 => {1, 0, 2, 3} o5 : List</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i6 : Gcycle5 = Gs_3 o6 = Graph{0 => {2, 3}} 1 => {3, 4} 2 => {0, 4} 3 => {0, 1} 4 => {2, 1} o6 : Graph</code></pre> </td> </tr> </table> <div> <p>We can also create the graph directly.</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i7 : Gcycle5 == graph{{0,1},{1,2},{2,3},{3,4},{4,0}} o7 = true</code></pre> </td> </tr> </table> <div> <p>To visualize this graph, use the following lines. You have to click on End session in the browser to get back to Macaulay2.</p> </div> <pre>openPort "8083" visualize Gcycle5 -- important: click on End session in browser window before continuing closePort()</pre> <div> <p>We construct all of the (steady-state) solutions to the homogeneous Kuramoto system for the 5-cycle. This includes all solutions, not just stable solutions. In this example, we first construct the real solutions, and check their (linear) stability. Then we find all complex solutions. In this particular example, all 30 solutions are real. We set the precision displayed to 3 digits.</p> </div> <table class="examples"> <tr> <td> <pre><code class="language-macaulay2">i8 : printingPrecision = 3 o8 = 3</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i9 : G = Gcycle5 o9 = Graph{0 => {2, 3}} 1 => {3, 4} 2 => {0, 4} 3 => {0, 1} 4 => {2, 1} o9 : Graph</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i10 : R = oscRing(G, CoefficientRing => CC, Reduced => true) o10 = R o10 : PolynomialRing</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i11 : I = oscSystem(G, R); o11 : Ideal of R</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i12 : netList I_* +---------------------------+ o12 = |- y - y | | 2 3 | +---------------------------+ |x y + x y - x y - x y | | 3 1 4 1 1 3 1 4 | +---------------------------+ |x y - x y + y | | 4 2 2 4 2 | +---------------------------+ |- x y + x y + y | | 3 1 1 3 3 | +---------------------------+ |- x y - x y + x y + x y | | 4 1 4 2 1 4 2 4| +---------------------------+ | 2 2 | |x + y - 1 | | 1 1 | +---------------------------+ | 2 2 | |x + y - 1 | | 2 2 | +---------------------------+ | 2 2 | |x + y - 1 | | 3 3 | +---------------------------+ | 2 2 | |x + y - 1 | | 4 4 | +---------------------------+</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i13 : Jac = oscJacobian(G,R) o13 = | -x_2-x_3 0 x_2 | 0 -x_1x_3-x_1x_4-y_1y_3-y_1y_4 0 | x_2 0 -x_2x_4-y_2y_4-x_2 | x_3 x_1x_3+y_1y_3 0 | 0 x_1x_4+y_1y_4 x_2x_4+y_2y_4 ----------------------------------------------------------------------- x_3 0 | x_1x_3+y_1y_3 x_1x_4+y_1y_4 | 0 x_2x_4+y_2y_4 | -x_1x_3-y_1y_3-x_3 0 | 0 -x_1x_4-x_2x_4-y_1y_4-y_2y_4 | 5 5 o13 : Matrix R <-- R</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i14 : realsols = findRealSolutions I;</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i15 : netList realsols +-----+-----+-----+-----+-----+-----+-----+-----+ o15 = |1 |-1 |1 |-1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-1 |1 |1 |1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-1 |-1 |1 |-1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-1 |-1 |-1 |1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |1 |-1 |1 |1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-1 |1 |-1 |-1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-1 |.5 |.5 |-.5 |0 |-.866|.866 |-.866| +-----+-----+-----+-----+-----+-----+-----+-----+ |-1 |.5 |-.5 |-.5 |0 |-.866|.866 |-.866| +-----+-----+-----+-----+-----+-----+-----+-----+ |1 |-1 |-1 |1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |1 |1 |1 |-1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-1 |1 |-1 |1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |.309 |-.809|-.809|.309 |.951 |.588 |-.588|-.951| +-----+-----+-----+-----+-----+-----+-----+-----+ |-.5 |.5 |.5 |-1 |-.866|.866 |-.866|0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |.309 |-.809|-.809|.309 |-.951|-.588|.588 |.951 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-1 |.5 |-.5 |-.5 |0 |.866 |-.866|.866 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-.5 |-.5 |.5 |-1 |.866 |-.866|.866 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-1 |-1 |-1 |-1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-1 |-1 |1 |1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-.5 |.5 |.5 |-.5 |.866 |-.866|.866 |-.866| +-----+-----+-----+-----+-----+-----+-----+-----+ |1 |1 |1 |1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-1 |.5 |.5 |-.5 |0 |.866 |-.866|.866 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-1 |1 |1 |-1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |1 |-1 |-1 |-1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |1 |1 |-1 |1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-.5 |-.5 |.5 |-1 |-.866|.866 |-.866|0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-.809|.309 |.309 |-.809|.588 |-.951|.951 |-.588| +-----+-----+-----+-----+-----+-----+-----+-----+ |-.809|.309 |.309 |-.809|-.588|.951 |-.951|.588 | +-----+-----+-----+-----+-----+-----+-----+-----+ |1 |1 |-1 |-1 |0 |0 |0 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-.5 |.5 |.5 |-1 |.866 |-.866|.866 |0 | +-----+-----+-----+-----+-----+-----+-----+-----+ |-.5 |.5 |.5 |-.5 |-.866|.866 |-.866|.866 | +-----+-----+-----+-----+-----+-----+-----+-----+</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i16 : assert(# realsols == 30)</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i17 : stablesols = select(realsols, p -> Stable === identifyStability(Jac,p)) o17 = {{1, 1, 1, 1, 0, 0, 0, 0}, {-.809, .309, .309, -.809, .588, -.951, ----------------------------------------------------------------------- .951, -.588}, {-.809, .309, .309, -.809, -.588, .951, -.951, .588}} o17 : List</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i18 : tally realsols/(p -> identifyStability(Jac, p)) o18 = Tally{Stable => 3 } Unstable => 27 o18 : Tally</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i19 : getAngles(4, stablesols, Radians=>false) o19 = {{0, 0, 0, 0}, {144, 288, 72, 216}, {216, 72, 288, 144}} o19 : List</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i20 : sols = solveSystem I_*;</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i21 : sols = sols/coordinates;</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i22 : sols = matrix sols -- every row is a solution o22 = | -.5-4.13e-14ii .5-2.77e-14ii .5-2.85e-14ii -1+1.71e-14ii | -1-3.88e-14ii -1-5.42e-13ii 1+4.64e-13ii -1-2.84e-13ii | .309+3.38e-13ii -.809+1.86e-13ii -.809+1.46e-13ii .309-6.08e-13ii | -.809-6.53e-16ii .309+6.47e-17ii .309-5.52e-16ii -.809+1.11e-15ii | 1-8.05e-17ii 1+1.4e-16ii 1+2.43e-16ii -1+1.28e-16ii | 1+1.43e-16ii -1-1.41e-16ii -1-7.12e-17ii -1+3.14e-16ii | -1-1.2e-13ii 1-2.71e-13ii 1+2.42e-13ii -1-3.73e-13ii | -1+4.51e-16ii .5-3.57e-15ii -.5+7.57e-15ii -.5-3.71e-15ii | 1-7.08e-17ii -1-6.99e-17ii 1+2.71e-16ii 1-2.66e-16ii | -.5+1.16e-15ii -.5-1.14e-15ii .5+5.79e-16ii -1+4.9e-16ii | -1+2.2e-17ii 1+9.2e-17ii -1-2.26e-16ii 1-2.48e-16ii | -1-1.91e-16ii 1+1.11e-16ii -1+9.76e-17ii -1+3.16e-16ii | -1+5.04e-16ii 1+1.16e-16ii 1+4.16e-16ii 1+1.68e-16ii | -1-3.38e-16ii .5+3.18e-16ii .5+1.1e-15ii -.5-3.35e-17ii | -1+1e-16ii -1-1.58e-16ii -1-6.08e-17ii 1-1.27e-16ii | .309-1.81e-15ii -.809-5.23e-16ii -.809-5.23e-18ii .309+1.75e-15ii | 1-7.34e-16ii 1-4.82e-17ii -1-5.35e-16ii -1-2.2e-16ii | 1-3.49e-16ii 1+1.12e-16ii 1+4.14e-16ii 1+1.14e-17ii | 1-1.69e-16ii -1-1.17e-16ii -1-2.08e-16ii 1-7.23e-17ii | -.5+2.52e-15ii .5-1.68e-15ii .5+1.23e-15ii -.5-2.79e-15ii | -1+1.02e-15ii .5+5.01e-16ii .5-3.95e-17ii -.5+7.24e-16ii | -1-1.1e-17ii .5-6.22e-16ii -.5+2.62e-16ii -.5-1.18e-17ii | -1+2.26e-15ii -1+5.22e-15ii 1+5.62e-14ii 1-8.45e-14ii | -.809+1.27e-15ii .309-1.95e-15ii .309+1.23e-15ii -.809-1.13e-15ii | 1+8.36e-14ii -1-4.04e-14ii 1+1.76e-14ii -1-2.76e-14ii | -1+5.1e-16ii -1+2.71e-15ii -1+6.38e-17ii -1-4.33e-16ii | -.5+1.45e-14ii .5-6.16e-14ii .5+1.06e-13ii -1-6.85e-15ii | -.5-4.96e-17ii -.5+3.33e-15ii .5-4.01e-17ii -1+5.17e-16ii | 1+1.21e-15ii 1-1.2e-16ii -1-4e-16ii 1+4.63e-16ii | -.5+1.08e-13ii .5+6.4e-14ii .5+7.66e-14ii -.5+1.11e-13ii ----------------------------------------------------------------------- -.866+3.33e-14ii .866+1.22e-14ii -.866-1.19e-14ii -1.15e-13+2.06e-13ii -2.22e-14-2.77e-13ii 2.23e-14+2.77e-13ii .951+4.74e-13ii .588+2.54e-13ii -.588-2.54e-13ii .588-1.02e-16ii -.951-1.76e-16ii .951+6.7e-17ii 7.59e-17-4.32e-16ii 6.71e-16+1.1e-15ii 1.23e-16-3.73e-16ii -7.22e-16+1.06e-16ii 9.55e-16+6.43e-16ii 4.93e-16-2.25e-16ii 1.38e-13-4.3e-13ii -5.63e-13+1.36e-13ii 5.64e-13-1.35e-13ii -7.75e-15-4.49e-15ii .866+8.83e-16ii -.866+1.82e-16ii -2.25e-15-2.36e-15ii 2.51e-15+1.68e-15ii -1.07e-15-1.19e-15ii .866+9.87e-16ii -.866+5.14e-16ii .866-2.2e-16ii -6.68e-17+9.61e-17ii 1.08e-16-7.3e-16ii 1.06e-15+1.36e-15ii 2.38e-17-2.4e-16ii 2.22e-16+6.41e-16ii 9.58e-16-8.03e-16ii -1.28e-16-1.11e-16ii 8.81e-16-7.32e-17ii -7.65e-16+8.16e-16ii -9.97e-16+2.78e-16ii .866-3.15e-16ii -.866+5e-16ii 1.63e-16+1.52e-16ii 2.88e-16+3.15e-17ii 9.08e-17+9.49e-18ii -.951-3.58e-16ii -.588+6.94e-16ii .588+5.84e-16ii 3.73e-16+1.42e-16ii 5.04e-16+1.15e-15ii -5.25e-17+7.27e-17ii 5.66e-16+1.24e-15ii 8.9e-16+1.01e-15ii 5.37e-16+4.56e-16ii -3.29e-16-8.39e-16ii 6.38e-16+2.78e-16ii 2.85e-16+4.16e-16ii -.866-1.17e-15ii .866+1.13e-15ii -.866+2.31e-16ii 5.47e-16+3.3e-15ii -.866+2.96e-16ii .866+8.79e-16ii -6.39e-16+8.11e-16ii -.866-2.57e-16ii .866+4.36e-16ii -3.48e-14+3.5e-13ii 3.31e-14+1.35e-13ii -3.28e-14-1.34e-13ii -.588-1.32e-15ii .951+6.71e-16ii -.951+2.15e-16ii -1.1e-13-5.11e-14ii 8.36e-14+6.54e-16ii -8.21e-14-1.75e-16ii 2.73e-15-4.4e-16ii -2.01e-16+6.62e-15ii 1.27e-15-5.68e-15ii .866-3.08e-14ii -.866+5.3e-15ii .866-5.65e-15ii -.866+2.28e-16ii .866+1.43e-15ii -.866-3.23e-16ii -1.27e-14-2.67e-14ii -5.68e-15-8.72e-15ii 5.99e-15+9.68e-15ii .866+1.11e-13ii -.866+3.13e-14ii .866-2.96e-14ii ----------------------------------------------------------------------- -1.82e-14+6.71e-14ii | -2.55e-14-2.23e-13ii | -.951-1.8e-13ii | -.588-4.71e-16ii | -4.7e-16-2.09e-16ii | 9.7e-16-1.75e-16ii | -6.2e-13+1.82e-13ii | .866-3.34e-15ii | -3.85e-15-3.37e-15ii | 1.4e-15+7.44e-16ii | -7.68e-16-1.36e-15ii | -5.83e-16+4.74e-16ii | 1.08e-15-6.25e-16ii | .866-3.21e-16ii | -1.57e-16-1.11e-16ii | .951-5.66e-16ii | -1.01e-15-4.43e-16ii | 5.72e-16+1.61e-15ii | -4.4e-16-6.64e-16ii | .866-1.6e-15ii | -.866+5.23e-16ii | -.866+2.15e-16ii | -7.72e-14-2.44e-13ii | .588-1.38e-15ii | 8.47e-14-5.37e-15ii | 5.07e-15+5.54e-15ii | -2.48e-13-1.64e-14ii | 2.68e-15+1.31e-15ii | -1.12e-14-1.4e-14ii | -.866-8.81e-14ii | 30 8 o22 : Matrix CC <-- CC 53 53</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i23 : sols = clean(1e-6, sols) -- set to 0 numbers very close to 0 o23 = | -.5 .5 .5 -1 -.866 .866 -.866 0 | | -1 -1 1 -1 0 0 0 0 | | .309 -.809 -.809 .309 .951 .588 -.588 -.951 | | -.809 .309 .309 -.809 .588 -.951 .951 -.588 | | 1 1 1 -1 0 0 0 0 | | 1 -1 -1 -1 0 0 0 0 | | -1 1 1 -1 0 0 0 0 | | -1 .5 -.5 -.5 0 .866 -.866 .866 | | 1 -1 1 1 0 0 0 0 | | -.5 -.5 .5 -1 .866 -.866 .866 0 | | -1 1 -1 1 0 0 0 0 | | -1 1 -1 -1 0 0 0 0 | | -1 1 1 1 0 0 0 0 | | -1 .5 .5 -.5 0 .866 -.866 .866 | | -1 -1 -1 1 0 0 0 0 | | .309 -.809 -.809 .309 -.951 -.588 .588 .951 | | 1 1 -1 -1 0 0 0 0 | | 1 1 1 1 0 0 0 0 | | 1 -1 -1 1 0 0 0 0 | | -.5 .5 .5 -.5 -.866 .866 -.866 .866 | | -1 .5 .5 -.5 0 -.866 .866 -.866 | | -1 .5 -.5 -.5 0 -.866 .866 -.866 | | -1 -1 1 1 0 0 0 0 | | -.809 .309 .309 -.809 -.588 .951 -.951 .588 | | 1 -1 1 -1 0 0 0 0 | | -1 -1 -1 -1 0 0 0 0 | | -.5 .5 .5 -1 .866 -.866 .866 0 | | -.5 -.5 .5 -1 -.866 .866 -.866 0 | | 1 1 -1 1 0 0 0 0 | | -.5 .5 .5 -.5 .866 -.866 .866 -.866 | 30 8 o23 : Matrix CC <-- CC 53 53</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i24 : assert(numrows sols == 30) -- all the solutions in this example are real</code></pre> </td> </tr> <tr> <td> <pre><code class="language-macaulay2">i25 : tally (entries sols)/(p -> identifyStability(Jac, p)) o25 = Tally{Stable => 3 } Unstable => 27 o25 : Tally</code></pre> </td> </tr> </table> <div> <p>For the further analysis of these ideals, see <a title="find the homogeneous quadrics in the homogeneous Kuramoto ideal" href="_osc__Quadrics.html">oscQuadrics</a>.</p> </div> </div> <div> <div> <div> <h2>Authors</h2> <ul> <li><a href="https://johndcobb.github.io">John Cobb</a><span> <<a href="mailto:jdc0173%40auburn.edu">jdc0173@auburn.edu</a>></span></li> <li><a href="http://webhome.auburn.edu/~hks0015">Hal Schenck</a><span> <<a href="mailto:hks0015%40auburn.edu">hks0015@auburn.edu</a>></span></li> <li><a href="http://www.math.cornell.edu/People/Faculty/stillman.html">Michael E. Stillman</a><span> <<a href="mailto:mike%40math.cornell.edu">mike@math.cornell.edu</a>></span></li> </ul> </div> <div> <h2>Version</h2> <p>This documentation describes version <b>1.0</b> of Oscillators, released <b>1 May 2025</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{OscillatorsSource, title = {{Oscillators: code to analyze graph oscillators. Version~1.0}}, author = {John Cobb and Hal Schenck and Michael E. Stillman}, 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>Functions and commands <ul> <li><span><a title="Compute all unique principal minors of a given matrix" href="_all__Unique__Principal__Minors.html">allUniquePrincipalMinors</a> -- Compute all unique principal minors of a given matrix</span></li> <li><span><a title="find real solutions, at least one per component for well-conditioned systems" href="_find__Real__Solutions.html">findRealSolutions</a> -- find real solutions, at least one per component for well-conditioned systems</span></li> <li><span><a title="Compute angles from a list of solutions" href="_get__Angles.html">getAngles</a> -- Compute angles from a list of solutions</span></li> <li><span><a title="Compute linearly stable solutions for the Kuramoto oscillator system associated to a graph" href="_get__Linearly__Stable__Solutions.html">getLinearlyStableSolutions</a> -- Compute linearly stable solutions for the Kuramoto oscillator system associated to a graph</span></li> <li><span><a title="Identify the stability of a list of eigenvalues, or of potential solutions to the oscillator system" href="_identify__Stability.html">identifyStability</a> -- Identify the stability of a list of eigenvalues, or of potential solutions to the oscillator system</span></li> <li><span><a title="Check if a given solution is stable for the Kuramoto oscillator system" href="_is__Stable__Solution.html">isStableSolution</a> -- Check if a given solution is stable for the Kuramoto oscillator system</span></li> <li><span><a title="create the Jacobian for the oscillator system associated to a graph" href="_osc__Jacobian.html">oscJacobian</a> -- create the Jacobian for the oscillator system associated to a graph</span></li> <li><span><a title="find the homogeneous quadrics in the homogeneous Kuramoto ideal" href="_osc__Quadrics.html">oscQuadrics</a> -- find the homogeneous quadrics in the homogeneous Kuramoto ideal</span></li> <li><span><a title="create a polynomial ring for a given graph or number of oscillators" href="_osc__Ring.html">oscRing</a> -- create a polynomial ring for a given graph or number of oscillators</span></li> <li><span><a title="the ideal of the reduced equilibrium points of a dynamical system of oscillators" href="_osc__System.html">oscSystem</a> -- the ideal of the reduced equilibrium points of a dynamical system of oscillators</span></li> <li><span><kbd>getExoticSolutions</kbd> -- see <span><a title="Display exotic solutions: linearly stable solutions which are not all-in-phase solution" href="_show__Exotic__Solutions.html">showExoticSolutions</a> -- Display exotic solutions: linearly stable solutions which are not all-in-phase solution</span></span></li> <li><span><a title="Display exotic solutions: linearly stable solutions which are not all-in-phase solution" href="_show__Exotic__Solutions.html">showExoticSolutions</a> -- Display exotic solutions: linearly stable solutions which are not all-in-phase solution</span></li> <li><span><a title="find the "standard solutions" for the oscillator system associated to a graph" href="_standard__Sols.html">standardSols</a> -- find the "standard solutions" for the oscillator system associated to a graph</span></li> <li><span><a title="computes the vertex spanning polynomial" href="_vertex__Spanning__Polynomial.html">vertexSpanningPolynomial</a> -- computes the vertex spanning polynomial</span></li> </ul> </li> <li>Methods <ul> <li><span><kbd>allUniquePrincipalMinors(Matrix)</kbd> -- see <span><a title="Compute all unique principal minors of a given matrix" href="_all__Unique__Principal__Minors.html">allUniquePrincipalMinors</a> -- Compute all unique principal minors of a given matrix</span></span></li> <li><span><kbd>findRealSolutions(Graph)</kbd> -- see <span><a title="find real solutions, at least one per component for well-conditioned systems" href="_find__Real__Solutions.html">findRealSolutions</a> -- find real solutions, at least one per component for well-conditioned systems</span></span></li> <li><span><kbd>findRealSolutions(Ideal)</kbd> -- see <span><a title="find real solutions, at least one per component for well-conditioned systems" href="_find__Real__Solutions.html">findRealSolutions</a> -- find real solutions, at least one per component for well-conditioned systems</span></span></li> <li><span><kbd>getAngles(ZZ,List)</kbd> -- see <span><a title="Compute angles from a list of solutions" href="_get__Angles.html">getAngles</a> -- Compute angles from a list of solutions</span></span></li> <li><span><kbd>getLinearlyStableSolutions(Graph)</kbd> -- see <span><a title="Compute linearly stable solutions for the Kuramoto oscillator system associated to a graph" href="_get__Linearly__Stable__Solutions.html">getLinearlyStableSolutions</a> -- Compute linearly stable solutions for the Kuramoto oscillator system associated to a graph</span></span></li> <li><span><kbd>identifyStability(BasicList)</kbd> -- see <span><a title="Identify the stability of a list of eigenvalues, or of potential solutions to the oscillator system" href="_identify__Stability.html">identifyStability</a> -- Identify the stability of a list of eigenvalues, or of potential solutions to the oscillator system</span></span></li> <li><span><kbd>identifyStability(Matrix,List)</kbd> -- see <span><a title="Identify the stability of a list of eigenvalues, or of potential solutions to the oscillator system" href="_identify__Stability.html">identifyStability</a> -- Identify the stability of a list of eigenvalues, or of potential solutions to the oscillator system</span></span></li> <li><span><kbd>isStableSolution(Matrix,List)</kbd> -- see <span><a title="Check if a given solution is stable for the Kuramoto oscillator system" href="_is__Stable__Solution.html">isStableSolution</a> -- Check if a given solution is stable for the Kuramoto oscillator system</span></span></li> <li><span><kbd>oscJacobian(Graph)</kbd> -- see <span><a title="create the Jacobian for the oscillator system associated to a graph" href="_osc__Jacobian.html">oscJacobian</a> -- create the Jacobian for the oscillator system associated to a graph</span></span></li> <li><span><kbd>oscJacobian(Graph,Ring)</kbd> -- see <span><a title="create the Jacobian for the oscillator system associated to a graph" href="_osc__Jacobian.html">oscJacobian</a> -- create the Jacobian for the oscillator system associated to a graph</span></span></li> <li><span><kbd>oscJacobian(Ideal)</kbd> -- see <span><a title="create the Jacobian for the oscillator system associated to a graph" href="_osc__Jacobian.html">oscJacobian</a> -- create the Jacobian for the oscillator system associated to a graph</span></span></li> <li><span><kbd>oscQuadrics(Graph)</kbd> -- see <span><a title="find the homogeneous quadrics in the homogeneous Kuramoto ideal" href="_osc__Quadrics.html">oscQuadrics</a> -- find the homogeneous quadrics in the homogeneous Kuramoto ideal</span></span></li> <li><span><kbd>oscQuadrics(Graph,Ring)</kbd> -- see <span><a title="find the homogeneous quadrics in the homogeneous Kuramoto ideal" href="_osc__Quadrics.html">oscQuadrics</a> -- find the homogeneous quadrics in the homogeneous Kuramoto ideal</span></span></li> <li><span><kbd>oscRing(Graph)</kbd> -- see <span><a title="create a polynomial ring for a given graph or number of oscillators" href="_osc__Ring.html">oscRing</a> -- create a polynomial ring for a given graph or number of oscillators</span></span></li> <li><span><kbd>oscRing(ZZ)</kbd> -- see <span><a title="create a polynomial ring for a given graph or number of oscillators" href="_osc__Ring.html">oscRing</a> -- create a polynomial ring for a given graph or number of oscillators</span></span></li> <li><span><kbd>oscSystem(Graph)</kbd> -- see <span><a title="the ideal of the reduced equilibrium points of a dynamical system of oscillators" href="_osc__System.html">oscSystem</a> -- the ideal of the reduced equilibrium points of a dynamical system of oscillators</span></span></li> <li><span><kbd>oscSystem(Graph,Ring)</kbd> -- see <span><a title="the ideal of the reduced equilibrium points of a dynamical system of oscillators" href="_osc__System.html">oscSystem</a> -- the ideal of the reduced equilibrium points of a dynamical system of oscillators</span></span></li> <li><span><kbd>getExoticSolutions(Graph)</kbd> -- see <span><a title="Display exotic solutions: linearly stable solutions which are not all-in-phase solution" href="_show__Exotic__Solutions.html">showExoticSolutions</a> -- Display exotic solutions: linearly stable solutions which are not all-in-phase solution</span></span></li> <li><span><kbd>showExoticSolutions(Graph)</kbd> -- see <span><a title="Display exotic solutions: linearly stable solutions which are not all-in-phase solution" href="_show__Exotic__Solutions.html">showExoticSolutions</a> -- Display exotic solutions: linearly stable solutions which are not all-in-phase solution</span></span></li> <li><span><kbd>standardSols(Graph)</kbd> -- see <span><a title="find the "standard solutions" for the oscillator system associated to a graph" href="_standard__Sols.html">standardSols</a> -- find the "standard solutions" for the oscillator system associated to a graph</span></span></li> <li><span><kbd>standardSols(Graph,Ring)</kbd> -- see <span><a title="find the "standard solutions" for the oscillator system associated to a graph" href="_standard__Sols.html">standardSols</a> -- find the "standard solutions" for the oscillator system associated to a graph</span></span></li> <li><span><kbd>vertexSpanningPolynomial(Graph)</kbd> -- see <span><a title="computes the vertex spanning polynomial" href="_vertex__Spanning__Polynomial.html">vertexSpanningPolynomial</a> -- computes the vertex spanning polynomial</span></span></li> <li><span><kbd>vertexSpanningPolynomial(Graph,Ring)</kbd> -- see <span><a title="computes the vertex spanning polynomial" href="_vertex__Spanning__Polynomial.html">vertexSpanningPolynomial</a> -- computes the vertex spanning polynomial</span></span></li> </ul> </li> <li>Symbols</li> </ul> </div> </div> </div> <div class="waystouse"> <h2>For the programmer</h2> <p>The object <a title="generation and analysis of oscillator steady states for small graphs" href="index.html">Oscillators</a> is <span>a <a title="the class of all packages" href="../../Macaulay2Doc/html/___Package.html">package</a></span>, defined in <span class="tt">Oscillators.m2</span>, with auxiliary files in <span class="tt">Oscillators/</span>.</p> </div> <hr> <div class="waystouse"> <p>The source of this document is in <span class="tt">Oscillators/Documentation.m2:106:0</span>.</p> </div> </div> </div> </body> </html>