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 ..y ]
       53  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.00025+.004054*ii, 1.00025-.004054*ii, -1.00025+.004054*ii,
     ------------------------------------------------------------------------
     1.00025-.004054*ii, -.061785-.0656272*ii, .061785+.0656272*ii,
     ------------------------------------------------------------------------
     -.061785-.0656272*ii, .061785+.0656272*ii}, {.995205-.002210*ii,
     ------------------------------------------------------------------------
     .995205-.002210*ii, .995205-.002210*ii, .995205-.002210*ii,
     ------------------------------------------------------------------------
     .100263+.0219404*ii, .100263+.0219404*ii, .100263+.0219404*ii,
     ------------------------------------------------------------------------
     .100263+.0219404*ii}, {-.995205+.002210*ii, .995205-.002210*ii,
     ------------------------------------------------------------------------
     -.995205+.002210*ii, .995205-.002210*ii, .100263+.0219404*ii,
     ------------------------------------------------------------------------
     -.100263-.0219404*ii, .100263+.0219404*ii, -.100263-.0219404*ii},
     ------------------------------------------------------------------------
     {1.00025-.004054*ii, 1.00025-.004054*ii, 1.00025-.004054*ii,
     ------------------------------------------------------------------------
     1.00025-.004054*ii, -.061785-.0656272*ii, -.061785-.0656272*ii,
     ------------------------------------------------------------------------
     -.061785-.0656272*ii, -.061785-.0656272*ii}, {.995205-.002210*ii,
     ------------------------------------------------------------------------
     -.995205+.002210*ii, .995205-.002210*ii, -.995205+.002210*ii,
     ------------------------------------------------------------------------
     -.100263-.0219404*ii, .100263+.0219404*ii, -.100263-.0219404*ii,
     ------------------------------------------------------------------------
     .100263+.0219404*ii}, {-1.00025+.004054*ii, -1.00025+.004054*ii,
     ------------------------------------------------------------------------
     -1.00025+.004054*ii, -1.00025+.004054*ii, .061785+.0656272*ii,
     ------------------------------------------------------------------------
     .061785+.0656272*ii, .061785+.0656272*ii, .061785+.0656272*ii},
     ------------------------------------------------------------------------
     {-.995205+.002210*ii, -.995205+.002210*ii, -.995205+.002210*ii,
     ------------------------------------------------------------------------
     -.995205+.002210*ii, -.100263-.0219404*ii, -.100263-.0219404*ii,
     ------------------------------------------------------------------------
     -.100263-.0219404*ii, -.100263-.0219404*ii}, {1.00025-.004054*ii,
     ------------------------------------------------------------------------
     -1.00025+.004054*ii, 1.00025-.004054*ii, -1.00025+.004054*ii,
     ------------------------------------------------------------------------
     .061785+.0656272*ii, -.061785-.0656272*ii, .061785+.0656272*ii,
     ------------------------------------------------------------------------
     -.061785-.0656272*ii}, (-1, 1, 1, 1, -7.84064e-15+1.71722e-14*ii,
     ------------------------------------------------------------------------
     3.85667e-14-3.78602e-14*ii, 7.84048e-15-1.71724e-14*ii,
     ------------------------------------------------------------------------
     -2.28864e-14+3.51338e-15*ii), (1, 1, -1, 1, -7.84064e-15+1.71722e-14*ii,
     ------------------------------------------------------------------------
     -3.85667e-14+3.78602e-14*ii, 7.84048e-15-1.71724e-14*ii,
     ------------------------------------------------------------------------
     2.28864e-14-3.51338e-15*ii), (-1, -1, -1, 1, 3.40843e-14+2.05439e-14*ii,
     ------------------------------------------------------------------------
     3.40895e-14+2.05435e-14*ii, 3.40877e-14+2.05436e-14*ii,
     ------------------------------------------------------------------------
     -3.40899e-14-2.05467e-14*ii), (1, -1, 1, 1, -4.33681e-18+1.92988e-17*ii,
     ------------------------------------------------------------------------
     4.33681e-18-1.9082e-17*ii, -4.33681e-18+1.17094e-17*ii,
     ------------------------------------------------------------------------
     -3.46945e-18+2.60209e-17*ii), (1, 1, 1, -1, -2.59402e-14-1.5953e-14*ii,
     ------------------------------------------------------------------------
     -2.59404e-14-1.59528e-14*ii, -2.59406e-14-1.59512e-14*ii,
     ------------------------------------------------------------------------
     2.59413e-14+1.59531e-14*ii), (-1, -1, 1, -1, 6.9225e-14+4.45386e-14*ii,
     ------------------------------------------------------------------------
     6.9225e-14+4.45384e-14*ii, -6.9225e-14-4.45386e-14*ii,
     ------------------------------------------------------------------------
     6.9225e-14+4.45388e-14*ii), (1, -1, -1, -1, 7.84064e-15-1.71722e-14*ii,
     ------------------------------------------------------------------------
     -3.85667e-14+3.78602e-14*ii, -7.84048e-15+1.71724e-14*ii,
     ------------------------------------------------------------------------
     2.28864e-14-3.51338e-15*ii), (-1, -1, 1, -1, 7.84064e-15-1.71722e-14*ii,
     ------------------------------------------------------------------------
     3.85667e-14-3.78602e-14*ii, -7.84048e-15+1.71724e-14*ii,
     ------------------------------------------------------------------------
     -2.28864e-14+3.51338e-15*ii), (-1, 1, 1, 1, -6.9225e-14-4.45386e-14*ii,
     ------------------------------------------------------------------------
     6.9225e-14+4.45384e-14*ii, 6.9225e-14+4.45386e-14*ii,
     ------------------------------------------------------------------------
     6.9225e-14+4.45388e-14*ii), {3.71644e-12+3.4662e-12*ii, -1.41421,
     ------------------------------------------------------------------------
     -3.71644e-12-3.46619e-12*ii, 1.41421, -1, ii, 1, ii}, {-1.41421,
     ------------------------------------------------------------------------
     -6.59532e-14+3.07928e-14*ii, 1.41421, 6.59618e-14-3.07955e-14*ii, -ii,
     ------------------------------------------------------------------------
     -1, -ii, 1}, (-1, -1, -1, 1, -6.92484e-14-4.45199e-14*ii,
     ------------------------------------------------------------------------
     -6.92493e-14-4.45193e-14*ii, -6.92476e-14-4.45197e-14*ii,
     ------------------------------------------------------------------------
     6.92493e-14+4.45267e-14*ii), (1, 1, -1, 1, -1.69026e-13+1.08811e-13*ii,
     ------------------------------------------------------------------------
     5.13639e-13+1.19811e-12*ii, 1.69026e-13-1.08811e-13*ii,
     ------------------------------------------------------------------------
     -8.5169e-13-9.8049e-13*ii), (1, 1, 1, -1, -3.29597e-17+1.12757e-17*ii,
     ------------------------------------------------------------------------
     1.18307e-12-1.29023e-12*ii, 2.42861e-17+4.33681e-18*ii,
     ------------------------------------------------------------------------
     1.18306e-12-1.29025e-12*ii), (1, -1, -1, 1, -4.68375e-17-3.9465e-17*ii,
     ------------------------------------------------------------------------
     -5.20417e-18+3.25261e-17*ii, 4.85723e-17+2.47198e-17*ii,
     ------------------------------------------------------------------------
     6.93889e-18-3.20924e-17*ii), (-1, 1, -1, -1,
     ------------------------------------------------------------------------
     -3.29597e-17+1.12757e-17*ii, -1.18307e-12+1.29023e-12*ii,
     ------------------------------------------------------------------------
     2.42861e-17+4.33681e-18*ii, -1.18306e-12+1.29025e-12*ii), (1, -1, -1,
     ------------------------------------------------------------------------
     -1, 1.69026e-13-1.08811e-13*ii, 5.13639e-13+1.19811e-12*ii,
     ------------------------------------------------------------------------
     -1.69026e-13+1.08811e-13*ii, -8.5169e-13-9.8049e-13*ii), (1, -1, 1, 1,
     ------------------------------------------------------------------------
     1.72395e-14+6.60333e-15*ii, -1.72394e-14-6.60244e-15*ii,
     ------------------------------------------------------------------------
     1.72394e-14+6.60328e-15*ii, 1.72394e-14+6.60238e-15*ii),
     ------------------------------------------------------------------------
     {-4.56393e-12-6.1311e-14*ii, -1.41421, 4.56392e-12+6.1307e-14*ii,
     ------------------------------------------------------------------------
     1.41421, 1, ii, -1, ii}, {1.41421, 3.45717e-12+2.97587e-12*ii, -1.41421,
     ------------------------------------------------------------------------
     -3.45716e-12-2.97588e-12*ii, -ii, -1, -ii, 1},
     ------------------------------------------------------------------------
     {-3.71644e-12-3.4662e-12*ii, -1.41421, 3.71644e-12+3.46619e-12*ii,
     ------------------------------------------------------------------------
     1.41421, -1, -ii, 1, -ii}, {-1.41421, 3.45717e-12+2.97587e-12*ii,
     ------------------------------------------------------------------------
     1.41421, -3.45716e-12-2.97588e-12*ii, -ii, 1, -ii, -1}, {-1.41421,
     ------------------------------------------------------------------------
     6.55996e-15-6.21345e-15*ii, 1.41421, -6.57726e-15+6.23722e-15*ii, ii,
     ------------------------------------------------------------------------
     -1, ii, 1}, {-4.56393e-12-6.1311e-14*ii, 1.41421,
     ------------------------------------------------------------------------
     4.56392e-12+6.1307e-14*ii, -1.41421, -1, ii, 1, ii},
     ------------------------------------------------------------------------
     {-3.70022e-12-1.95114e-12*ii, 1.41421, 3.70021e-12+1.95114e-12*ii,
     ------------------------------------------------------------------------
     -1.41421, 1, ii, -1, ii}, {1.41421, -3.45717e-12-2.97587e-12*ii,
     ------------------------------------------------------------------------
     -1.41421, 3.45716e-12+2.97588e-12*ii, ii, -1, ii, 1}, {1.41421,
     ------------------------------------------------------------------------
     -6.55996e-15+6.21345e-15*ii, -1.41421, 6.57726e-15-6.23722e-15*ii, -ii,
     ------------------------------------------------------------------------
     1, -ii, -1}, {4.56393e-12+6.1311e-14*ii, -1.41421,
     ------------------------------------------------------------------------
     -4.56392e-12-6.1307e-14*ii, 1.41421, 1, -ii, -1, -ii},
     ------------------------------------------------------------------------
     {4.56393e-12+6.1311e-14*ii, 1.41421, -4.56392e-12-6.1307e-14*ii,
     ------------------------------------------------------------------------
     -1.41421, -1, -ii, 1, -ii}, {-1.41421, -3.45717e-12-2.97587e-12*ii,
     ------------------------------------------------------------------------
     1.41421, 3.45716e-12+2.97588e-12*ii, ii, 1, ii, -1}, (-1, 1, -1, -1,
     ------------------------------------------------------------------------
     -6.9408e-14-4.44588e-14*ii, 6.9415e-14+4.44729e-14*ii,
     ------------------------------------------------------------------------
     -6.9408e-14-4.4474e-14*ii, -6.9415e-14-4.4466e-14*ii), (-1, 1, 1, 1,
     ------------------------------------------------------------------------
     -1.69026e-13+1.08811e-13*ii, -5.13639e-13-1.19811e-12*ii,
     ------------------------------------------------------------------------
     1.69026e-13-1.08811e-13*ii, 8.5169e-13+9.8049e-13*ii), (1, -1, 1, 1,
     ------------------------------------------------------------------------
     3.29597e-17-1.12757e-17*ii, 1.18307e-12-1.29023e-12*ii,
     ------------------------------------------------------------------------
     -2.42861e-17-4.33681e-18*ii, 1.18306e-12-1.29025e-12*ii), (-1, -1, 1,
     ------------------------------------------------------------------------
     -1, 1.69026e-13-1.08811e-13*ii, -5.13639e-13-1.19811e-12*ii,
     ------------------------------------------------------------------------
     -1.69026e-13+1.08811e-13*ii, 8.5169e-13+9.8049e-13*ii), (-1, -1, -1, 1,
     ------------------------------------------------------------------------
     3.29597e-17-1.12757e-17*ii, -1.18307e-12+1.29023e-12*ii,
     ------------------------------------------------------------------------
     -2.42861e-17-4.33681e-18*ii, -1.18306e-12+1.29025e-12*ii), {1.41421,
     ------------------------------------------------------------------------
     6.59532e-14-3.07928e-14*ii, -1.41421, -6.59618e-14+3.07955e-14*ii, ii,
     ------------------------------------------------------------------------
     1, ii, -1}, {-3.71644e-12-3.4662e-12*ii, 1.41421,
     ------------------------------------------------------------------------
     3.71644e-12+3.46619e-12*ii, -1.41421, 1, -ii, -1, -ii}}

