Macaulay2 » Documentation
Packages » Oscillators :: Oscillators
next | previous | forward | backward | up | index | toc

Oscillators -- generation and analysis of oscillator steady states for small graphs

Description

This package supports computations with Kuramoto oscillators, including computations for the paper [HSS], Harrington, Schenck, Stillman, Algebraic aspects of homogeneous Kuramoto oscillators. For a list of functions, and links to their documentation nodes, see the end of this page.

Computations from the paper [HSS]

We show a possible workflow using this package. We use NautyGraphs to generate graphs of small size. We use Visualize to look at these graphs.

i1 : needsPackage "Oscillators";
i2 : needsPackage "NautyGraphs";
i3 : needsPackage "Visualize";

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.

i4 : Gstrs = generateGraphs(5, OnlyConnected => true, MinDegree => 2);
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
i6 : Gcycle5 = Gs_3

o6 = Graph{0 => {2, 3}}
           1 => {3, 4}
           2 => {0, 4}
           3 => {0, 1}
           4 => {2, 1}

o6 : Graph

We can also create the graph directly.

i7 : Gcycle5 == graph{{0,1},{1,2},{2,3},{3,4},{4,0}}

o7 = true

To visualize this graph, use the following lines. You have to click on End session in the browser to get back to Macaulay2.

openPort "8083"
visualize Gcycle5 -- important: click on End session in browser window before continuing
closePort()

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.

i8 : printingPrecision = 3

o8 = 3
i9 : G = Gcycle5

o9 = Graph{0 => {2, 3}}
           1 => {3, 4}
           2 => {0, 4}
           3 => {0, 1}
           4 => {2, 1}

o9 : Graph
i10 : R = oscRing(G, CoefficientRing => CC, Reduced => true)

o10 = R

o10 : PolynomialRing
i11 : I = oscSystem(G, R);

o11 : Ideal of R
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                    |
      +---------------------------+
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
i14 : realsols = findRealSolutions I;
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 |
      +-----+-----+-----+-----+-----+-----+-----+-----+
