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.00001+.000060*ii, -1.00001+.000060*ii, -1.00001+.000060*ii,
     ------------------------------------------------------------------------
     -1.00001+.000060*ii, .00706999+.00851243*ii, .00706999+.00851243*ii,
     ------------------------------------------------------------------------
     .00706999+.00851243*ii, .00706999+.00851243*ii}, {1.00001-.000060*ii,
     ------------------------------------------------------------------------
     -1.00001+.000060*ii, 1.00001-.000060*ii, -1.00001+.000060*ii,
     ------------------------------------------------------------------------
     .00706999+.00851243*ii, -.00706999-.00851243*ii, .00706999+.00851243*ii,
     ------------------------------------------------------------------------
     -.00706999-.00851243*ii}, {-1.00001+.000060*ii, 1.00001-.000060*ii,
     ------------------------------------------------------------------------
     -1.00001+.000060*ii, 1.00001-.000060*ii, -.00706999-.00851243*ii,
     ------------------------------------------------------------------------
     .00706999+.00851243*ii, -.00706999-.00851243*ii,
     ------------------------------------------------------------------------
     .00706999+.00851243*ii}, {1.00001-.000060*ii, 1.00001-.000060*ii,
     ------------------------------------------------------------------------
     1.00001-.000060*ii, 1.00001-.000060*ii, -.00706983-.00851152*ii,
     ------------------------------------------------------------------------
     -.00706983-.00851152*ii, -.00706983-.00851152*ii,
     ------------------------------------------------------------------------
     -.00706983-.00851152*ii}, (-1, -1, 1, -1, 5.32472e-15-1.15308e-14*ii,
     ------------------------------------------------------------------------
     4.50584e-14+4.58986e-15*ii, -5.3247e-15+1.15306e-14*ii,
     ------------------------------------------------------------------------
     -3.44091e-14-2.76509e-14*ii), (-1, -1, -1, 1,
     ------------------------------------------------------------------------
     7.96769e-15+1.43751e-14*ii, -1.14359e-15+4.1837e-15*ii,
     ------------------------------------------------------------------------
     -1.02602e-14-6.00952e-15*ii, 1.1437e-15-4.18371e-15*ii), (-1, 1, -1, -1,
     ------------------------------------------------------------------------
     -7.96769e-15-1.43751e-14*ii, -1.14359e-15+4.1837e-15*ii,
     ------------------------------------------------------------------------
     1.02602e-14+6.00952e-15*ii, 1.1437e-15-4.18371e-15*ii), (1, -1, -1, -1,
     ------------------------------------------------------------------------
     -1.18308e-12+1.29024e-12*ii, -1.9082e-17*ii,
     ------------------------------------------------------------------------
     -1.18305e-12+1.29025e-12*ii, 7.80626e-17+1.12757e-17*ii), (1, -1, -1, 1,
     ------------------------------------------------------------------------
     1.9082e-17-1.12757e-17*ii, 2.94903e-17-7.80626e-18*ii,
     ------------------------------------------------------------------------
     -1.38778e-17+1.12757e-17*ii, -3.1225e-17+8.67362e-18*ii), (1, 1, -1, -1,
     ------------------------------------------------------------------------
     -1.9082e-17+1.12757e-17*ii, 2.94903e-17-7.80626e-18*ii,
     ------------------------------------------------------------------------
     1.38778e-17-1.12757e-17*ii, -3.1225e-17+8.67362e-18*ii), (-1, -1, 1, 1,
     ------------------------------------------------------------------------
     -3.1225e-17+4.0766e-17*ii, 3.46945e-17-4.2067e-17*ii,
     ------------------------------------------------------------------------
     3.1225e-17-4.0766e-17*ii, -3.46945e-17+4.11997e-17*ii), (-1, 1, 1, -1,
     ------------------------------------------------------------------------
     -1.9082e-17+1.12757e-17*ii, -2.94903e-17+7.80626e-18*ii,
     ------------------------------------------------------------------------
     1.38778e-17-1.12757e-17*ii, 3.1225e-17-8.67362e-18*ii), (-1, -1, 1, 1,
     ------------------------------------------------------------------------
     1.9082e-17-1.12757e-17*ii, -2.94903e-17+7.80626e-18*ii,
     ------------------------------------------------------------------------
     -1.38778e-17+1.12757e-17*ii, 3.1225e-17-8.67362e-18*ii), (-1, 1, 1, 1,
     ------------------------------------------------------------------------
     -5.32472e-15+1.15308e-14*ii, 4.50584e-14+4.58986e-15*ii,
     ------------------------------------------------------------------------
     5.3247e-15-1.15306e-14*ii, -3.44091e-14-2.76509e-14*ii), (1, 1, 1, -1,
     ------------------------------------------------------------------------
     -7.96769e-15-1.43751e-14*ii, 1.14359e-15-4.1837e-15*ii,
     ------------------------------------------------------------------------
     1.02602e-14+6.00952e-15*ii, -1.1437e-15+4.18371e-15*ii), (1, 1, -1, 1,
     ------------------------------------------------------------------------
     -5.32472e-15+1.15308e-14*ii, -4.50584e-14-4.58986e-15*ii,
     ------------------------------------------------------------------------
     5.3247e-15-1.15306e-14*ii, 3.44091e-14+2.76509e-14*ii), (1, -1, 1, 1,
     ------------------------------------------------------------------------
     7.96769e-15+1.43751e-14*ii, 1.14359e-15-4.1837e-15*ii,
     ------------------------------------------------------------------------
     -1.02602e-14-6.00952e-15*ii, -1.1437e-15+4.18371e-15*ii),
     ------------------------------------------------------------------------
     {4.15075e-12+2.24112e-12*ii, -1.41421, -4.15076e-12-2.24112e-12*ii,
     ------------------------------------------------------------------------
     1.41421, -1, ii, 1, ii}, {1.41421, -2.17204e-12-2.26715e-12*ii,
     ------------------------------------------------------------------------
     -1.41421, 2.17203e-12+2.26716e-12*ii, ii, -1, ii, 1},
     ------------------------------------------------------------------------
     {4.15075e-12+2.24112e-12*ii, 1.41421, -4.15076e-12-2.24112e-12*ii,
     ------------------------------------------------------------------------
     -1.41421, 1, ii, -1, ii}, {1.41421, -1.23484e-12-1.24533e-12*ii,
     ------------------------------------------------------------------------
     -1.41421, 1.23485e-12+1.24534e-12*ii, -ii, 1, -ii, -1},
     ------------------------------------------------------------------------
     {-1.90281e-12-1.66113e-12*ii, -1.41421, 1.90282e-12+1.66111e-12*ii,
     ------------------------------------------------------------------------
     1.41421, 1, -ii, -1, -ii}, {-1.41421, 1.64387e-12-1.98102e-12*ii,
     ------------------------------------------------------------------------
     1.41421, -1.64387e-12+1.98105e-12*ii, ii, 1, ii, -1},
     ------------------------------------------------------------------------
     {-1.90281e-12-1.66113e-12*ii, 1.41421, 1.90282e-12+1.66111e-12*ii,
     ------------------------------------------------------------------------
     -1.41421, -1, -ii, 1, -ii}, {-1.41421, -1.23484e-12-1.24533e-12*ii,
     ------------------------------------------------------------------------
     1.41421, 1.23485e-12+1.24534e-12*ii, -ii, -1, -ii, 1}, (1, -1, 1, 1,
     ------------------------------------------------------------------------
     6.93143e-14+4.45887e-14*ii, -6.93143e-14-4.45768e-14*ii,
     ------------------------------------------------------------------------
     6.93109e-14+4.45703e-14*ii, 6.93143e-14+4.45768e-14*ii), (1, 1, 1, -1,
     ------------------------------------------------------------------------
     1.13586e-15+2.15583e-14*ii, 1.1357e-15+2.15578e-14*ii,
     ------------------------------------------------------------------------
     1.13608e-15+2.15582e-14*ii, -1.13565e-15-2.1558e-14*ii), (1, -1, -1, -1,
     ------------------------------------------------------------------------
     5.01795e-17-5.89322e-16*ii, 5.69939e-14+3.43853e-14*ii,
     ------------------------------------------------------------------------
     -4.93969e-17+5.89934e-16*ii, -5.71045e-14-3.32009e-14*ii), (-1, 1, -1,
     ------------------------------------------------------------------------
     -1, 5.64787e-14+1.09585e-14*ii, -2.46098e-14-3.35493e-15*ii,
     ------------------------------------------------------------------------
     -7.259e-15-4.25151e-15*ii, 2.46098e-14+3.35497e-15*ii), (-1, -1, -1, 1,
     ------------------------------------------------------------------------
     -5.64787e-14-1.09585e-14*ii, -2.46098e-14-3.35493e-15*ii,
     ------------------------------------------------------------------------
     7.259e-15+4.25151e-15*ii, 2.46098e-14+3.35497e-15*ii), (-1, -1, 1, -1,
     ------------------------------------------------------------------------
     5.01795e-17-5.89322e-16*ii, -5.69939e-14-3.43853e-14*ii,
     ------------------------------------------------------------------------
     -4.93969e-17+5.89934e-16*ii, 5.71045e-14+3.32009e-14*ii), (-1, -1, 1, 1,
     ------------------------------------------------------------------------
     -6.92051e-14-4.44957e-14*ii, -6.92033e-14-4.44915e-14*ii,
     ------------------------------------------------------------------------
     6.92051e-14+4.44957e-14*ii, 6.92033e-14+4.44915e-14*ii), (-1, 1, 1, -1,
     ------------------------------------------------------------------------
     -1.21431e-17-2.1684e-18*ii, 1.21431e-17+4.3368e-19*ii,
     ------------------------------------------------------------------------
     1.21431e-17+2.1684e-18*ii, -1.21431e-17-4.3368e-19*ii), (1, 1, 1, -1,
     ------------------------------------------------------------------------
     -1.42839e-14-9.69775e-15*ii, -1.42839e-14-9.69878e-15*ii,
     ------------------------------------------------------------------------
     -1.42848e-14-9.69868e-15*ii, 1.42839e-14+9.70052e-15*ii), (1, -1, 1, 1,
     ------------------------------------------------------------------------
     2.60209e-17+2.08167e-17*ii, -2.42861e-17-2.08167e-17*ii,
     ------------------------------------------------------------------------
     2.42861e-17+7.80626e-18*ii, 2.42861e-17+2.1684e-17*ii), (1, 1, -1, 1,
     ------------------------------------------------------------------------
     -5.01795e-17+5.89322e-16*ii, 5.69939e-14+3.43853e-14*ii,
     ------------------------------------------------------------------------
     4.93969e-17-5.89934e-16*ii, -5.71045e-14-3.32009e-14*ii), (1, -1, 1, 1,
     ------------------------------------------------------------------------
     -5.64787e-14-1.09585e-14*ii, 2.46098e-14+3.35493e-15*ii,
     ------------------------------------------------------------------------
     7.259e-15+4.25151e-15*ii, -2.46098e-14-3.35497e-15*ii), (-1, 1, 1, 1,
     ------------------------------------------------------------------------
     -5.01795e-17+5.89322e-16*ii, -5.69939e-14-3.43853e-14*ii,
     ------------------------------------------------------------------------
     4.93969e-17-5.89934e-16*ii, 5.71045e-14+3.32009e-14*ii), (1, 1, 1, -1,
     ------------------------------------------------------------------------
     5.64787e-14+1.09585e-14*ii, 2.46098e-14+3.35493e-15*ii,
     ------------------------------------------------------------------------
     -7.259e-15-4.25151e-15*ii, -2.46098e-14-3.35497e-15*ii),
     ------------------------------------------------------------------------
     {1.90281e-12+1.66113e-12*ii, 1.41421, -1.90282e-12-1.66111e-12*ii,
     ------------------------------------------------------------------------
     -1.41421, -1, ii, 1, ii}, {-1.41421, 1.23484e-12+1.24533e-12*ii,
     ------------------------------------------------------------------------
     1.41421, -1.23485e-12-1.24534e-12*ii, ii, -1, ii, 1},
     ------------------------------------------------------------------------
     {1.90281e-12+1.66113e-12*ii, -1.41421, -1.90282e-12-1.66111e-12*ii,
     ------------------------------------------------------------------------
     1.41421, 1, ii, -1, ii}, {-1.41421, 2.17204e-12+2.26715e-12*ii, 1.41421,
     ------------------------------------------------------------------------
     -2.17203e-12-2.26716e-12*ii, -ii, 1, -ii, -1},
     ------------------------------------------------------------------------
     {-4.15075e-12-2.24112e-12*ii, 1.41421, 4.15076e-12+2.24112e-12*ii,
     ------------------------------------------------------------------------
     -1.41421, 1, -ii, -1, -ii}, {-4.15075e-12-2.24112e-12*ii, -1.41421,
     ------------------------------------------------------------------------
     4.15076e-12+2.24112e-12*ii, 1.41421, -1, -ii, 1, -ii}, {1.41421,
     ------------------------------------------------------------------------
     1.23484e-12+1.24533e-12*ii, -1.41421, -1.23485e-12-1.24534e-12*ii, ii,
     ------------------------------------------------------------------------
     1, ii, -1}, {1.41421, 2.17204e-12+2.26715e-12*ii, -1.41421,
     ------------------------------------------------------------------------
     -2.17203e-12-2.26716e-12*ii, -ii, -1, -ii, 1}}

o6 : List
i7 : #oo

o7 = 47

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, 11, 12, 13, 14, 15, 16, 17, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 56}

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}, {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}, {-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 = 36

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, 16, 17, 18, 19, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}

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

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.