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

oscSystem -- the ideal of the reduced equilibrium points of a dynamical system of oscillators

Description

$R$ should be a ring created with oscRing. The dynamical system involved is the oscillator system associated to $G$: one angle per vertex. If $a_{ij} = 1$ if $(i,j)$ is an edge of the undirected graph $G$, and is zero otherwise, then the system is $d\theta_i/dt = \sum_j a_{ij} \sin(\theta_j - \theta_i)$ where we consider only reduced equilibrium solutions $\theta_0 = 0$.

This function returns the ideal of equilibrium points, where angles $(0, \theta_1, ..., \theta_{n-1})$ are represented via cosines and sines of the angles.

i1 : G = graph({0,1,2,3}, {{0,1},{1,2},{2,3},{0,3}})

o1 = Graph{0 => {1, 3}}
           1 => {0, 2}
           2 => {1, 3}
           3 => {0, 2}

o1 : Graph
i2 : oscRing(G, CoefficientRing => CC)

o2 = CC  [x ..x , y ..y ]
       53  0   3   0   3

o2 : PolynomialRing
i3 : R = oo

o3 = R

o3 : PolynomialRing
i4 : I = oscSystem(G,R)

                                                                            
o4 = ideal (x y  + x y  - x y  - x y , - x y  + x y  + x y  - x y , - x y  +
             1 0    3 0    0 1    0 3     1 0    0 1    2 1    1 2     2 1  
     ------------------------------------------------------------------------
                                                       2    2       2    2  
     x y  + x y  - x y , - x y  - x y  + x y  + x y , x  + y  - 1, x  + y  -
      1 2    3 2    2 3     3 0    3 2    0 3    2 3   0    0       1    1  
     ------------------------------------------------------------------------
         2    2       2    2
     1, x  + y  - 1, x  + y  - 1)
         2    2       3    3

o4 : Ideal of R
i5 : netList I_*

     +---------------------------+
o5 = |x y  + x y  - x y  - x y   |
     | 1 0    3 0    0 1    0 3  |
     +---------------------------+
     |- x y  + x y  + x y  - x y |
     |   1 0    0 1    2 1    1 2|
     +---------------------------+
     |- x y  + x y  + x y  - x y |
     |   2 1    1 2    3 2    2 3|
     +---------------------------+
     |- x y  - x y  + x y  + x y |
     |   3 0    3 2    0 3    2 3|
     +---------------------------+
     | 2    2                    |
     |x  + y  - 1                |
     | 0    0                    |
     +---------------------------+
     | 2    2                    |
     |x  + y  - 1                |
     | 1    1                    |
     +---------------------------+
     | 2    2                    |
     |x  + y  - 1                |
     | 2    2                    |
     +---------------------------+
     | 2    2                    |
     |x  + y  - 1                |
     | 3    3                    |
     +---------------------------+

We can find approximations to the 26 complex solutions to this system. If the system has positive dimension (not the case here), the idea is that this set of points should contain at least one on each component.

i6 : solveSystem I_*