i16 : assert(# realsols == 30)
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
i18 : tally realsols/(p -> identifyStability(Jac, p))

o18 = Tally{Stable => 3   }
            Unstable => 27

o18 : Tally
i19 : getAngles(4, stablesols, Radians=>false)

o19 = {{0, 0, 0, 0}, {144, 288, 72, 216}, {216, 72, 288, 144}}

o19 : List
i20 : sols = solveSystem I_*;
i21 : sols = sols/coordinates;
i22 : sols = matrix sols -- every row is a solution

o22 = | -.5-3.8e-14ii    .5-2.89e-14ii    .5-2.59e-14ii    -1+1.62e-14ii   
      | -1-3.87e-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.07e-13ii 
      | -.809-7.37e-16ii .309+2.84e-15ii  .309+6.64e-17ii  -.809+2.13e-15ii
      | 1-2.92e-16ii     1+6.71e-17ii     1+4.79e-16ii     -1-5.67e-17ii   
      | 1+8.89e-17ii     -1-1.07e-16ii    -1-4.81e-17ii    -1+2.03e-16ii   
      | -1-1.2e-13ii     1-2.71e-13ii     1+2.41e-13ii     -1-3.73e-13ii   
      | -1+2.6e-16ii     .5-3.38e-15ii    -.5+8.78e-15ii   -.5-4.15e-15ii  
      | 1-1.24e-17ii     -1-9.56e-17ii    1+1.42e-16ii     1-1.32e-16ii    
      | -.5-4.58e-16ii   -.5+2.59e-16ii   .5-4.82e-16ii    -1+7.02e-16ii   
      | -1+2.11e-16ii    1+9.18e-17ii     -1-2.39e-16ii    1+5.68e-17ii    
      | -1-1.39e-16ii    1+1.14e-16ii     -1+9.16e-17ii    -1+2.15e-16ii   
      | -1+4.02e-16ii    1+5.91e-18ii     1+3.74e-16ii     1+2.09e-16ii    
      | -1+1.75e-16ii    .5-4.95e-16ii    .5+3.25e-16ii    -.5-4.65e-16ii  
      | -1+3.3e-16ii     -1-1.33e-16ii    -1-3.13e-16ii    1+1.04e-16ii    
      | .309-1.45e-15ii  -.809-9.84e-16ii -.809-5.15e-16ii .309+2.19e-15ii 
      | 1-6.41e-16ii     1+2.16e-16ii     -1-2.02e-16ii    -1-2.81e-17ii   
      | 1-1.2e-16ii      1+1.05e-16ii     1+3.64e-16ii     1-2.36e-16ii    
      | 1-8.69e-17ii     -1-6.17e-17ii    -1-2.39e-16ii    1-1.52e-16ii    
      | -.5+4.47e-15ii   .5-3.14e-15ii    .5+2.83e-15ii    -.5-4.22e-15ii  
      | -1+1.06e-15ii    .5+9.4e-16ii     .5+8.4e-16ii     -.5+1.4e-15ii   
      | -1+1.18e-16ii    .5+5.59e-16ii    -.5+4.29e-18ii   -.5+6.85e-16ii  
      | -1+2.52e-15ii    -1+5.29e-15ii    1+5.65e-14ii     1-8.45e-14ii    
      | -.809+3.25e-15ii .309-3.01e-15ii  .309+1.58e-15ii  -.809-2.9e-15ii 
      | 1+8.34e-14ii     -1-4.03e-14ii    1+1.78e-14ii     -1-2.79e-14ii   
      | -1+5.18e-16ii    -1+2.73e-15ii    -1-1.02e-16ii    -1-3.29e-16ii   
      | -.5+1.56e-14ii   .5-6.05e-14ii    .5+1.07e-13ii    -1-7.68e-15ii   
      | -.5+7.58e-16ii   -.5+2.68e-15ii   .5+1.72e-16ii    -1+5.89e-16ii   
      | 1+1.26e-15ii     1+9.79e-18ii     -1-3.6e-16ii     1+3.92e-16ii    
      | -.5+1.09e-13ii   .5+6.27e-14ii    .5+7.68e-14ii    -.5+1.1e-13ii   
      -----------------------------------------------------------------------
      -.866+3.25e-14ii     .866+1.26e-14ii      -.866-1.11e-14ii    
      -1.15e-13+2.06e-13ii -2.05e-14-2.77e-13ii 2.13e-14+2.77e-13ii 
      .951+4.74e-13ii      .588+2.54e-13ii      -.588-2.54e-13ii    
      .588-1.38e-15ii      -.951+8.54e-16ii     .951+5.34e-16ii     
      1.49e-15+5.01e-17ii  -2.26e-16+1.38e-15ii 1e-15-1.33e-16ii    
      -6.72e-16+7.94e-17ii 6.61e-16+6.2e-16ii   4.47e-16-1.79e-16ii 
      1.38e-13-4.3e-13ii   -5.63e-13+1.36e-13ii 5.63e-13-1.35e-13ii 
      -7.29e-15-5.46e-15ii .866+7.45e-16ii      -.866-2.86e-16ii    
      -7.33e-16-9.93e-16ii 7.68e-16+9.78e-16ii  -2.82e-16-6.15e-16ii
      .866+2.35e-16ii      -.866-4.24e-16ii     .866+1.29e-16ii     
      2.91e-16+8.17e-17ii  -8.95e-17-4.93e-16ii 5.88e-16+1.54e-15ii 
      1.2e-16-1.27e-16ii   -5.28e-17+6.09e-16ii 8.7e-16-7.18e-16ii  
      -1.61e-16-6.02e-17ii 5.99e-16+2.64e-18ii  -4.82e-16+6e-16ii   
      2.59e-16-1.27e-16ii  .866+4.17e-16ii      -.866+2.55e-18ii    
      1.65e-16-3.9e-16ii   5.24e-16+2.29e-16ii  2.84e-16+8.24e-16ii 
      -.951+5.67e-16ii     -.588+1.3e-15ii      .588+6.99e-16ii     
      5.17e-16+2.15e-16ii  6.04e-16+9.77e-16ii  -1.47e-16-3.74e-17ii
      8.48e-16+9.45e-16ii  1.1e-15+6.68e-16ii   4.98e-16+3.68e-16ii 
      -4.37e-16-4.08e-16ii 5.26e-16+1.39e-16ii  3.45e-16+2.05e-16ii 
      -.866-1.17e-15ii     .866+2e-15ii         -.866+5.28e-16ii    
      1.21e-15+2.68e-15ii  -.866+6.11e-16ii     .866+5.39e-16ii     
      -3.33e-17-4.19e-16ii -.866+2.44e-16ii     .866+1.92e-16ii     
      -3.43e-14+3.5e-13ii  3.35e-14+1.35e-13ii  -3.26e-14-1.34e-13ii
      -.588-3.48e-15ii     .951+1.14e-15ii      -.951+2.3e-16ii     
      -1.09e-13-5.24e-14ii 8.19e-14+1.25e-15ii  -8.17e-14-6.92e-16ii
      2.63e-15-4.35e-16ii  2e-16+7.07e-15ii     9.48e-16-5.81e-15ii 
      .866-3.11e-14ii      -.866+6.35e-15ii     .866-5.16e-15ii     
      -.866-1.33e-16ii     .866+1.01e-15ii      -.866-2.06e-16ii    
      -1.42e-14-2.74e-14ii -6.09e-15-8.75e-15ii 6.72e-15+9.85e-15ii 
      .866+1.12e-13ii      -.866+3.05e-14ii     .866-3.04e-14ii     
      -----------------------------------------------------------------------
      -1.73e-14+6.3e-14ii  |
      -2.48e-14-2.23e-13ii |
      -.951-1.8e-13ii      |
      -.588-2.94e-15ii     |
      -7.53e-16-5.23e-16ii |
      6.62e-16-2.13e-16ii  |
      -6.2e-13+1.82e-13ii  |
      .866-3.85e-15ii      |
      -1.06e-15-1.8e-15ii  |
      1.76e-15-9.24e-16ii  |
      -5.98e-16-1.26e-15ii |
      -6.4e-16+4.72e-16ii  |
      8.16e-16-1.67e-16ii  |
      .866-2.75e-16ii      |
      -1.6e-16-2.62e-16ii  |
      .951-9.25e-17ii      |
      -1.02e-15-3.09e-16ii |
      8.67e-16+1.25e-15ii  |
      -4.09e-16-4.13e-16ii |
      .866-1.89e-15ii      |
      -.866+2.9e-16ii      |
      -.866-3.15e-16ii     |
      -7.74e-14-2.44e-13ii |
      .588-3.79e-15ii      |
      8.43e-14-4.75e-15ii  |
      5.27e-15+5.68e-15ii  |
      -2.48e-13-1.61e-14ii |
      5.13e-15+1.09e-16ii  |
      -1.19e-14-1.43e-14ii |
      -.866-8.65e-14ii     |

                 30         8
o22 : Matrix CC     <-- CC
               53         53
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
i24 : assert(numrows sols == 30) -- all the solutions in this example are real
i25 : tally (entries sols)/(p -> identifyStability(Jac, p))

o25 = Tally{Stable => 3   }
            Unstable => 27

o25 : Tally

For the further analysis of these ideals, see oscQuadrics.

Authors

Version

This documentation describes version 1.0 of Oscillators.

Citation

If you have used this package in your research, please cite it as follows:

@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/master/M2/Macaulay2/packages}}
}

