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.0006-.000719*ii, 1.0006+.000719*ii, -1.0006-.000719*ii,
     ------------------------------------------------------------------------
     1.0006+.000719*ii, .0183506-.0392151*ii, -.0183506+.0392151*ii,
     ------------------------------------------------------------------------
     .0183506-.0392151*ii, -.0183506+.0392151*ii}, {.996732-.007492*ii,
     ------------------------------------------------------------------------
     .996732-.007492*ii, .996732-.007492*ii, .996732-.007492*ii,
     ------------------------------------------------------------------------
     .107011+.0697828*ii, .107011+.0697828*ii, .107011+.0697828*ii,
     ------------------------------------------------------------------------
     .107011+.0697828*ii}, {-.996732+.007492*ii, .996732-.007492*ii,
     ------------------------------------------------------------------------
     -.996732+.007492*ii, .996732-.007492*ii, .107011+.0697828*ii,
     ------------------------------------------------------------------------
     -.107011-.0697828*ii, .107011+.0697828*ii, -.107011-.0697828*ii},
     ------------------------------------------------------------------------
     {1.0006+.000719*ii, 1.0006+.000719*ii, 1.0006+.000719*ii,
     ------------------------------------------------------------------------
     1.0006+.000719*ii, .0183506-.0392151*ii, .0183506-.0392151*ii,
     ------------------------------------------------------------------------
     .0183506-.0392151*ii, .0183506-.0392151*ii}, {.996732-.007492*ii,
     ------------------------------------------------------------------------
     -.996732+.007492*ii, .996732-.007492*ii, -.996732+.007492*ii,
     ------------------------------------------------------------------------
     -.107011-.0697828*ii, .107011+.0697828*ii, -.107011-.0697828*ii,
     ------------------------------------------------------------------------
     .107011+.0697828*ii}, {-1.0006-.000719*ii, -1.0006-.000719*ii,
     ------------------------------------------------------------------------
     -1.0006-.000719*ii, -1.0006-.000719*ii, -.0183506+.0392151*ii,
     ------------------------------------------------------------------------
     -.0183506+.0392151*ii, -.0183506+.0392151*ii, -.0183506+.0392151*ii},
     ------------------------------------------------------------------------
     {-.996732+.007492*ii, -.996732+.007492*ii, -.996732+.007492*ii,
     ------------------------------------------------------------------------
     -.996732+.007492*ii, -.107011-.0697828*ii, -.107011-.0697828*ii,
     ------------------------------------------------------------------------
     -.107011-.0697828*ii, -.107011-.0697828*ii}, {1.0006+.000719*ii,
     ------------------------------------------------------------------------
     -1.0006-.000719*ii, 1.0006+.000719*ii, -1.0006-.000719*ii,
     ------------------------------------------------------------------------
     -.0183506+.0392151*ii, .0183506-.0392151*ii, -.0183506+.0392151*ii,
     ------------------------------------------------------------------------
     .0183506-.0392151*ii}, (-1, 1, 1, 1, 9.24042e-15+2.59185e-15*ii,
     ------------------------------------------------------------------------
     -4.89676e-14-7.98946e-15*ii, -9.24058e-15-2.59161e-15*ii,
     ------------------------------------------------------------------------
     3.05027e-14+2.80727e-15*ii), (1, 1, -1, 1, 9.24042e-15+2.59185e-15*ii,
     ------------------------------------------------------------------------
     4.89676e-14+7.98946e-15*ii, -9.24058e-15-2.59161e-15*ii,
     ------------------------------------------------------------------------
     -3.05027e-14-2.80727e-15*ii), (1, -1, 1, 1, -8.84709e-17+5.0307e-17*ii,
     ------------------------------------------------------------------------
     1.18309e-12-1.29025e-12*ii, 5.20417e-18-5.46438e-17*ii,
     ------------------------------------------------------------------------
     1.18304e-12-1.29023e-12*ii), (1, 1, 1, -1, 8.84709e-17-5.0307e-17*ii,
     ------------------------------------------------------------------------
     1.18309e-12-1.29025e-12*ii, -5.20417e-18+5.46438e-17*ii,
     ------------------------------------------------------------------------
     1.18304e-12-1.29023e-12*ii), (-1, 1, 1, 1, -5.20417e-18-1.30104e-18*ii,
     ------------------------------------------------------------------------
     5.20417e-18+8.67362e-19*ii, 5.20417e-18+4.33681e-19*ii,
     ------------------------------------------------------------------------
     6.93889e-18+8.6736e-19*ii), (1, 1, -1, -1, -3.46945e-18-1.34441e-17*ii,
     ------------------------------------------------------------------------
     -3.46945e-18-6.50521e-18*ii, 3.46945e-18+1.34441e-17*ii,
     ------------------------------------------------------------------------
     3.46945e-18+6.50521e-18*ii), (-1, 1, -1, -1, 6.91721e-14+4.44885e-14*ii,
     ------------------------------------------------------------------------
     -6.91721e-14-4.44865e-14*ii, 6.9173e-14+4.4487e-14*ii,
     ------------------------------------------------------------------------
     6.91721e-14+4.44922e-14*ii), (1, -1, -1, -1, 5.20417e-18+1.30104e-18*ii,
     ------------------------------------------------------------------------
     -5.20417e-18-8.67362e-19*ii, -5.20417e-18-4.33681e-19*ii,
     ------------------------------------------------------------------------
     -6.93889e-18-8.6736e-19*ii), (1, -1, -1, -1,
     ------------------------------------------------------------------------
     -9.24042e-15-2.59185e-15*ii, 4.89676e-14+7.98946e-15*ii,
     ------------------------------------------------------------------------
     9.24058e-15+2.59161e-15*ii, -3.05027e-14-2.80727e-15*ii), (-1, -1, -1,
     ------------------------------------------------------------------------
     1, -8.84709e-17+5.0307e-17*ii, -1.18309e-12+1.29025e-12*ii,
     ------------------------------------------------------------------------
     5.20417e-18-5.46438e-17*ii, -1.18304e-12+1.29023e-12*ii), (-1, -1, 1,
     ------------------------------------------------------------------------
     -1, -9.24042e-15-2.59185e-15*ii, -4.89676e-14-7.98946e-15*ii,
     ------------------------------------------------------------------------
     9.24058e-15+2.59161e-15*ii, 3.05027e-14+2.80727e-15*ii), (-1, 1, -1, -1,
     ------------------------------------------------------------------------
     8.84709e-17-5.0307e-17*ii, -1.18309e-12+1.29025e-12*ii,
     ------------------------------------------------------------------------
     -5.20417e-18+5.46438e-17*ii, -1.18304e-12+1.29023e-12*ii),
     ------------------------------------------------------------------------
     {-3.98086e-12-1.12904e-12*ii, -1.41421, 3.98085e-12+1.12906e-12*ii,
     ------------------------------------------------------------------------
     1.41421, -1, ii, 1, ii}, {-1.41421, 3.15434e-12+5.91271e-12*ii, 1.41421,
     ------------------------------------------------------------------------
     -3.15434e-12-5.91273e-12*ii, -ii, -1, -ii, 1}, (1, 1, -1, 1,
     ------------------------------------------------------------------------
     1.93394e-15+2.88525e-15*ii, 2.55821e-14+8.11238e-15*ii,
     ------------------------------------------------------------------------
     -1.93395e-15-2.8854e-15*ii, -2.17194e-14-2.34177e-15*ii), (1, 1, 1, -1,
     ------------------------------------------------------------------------
     2.94962e-14+1.55062e-14*ii, 3.30536e-16-7.10097e-16*ii,
     ------------------------------------------------------------------------
     -2.88402e-14-1.69295e-14*ii, -3.30609e-16+7.10447e-16*ii), (-1, -1, 1,
     ------------------------------------------------------------------------
     1, -6.9526e-14-4.44352e-14*ii, 6.93933e-14+4.46223e-14*ii,
     ------------------------------------------------------------------------
     6.9526e-14+4.44349e-14*ii, -6.93933e-14-4.46221e-14*ii), (-1, 1, -1, -1,
     ------------------------------------------------------------------------
     2.94962e-14+1.55062e-14*ii, -3.30536e-16+7.10097e-16*ii,
     ------------------------------------------------------------------------
     -2.88402e-14-1.69295e-14*ii, 3.30609e-16-7.10447e-16*ii), (1, -1, -1,
     ------------------------------------------------------------------------
     -1, -1.93394e-15-2.88525e-15*ii, 2.55821e-14+8.11238e-15*ii,
     ------------------------------------------------------------------------
     1.93395e-15+2.8854e-15*ii, -2.17194e-14-2.34177e-15*ii),
     ------------------------------------------------------------------------
     {4.02169e-12-5.01178e-12*ii, -1.41421, -4.02169e-12+5.01178e-12*ii,
     ------------------------------------------------------------------------
     1.41421, 1, ii, -1, ii}, {1.41421, 8.11769e-16-6.95353e-16*ii, -1.41421,
     ------------------------------------------------------------------------
     -8.03123e-16+6.8836e-16*ii, -ii, -1, -ii, 1},
     ------------------------------------------------------------------------
     {3.98086e-12+1.12904e-12*ii, -1.41421, -3.98085e-12-1.12906e-12*ii,
     ------------------------------------------------------------------------
     1.41421, -1, -ii, 1, -ii}, {-1.41421, 1.03357e-12-2.48475e-12*ii,
     ------------------------------------------------------------------------
     1.41421, -1.03356e-12+2.48474e-12*ii, -ii, 1, -ii, -1}, {-1.41421,
     ------------------------------------------------------------------------
     -3.15434e-12-5.91271e-12*ii, 1.41421, 3.15434e-12+5.91273e-12*ii, ii,
     ------------------------------------------------------------------------
     -1, ii, 1}, {4.02169e-12-5.01178e-12*ii, 1.41421,
     ------------------------------------------------------------------------
     -4.02169e-12+5.01178e-12*ii, -1.41421, -1, ii, 1, ii}, (-1, -1, 1, -1,
     ------------------------------------------------------------------------
     5.20417e-18+1.30104e-18*ii, 5.20417e-18+8.67362e-19*ii,
     ------------------------------------------------------------------------
     -5.20417e-18-4.33681e-19*ii, 6.93889e-18+8.6736e-19*ii),
     ------------------------------------------------------------------------
     {-3.98086e-12-1.12904e-12*ii, 1.41421, 3.98085e-12+1.12906e-12*ii,
     ------------------------------------------------------------------------
     -1.41421, 1, ii, -1, ii}, {1.41421, -8.11769e-16+6.95353e-16*ii,
     ------------------------------------------------------------------------
     -1.41421, 8.03123e-16-6.8836e-16*ii, ii, -1, ii, 1}, {1.41421,
     ------------------------------------------------------------------------
     3.15434e-12+5.91271e-12*ii, -1.41421, -3.15434e-12-5.91273e-12*ii, -ii,
     ------------------------------------------------------------------------
     1, -ii, -1}, {-4.02169e-12+5.01178e-12*ii, -1.41421,
     ------------------------------------------------------------------------
     4.02169e-12-5.01178e-12*ii, 1.41421, 1, -ii, -1, -ii},
     ------------------------------------------------------------------------
     {-4.02169e-12+5.01178e-12*ii, 1.41421, 4.02169e-12-5.01178e-12*ii,
     ------------------------------------------------------------------------
     -1.41421, -1, -ii, 1, -ii}, {-1.41421, -1.03357e-12+2.48475e-12*ii,
     ------------------------------------------------------------------------
     1.41421, 1.03356e-12-2.48474e-12*ii, ii, 1, ii, -1}, (-1, 1, 1, 1,
     ------------------------------------------------------------------------
     1.93394e-15+2.88525e-15*ii, -2.55821e-14-8.11238e-15*ii,
     ------------------------------------------------------------------------
     -1.93395e-15-2.8854e-15*ii, 2.17194e-14+2.34177e-15*ii), (1, -1, 1, 1,
     ------------------------------------------------------------------------
     -2.94962e-14-1.55062e-14*ii, 3.30536e-16-7.10097e-16*ii,
     ------------------------------------------------------------------------
     2.88402e-14+1.69295e-14*ii, -3.30609e-16+7.10447e-16*ii), (-1, 1, 1, -1,
     ------------------------------------------------------------------------
     6.90429e-14+4.43033e-14*ii, 6.8846e-14+4.44039e-14*ii,
     ------------------------------------------------------------------------
     -6.90411e-14-4.43033e-14*ii, -6.88408e-14-4.44057e-14*ii), (-1, -1, 1,
     ------------------------------------------------------------------------
     -1, -1.93394e-15-2.88525e-15*ii, -2.55821e-14-8.11238e-15*ii,
     ------------------------------------------------------------------------
     1.93395e-15+2.8854e-15*ii, 2.17194e-14+2.34177e-15*ii), (-1, -1, -1, 1,
     ------------------------------------------------------------------------
     -2.94962e-14-1.55062e-14*ii, -3.30536e-16+7.10097e-16*ii,
     ------------------------------------------------------------------------
     2.88402e-14+1.69295e-14*ii, 3.30609e-16-7.10447e-16*ii), {1.41421,
     ------------------------------------------------------------------------
     -3.15434e-12-5.91271e-12*ii, -1.41421, 3.15434e-12+5.91273e-12*ii, ii,
     ------------------------------------------------------------------------
     1, ii, -1}, {3.98086e-12+1.12904e-12*ii, 1.41421,
     ------------------------------------------------------------------------
     -3.98085e-12-1.12906e-12*ii, -1.41421, 1, -ii, -1, -ii}}

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: {8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 35, 36, 41, 42}

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

o8 : List
i9 : #oo

o9 = 25

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: {6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 32, 38, 39, 40, 41}

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