o6 = {{-1.00019-.000227*ii, 1.00019+.000227*ii, -1.00019-.000227*ii,
     ------------------------------------------------------------------------
     1.00019+.000227*ii, -.0103604+.0219025*ii, .0103604-.0219025*ii,
     ------------------------------------------------------------------------
     -.0103604+.0219025*ii, .0103604-.0219025*ii}, {1.00019+.000227*ii,
     ------------------------------------------------------------------------
     -1.00019-.000227*ii, 1.00019+.000227*ii, -1.00019-.000227*ii,
     ------------------------------------------------------------------------
     .0103604-.0219025*ii, -.0103604+.0219025*ii, .0103604-.0219025*ii,
     ------------------------------------------------------------------------
     -.0103604+.0219025*ii}, {-.995216+.000703*ii, -.995216+.000703*ii,
     ------------------------------------------------------------------------
     -.995216+.000703*ii, -.995216+.000703*ii, -.0979641-.0071412*ii,
     ------------------------------------------------------------------------
     -.0979641-.0071412*ii, -.0979641-.0071412*ii, -.0979641-.0071412*ii},
     ------------------------------------------------------------------------
     {-1.00019-.000227*ii, -1.00019-.000227*ii, -1.00019-.000227*ii,
     ------------------------------------------------------------------------
     -1.00019-.000227*ii, .0103604-.0219025*ii, .0103604-.0219025*ii,
     ------------------------------------------------------------------------
     .0103604-.0219025*ii, .0103604-.0219025*ii}, {.995216-.000703*ii,
     ------------------------------------------------------------------------
     -.995216+.000703*ii, .995216-.000703*ii, -.995216+.000703*ii,
     ------------------------------------------------------------------------
     -.0979641-.0071412*ii, .0979641+.0071412*ii, -.0979641-.0071412*ii,
     ------------------------------------------------------------------------
     .0979641+.0071412*ii}, {-.995216+.000703*ii, .995216-.000703*ii,
     ------------------------------------------------------------------------
     -.995216+.000703*ii, .995216-.000703*ii, .0979641+.0071412*ii,
     ------------------------------------------------------------------------
     -.0979641-.0071412*ii, .0979641+.0071412*ii, -.0979641-.0071412*ii},
     ------------------------------------------------------------------------
     {1.00019+.000227*ii, 1.00019+.000227*ii, 1.00019+.000227*ii,
     ------------------------------------------------------------------------
     1.00019+.000227*ii, -.0103604+.0219025*ii, -.0103604+.0219025*ii,
     ------------------------------------------------------------------------
     -.0103604+.0219025*ii, -.0103604+.0219025*ii}, {.995216-.000703*ii,
     ------------------------------------------------------------------------
     .995216-.000703*ii, .995216-.000703*ii, .995216-.000703*ii,
     ------------------------------------------------------------------------
     .0979641+.0071412*ii, .0979641+.0071412*ii, .0979641+.0071412*ii,
     ------------------------------------------------------------------------
     .0979641+.0071412*ii}, (-1, -1, 1, -1, 1.28394e-16-2.01992e-16*ii,
     ------------------------------------------------------------------------
     7.81077e-14+4.61181e-14*ii, -1.27632e-16+2.0297e-16*ii,
     ------------------------------------------------------------------------
     -7.78483e-14-4.65229e-14*ii), (-1, -1, -1, 1,
     ------------------------------------------------------------------------
     1.02852e-13+6.27571e-14*ii, 3.77438e-17+5.45235e-17*ii,
     ------------------------------------------------------------------------
     -1.02776e-13-6.26396e-14*ii, -3.78607e-17-5.4737e-17*ii), (-1, 1, -1,
     ------------------------------------------------------------------------
     -1, -1.02852e-13-6.27571e-14*ii, 3.77438e-17+5.45235e-17*ii,
     ------------------------------------------------------------------------
     1.02776e-13+6.26396e-14*ii, -3.78607e-17-5.4737e-17*ii), (1, -1, -1, -1,
     ------------------------------------------------------------------------
     1.28394e-16-2.01992e-16*ii, -7.81077e-14-4.61181e-14*ii,
     ------------------------------------------------------------------------
     -1.27632e-16+2.0297e-16*ii, 7.78483e-14+4.65229e-14*ii), (-1, 1, 1, -1,
     ------------------------------------------------------------------------
     6.9389e-18-6.93889e-17*ii, -2.68882e-17*ii, -6.9389e-18+6.54858e-17*ii,
     ------------------------------------------------------------------------
     2.73219e-17*ii), (1, 1, -1, -1, -4.85723e-17-3.51282e-17*ii,
     ------------------------------------------------------------------------
     -3.46945e-17-2.55872e-17*ii, 3.98986e-17+3.51282e-17*ii,
     ------------------------------------------------------------------------
     2.77556e-17+2.38524e-17*ii), (-1, 1, 1, 1, -1.28394e-16+2.01992e-16*ii,
     ------------------------------------------------------------------------
     7.81077e-14+4.61181e-14*ii, 1.27632e-16-2.0297e-16*ii,
     ------------------------------------------------------------------------
     -7.78483e-14-4.65229e-14*ii), (1, 1, 1, -1, -1.02852e-13-6.27571e-14*ii,
     ------------------------------------------------------------------------
     -3.77438e-17-5.45235e-17*ii, 1.02776e-13+6.26396e-14*ii,
     ------------------------------------------------------------------------
     3.78607e-17+5.4737e-17*ii), (1, 1, -1, 1, -1.28394e-16+2.01992e-16*ii,
     ------------------------------------------------------------------------
     -7.81077e-14-4.61181e-14*ii, 1.27632e-16-2.0297e-16*ii,
     ------------------------------------------------------------------------
     7.78483e-14+4.65229e-14*ii), (1, -1, 1, 1, 1.02852e-13+6.27571e-14*ii,
     ------------------------------------------------------------------------
     -3.77438e-17-5.45235e-17*ii, -1.02776e-13-6.26396e-14*ii,
     ------------------------------------------------------------------------
     3.78607e-17+5.4737e-17*ii), (1, -1, -1, -1, -3.46945e-18-6.50521e-18*ii,
     ------------------------------------------------------------------------
     2.60209e-18+6.50521e-18*ii, 3.46945e-18+6.50521e-18*ii,
     ------------------------------------------------------------------------
     3.46945e-18-4.33681e-19*ii), {1.23909e-13+8.09062e-14*ii, -1.41421,
     ------------------------------------------------------------------------
     -1.23917e-13-8.08826e-14*ii, 1.41421, -1, ii, 1, ii}, {1.41421,
     ------------------------------------------------------------------------
     -2.01005e-12+5.66516e-12*ii, -1.41421, 2.01004e-12-5.66515e-12*ii, ii,
     ------------------------------------------------------------------------
     -1, ii, 1}, {1.23909e-13+8.09062e-14*ii, 1.41421,
     ------------------------------------------------------------------------
     -1.23917e-13-8.08826e-14*ii, -1.41421, 1, ii, -1, ii}, {1.41421,
     ------------------------------------------------------------------------
     1.67038e-12-2.0291e-12*ii, -1.41421, -1.67037e-12+2.02911e-12*ii, -ii,
     ------------------------------------------------------------------------
     1, -ii, -1}, {5.69537e-12+8.40955e-12*ii, -1.41421,
     ------------------------------------------------------------------------
     -5.69536e-12-8.40958e-12*ii, 1.41421, 1, -ii, -1, -ii}, {-1.41421,
     ------------------------------------------------------------------------
     -2.65975e-12+7.91719e-12*ii, 1.41421, 2.65975e-12-7.91719e-12*ii, ii, 1,
     ------------------------------------------------------------------------
     ii, -1}, {5.69537e-12+8.40955e-12*ii, 1.41421,
     ------------------------------------------------------------------------
     -5.69536e-12-8.40958e-12*ii, -1.41421, -1, -ii, 1, -ii}, {-1.41421,
     ------------------------------------------------------------------------
     1.67038e-12-2.0291e-12*ii, 1.41421, -1.67037e-12+2.02911e-12*ii, -ii,
     ------------------------------------------------------------------------
     -1, -ii, 1}, (1, 1, 1, -1, 6.92493e-14+4.44924e-14*ii,
     ------------------------------------------------------------------------
     6.92502e-14+4.44941e-14*ii, 6.92502e-14+4.45011e-14*ii,
     ------------------------------------------------------------------------
     -6.92502e-14-4.44957e-14*ii), (1, -1, -1, -1,
     ------------------------------------------------------------------------
     -1.96718e-16+1.14793e-16*ii, 7.73747e-14+4.61655e-14*ii,
     ------------------------------------------------------------------------
     1.96644e-16-1.14469e-16*ii, -7.69827e-14-4.63941e-14*ii), (-1, 1, -1,
     ------------------------------------------------------------------------
     -1, 5.66856e-14+3.3401e-14*ii, -1.08135e-16+1.57701e-17*ii,
     ------------------------------------------------------------------------
     -5.64652e-14-3.3419e-14*ii, 1.08723e-16-1.52149e-17*ii), (-1, -1, -1, 1,
     ------------------------------------------------------------------------
     -5.66856e-14-3.3401e-14*ii, -1.08135e-16+1.57701e-17*ii,
     ------------------------------------------------------------------------
     5.64652e-14+3.3419e-14*ii, 1.08723e-16-1.52149e-17*ii), (-1, -1, 1, -1,
     ------------------------------------------------------------------------
     -1.96718e-16+1.14793e-16*ii, -7.73747e-14-4.61655e-14*ii,
     ------------------------------------------------------------------------
     1.96644e-16-1.14469e-16*ii, 7.69827e-14+4.63941e-14*ii), (1, -1, -1, -1,
     ------------------------------------------------------------------------
     5.20417e-18+1.30104e-18*ii, -5.20417e-18-3.46945e-18*ii,
     ------------------------------------------------------------------------
     -5.20417e-18-1.30104e-18*ii, -5.20417e-18-1.30104e-18*ii), (-1, -1, 1,
     ------------------------------------------------------------------------
     -1, -3.46945e-18-6.50521e-18*ii, -2.60209e-18-6.50521e-18*ii,
     ------------------------------------------------------------------------
     3.46945e-18+6.50521e-18*ii, -3.46945e-18+4.33681e-19*ii), (-1, 1, 1, 1,
     ------------------------------------------------------------------------
     -5.20417e-18-8.67362e-19*ii, 5.20417e-18+4.33681e-19*ii,
     ------------------------------------------------------------------------
     5.20417e-18+8.67362e-19*ii, 5.20417e-18+4.33681e-19*ii), (1, -1, 1, 1,
     ------------------------------------------------------------------------
     2.25514e-17+1.9082e-17*ii, -2.77556e-17-1.82146e-17*ii,
     ------------------------------------------------------------------------
     2.77556e-17+1.82146e-17*ii, 2.77556e-17+1.47451e-17*ii), (1, 1, -1, 1,
     ------------------------------------------------------------------------
     1.96718e-16-1.14793e-16*ii, 7.73747e-14+4.61655e-14*ii,
     ------------------------------------------------------------------------
     -1.96644e-16+1.14469e-16*ii, -7.69827e-14-4.63941e-14*ii), (1, -1, 1, 1,
     ------------------------------------------------------------------------
     -5.66856e-14-3.3401e-14*ii, 1.08135e-16-1.57701e-17*ii,
     ------------------------------------------------------------------------
     5.64652e-14+3.3419e-14*ii, -1.08723e-16+1.52149e-17*ii), (-1, 1, 1, 1,
     ------------------------------------------------------------------------
     1.96718e-16-1.14793e-16*ii, -7.73747e-14-4.61655e-14*ii,
     ------------------------------------------------------------------------
     -1.96644e-16+1.14469e-16*ii, 7.69827e-14+4.63941e-14*ii), (1, 1, 1, -1,
     ------------------------------------------------------------------------
     5.66856e-14+3.3401e-14*ii, 1.08135e-16-1.57701e-17*ii,
     ------------------------------------------------------------------------
     -5.64652e-14-3.3419e-14*ii, -1.08723e-16+1.52149e-17*ii), (-1, -1, -1,
     ------------------------------------------------------------------------
     1, 2.25514e-17+1.9082e-17*ii, 2.77556e-17+1.82146e-17*ii,
     ------------------------------------------------------------------------
     2.77556e-17+1.82146e-17*ii, -2.77556e-17-1.47451e-17*ii),
     ------------------------------------------------------------------------
     {-5.69537e-12-8.40955e-12*ii, 1.41421, 5.69536e-12+8.40958e-12*ii,
     ------------------------------------------------------------------------
     -1.41421, -1, ii, 1, ii}, {-1.41421, -1.67038e-12+2.0291e-12*ii,
     ------------------------------------------------------------------------
     1.41421, 1.67037e-12-2.02911e-12*ii, ii, -1, ii, 1},
     ------------------------------------------------------------------------
     {-5.69537e-12-8.40955e-12*ii, -1.41421, 5.69536e-12+8.40958e-12*ii,
     ------------------------------------------------------------------------
     1.41421, 1, ii, -1, ii}, {-1.41421, 2.65975e-12-7.91719e-12*ii, 1.41421,
     ------------------------------------------------------------------------
     -2.65975e-12+7.91719e-12*ii, -ii, 1, -ii, -1},
     ------------------------------------------------------------------------
     {-1.23909e-13-8.09062e-14*ii, 1.41421, 1.23917e-13+8.08826e-14*ii,
     ------------------------------------------------------------------------
     -1.41421, 1, -ii, -1, -ii}, {-1.23909e-13-8.09062e-14*ii, -1.41421,
     ------------------------------------------------------------------------
     1.23917e-13+8.08826e-14*ii, 1.41421, -1, -ii, 1, -ii}, {1.41421,
     ------------------------------------------------------------------------
     -1.67038e-12+2.0291e-12*ii, -1.41421, 1.67037e-12-2.02911e-12*ii, ii, 1,
     ------------------------------------------------------------------------
     ii, -1}, {1.41421, 2.01005e-12-5.66516e-12*ii, -1.41421,
     ------------------------------------------------------------------------
     -2.01004e-12+5.66515e-12*ii, -ii, -1, -ii, 1}, (1, 1, -1, 1,
     ------------------------------------------------------------------------
     -5.20417e-18-8.67362e-19*ii, -5.20417e-18-4.33681e-19*ii,
     ------------------------------------------------------------------------
     5.20417e-18+8.67362e-19*ii, -5.20417e-18-4.33681e-19*ii), (-1, 1, 1, 1,
     ------------------------------------------------------------------------
     -6.92094e-14-4.45655e-14*ii, 6.92094e-14+4.45785e-14*ii,
     ------------------------------------------------------------------------
     6.92094e-14+4.45794e-14*ii, 6.92094e-14+4.45802e-14*ii)}

