Definition of the problem
The problem is defined in a TOML file. The file must contain the following fields:
symmetry_name
: Name of the symmetry group.NOB
: Number of bodies.m
: An array of masses of the bodies.dim
: The dimension of the space.- Group generators
action_type
: The type of the action of the group. It can be- 0: Circular action
- 1: Dihedral action
- 2: Brake action
kern
: A string containing a GAP command to generate the kernel of the $\tau$ representation. The following helper functions ara available:TrivialKerTau(2)
for the trivial kernel of the $\tau$ representation when $d=2$TrivialKerTau(3)
for the trivial kernel of the $\tau$ representation when $d=3$
rotV
: A string containing a GAP command to generate the $O(d)$ part of the first generator of the group. It must be an orthogonal matrix of size $d \times d$rotS
: A string containing a GAP command to generate the $\Sigma_n$ part of the first generator of the group. It must be a permutation.- If the action is dihedral or brake:
refV
: A string containing a GAP command to generate the $O(d)$ part of the second generator of the group. It must be an orthogonal matrix of size $d \times d$refS
: A string containing a GAP command to generate the $\Sigma_n$ part of the second generator of the group. It must be a permutation.
The file must also contain the following optional fields:
F
: The number of fourier coefficients (default:24
)steps
: The number of steps to be used for the point representation of the path (default:2 * F
)Omega
: The infinitesimal generator of the reference frame rotation (default:0
)denominator
: The denominator of the potential (default:x
)
The following is an example of a TOML file defining a problem:
symmetry_name = "2d_cyclic_2"
NOB = 3
dim = 2
m = [1, 1, 1]
# Group generators
kern = "TrivialKerTau(2)"
action_type = 0
rotV = "[[-1, 0], [0, -1] ]"
rotS = "(2,3)"
# Other configs
F = 24
Omega = [
[0, 0],
[0, 0]
]
Load the problem
A problem can be loaded using the initialize
function. The function receives the path to the TOML file and returns a Problem
object.
julia> P = initialize("example.toml")
N: 3 dim: 2 F: 24 steps: 48 masses: [1.0, 1.0, 1.0] denominator: f(x) = x Symmetry group: SymmetryGroup of type Cyclic * ker(τ): Subgroup of order 1 * g = GroupElement: σ: [2, 3, 1] M: [1.0 0.0; 0.0 1.0] * Cyclic order = 3