o6 : List
i7 : #oo

o7 = 45

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

i8 : findRealSolutions I
warning: some solutions are not regular: {7, 12, 13, 14, 19, 20, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 39}

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}}

o8 : List
i9 : #oo

o9 = 17

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

i10 : netList getAngles(3, findRealSolutions I, Radians=>false)
warning: some solutions are not regular: {11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 36, 37, 42, 43, 44, 45, 46}

      +---+---+---+
o10 = |315|180|180|
      +---+---+---+
      |135|0  |0  |
      +---+---+---+
      |45 |0  |180|
      +---+---+---+
      |45 |0  |180|
      +---+---+---+
      |135|180|180|
      +---+---+---+
      |135|0  |0  |
      +---+---+---+
      |45 |180|0  |
      +---+---+---+
      |315|0  |0  |
      +---+---+---+
      |225|180|0  |
      +---+---+---+
      |225|0  |180|
      +---+---+---+
      |315|180|180|
      +---+---+---+
      |315|180|180|
      +---+---+---+
      |225|180|0  |
      +---+---+---+
      |135|0  |0  |
      +---+---+---+
      |45 |0  |180|
      +---+---+---+
      |315|0  |0  |
      +---+---+---+
      |135|180|0  |
      +---+---+---+
      |225|0  |180|
      +---+---+---+
      |315|180|180|
      +---+---+---+
      |225|180|0  |
      +---+---+---+
      |45 |0  |180|
      +---+---+---+
      |225|0  |180|
      +---+---+---+
      |135|0  |0  |
      +---+---+---+
      |45 |180|0  |
      +---+---+---+
      |225|180|0  |
      +---+---+---+
      |135|180|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.