o6 : List
i7 : #oo

o7 = 51

We can find approximations to the 6 real solutions to this system.

i8 : findRealSolutions I
warning: some solutions are not regular: {4, 5, 6, 7, 8, 9, 10, 19, 20, 21, 22, 23, 24, 25, 26}

o8 = {{-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, -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, 1, 1, 1, 0,
     ------------------------------------------------------------------------
     0, 0, 0}}

o8 : List
i9 : #oo

o9 = 13

The angles of these solutions (in degrees, not radians, and the 3 refers to the number of oscillators).

i10 : netList getAngles(3, findRealSolutions I, Radians=>false)
warning: some solutions are not regular: {8, 9, 10, 11, 12, 13, 14, 15, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 45}

      +---+---+---+
o10 = |225|180|0  |
      +---+---+---+
      |135|180|180|
      +---+---+---+
      |225|0  |180|
      +---+---+---+
      |315|180|180|
      +---+---+---+
      |135|0  |0  |
      +---+---+---+
      |315|0  |0  |
      +---+---+---+
      |45 |0  |180|
      +---+---+---+
      |45 |180|0  |
      +---+---+---+
      |45 |180|0  |
      +---+---+---+
      |315|180|180|
      +---+---+---+
      |225|0  |180|
      +---+---+---+
      |135|180|180|
      +---+---+---+
      |225|180|0  |
      +---+---+---+
      |315|180|180|
      +---+---+---+
      |225|0  |180|
      +---+---+---+
      |315|0  |180|
      +---+---+---+
      |45 |0  |180|
      +---+---+---+
      |45 |180|0  |
      +---+---+---+
      |135|0  |0  |
      +---+---+---+
      |315|0  |0  |
      +---+---+---+
      |225|0  |180|
      +---+---+---+
      |45 |0  |180|
      +---+---+---+

See also

Ways to use oscSystem:

  • oscSystem(Graph)
  • oscSystem(Graph,Ring)

For the programmer

The object oscSystem is a method function with options.


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