Exports

  • Functions and commands
    • allUniquePrincipalMinors -- Compute all unique principal minors of a given matrix
    • findRealSolutions -- find real solutions, at least one per component for well-conditioned systems
    • getAngles -- Compute angles from a list of solutions
    • getLinearlyStableSolutions -- Compute linearly stable solutions for the Kuramoto oscillator system associated to a graph
    • identifyStability -- Identify the stability of a list of eigenvalues, or of potential solutions to the oscillator system
    • isStableSolution -- Check if a given solution is stable for the Kuramoto oscillator system
    • oscJacobian -- create the Jacobian for the oscillator system associated to a graph
    • oscQuadrics -- find the homogeneous quadrics in the homogeneous Kuramoto ideal
    • oscRing -- create a polynomial ring for a given graph or number of oscillators
    • oscSystem -- the ideal of the reduced equilibrium points of a dynamical system of oscillators
    • getExoticSolutions -- see showExoticSolutions -- Display exotic solutions: linearly stable solutions which are not all-in-phase solution
    • showExoticSolutions -- Display exotic solutions: linearly stable solutions which are not all-in-phase solution
    • standardSols -- find the "standard solutions" for the oscillator system associated to a graph
    • vertexSpanningPolynomial -- computes the vertex spanning polynomial
  • Methods
    • allUniquePrincipalMinors(Matrix) -- see allUniquePrincipalMinors -- Compute all unique principal minors of a given matrix
    • findRealSolutions(Graph) -- see findRealSolutions -- find real solutions, at least one per component for well-conditioned systems
    • findRealSolutions(Ideal) -- see findRealSolutions -- find real solutions, at least one per component for well-conditioned systems
    • getAngles(ZZ,List) -- see getAngles -- Compute angles from a list of solutions
    • getLinearlyStableSolutions(Graph) -- see getLinearlyStableSolutions -- Compute linearly stable solutions for the Kuramoto oscillator system associated to a graph
    • identifyStability(BasicList) -- see identifyStability -- Identify the stability of a list of eigenvalues, or of potential solutions to the oscillator system
    • identifyStability(Matrix,List) -- see identifyStability -- Identify the stability of a list of eigenvalues, or of potential solutions to the oscillator system
    • isStableSolution(Matrix,List) -- see isStableSolution -- Check if a given solution is stable for the Kuramoto oscillator system
    • oscJacobian(Graph) -- see oscJacobian -- create the Jacobian for the oscillator system associated to a graph
    • oscJacobian(Graph,Ring) -- see oscJacobian -- create the Jacobian for the oscillator system associated to a graph
    • oscJacobian(Ideal) -- see oscJacobian -- create the Jacobian for the oscillator system associated to a graph
    • oscQuadrics(Graph) -- see oscQuadrics -- find the homogeneous quadrics in the homogeneous Kuramoto ideal
    • oscQuadrics(Graph,Ring) -- see oscQuadrics -- find the homogeneous quadrics in the homogeneous Kuramoto ideal
    • oscRing(Graph) -- see oscRing -- create a polynomial ring for a given graph or number of oscillators
    • oscRing(ZZ) -- see oscRing -- create a polynomial ring for a given graph or number of oscillators
    • oscSystem(Graph) -- see oscSystem -- the ideal of the reduced equilibrium points of a dynamical system of oscillators
    • oscSystem(Graph,Ring) -- see oscSystem -- the ideal of the reduced equilibrium points of a dynamical system of oscillators
    • getExoticSolutions(Graph) -- see showExoticSolutions -- Display exotic solutions: linearly stable solutions which are not all-in-phase solution
    • showExoticSolutions(Graph) -- see showExoticSolutions -- Display exotic solutions: linearly stable solutions which are not all-in-phase solution
    • standardSols(Graph) -- see standardSols -- find the "standard solutions" for the oscillator system associated to a graph
    • standardSols(Graph,Ring) -- see standardSols -- find the "standard solutions" for the oscillator system associated to a graph
    • vertexSpanningPolynomial(Graph) -- see vertexSpanningPolynomial -- computes the vertex spanning polynomial
    • vertexSpanningPolynomial(Graph,Ring) -- see vertexSpanningPolynomial -- computes the vertex spanning polynomial
  • Symbols

For the programmer

The object Oscillators is a package, defined in Oscillators.m2, with auxiliary files in Oscillators/.


The source of this document is in Oscillators/Documentation.m2:106:0.