-
ConfKAM_dict.py
: to be edited to change the parameters of the ConfKAM computation (see below for a dictionary of parameters) -
ConfKAM.py
: contains the ConfKAM classes and main functions defining the ConfKAM map -
ConfKAM_modules.py
: contains the methods to execute the ConfKAM map
Once ConfKAM_dict.py
has been edited with the relevant parameters, run the file as
python3 ConfKAM.py
- Method: 'line_norm', 'region'; choice of method
- Nxy: integer; number of points along each line in computations
- r: integer; order of the Sobolev norm used in
compute_line_norm()
- omega0: array of n floats; frequency vector ω of the invariant torus
- Omega: array of n floats; vector Ω defining the perturbation in actions
- Dv: function; derivative of the n-d potential along a line
- CoordRegion: array of floats; min and max values of the amplitudes for each mode of the potential (see Dv); used in
compute_region()
- IndxLine: tuple of integers; indices of the modes to be varied in
compute_region()
parallelization incompute_region()
is done along the IndxLine[0] axis - PolarAngles: array of two floats; min and max value of the angles in 'polar'
- CoordLine: 1d array of floats; min and max values of the amplitudes of the potential used in
compute_line_norm()
- ModesLine: tuple of 0 and 1; specify which modes are being varied (1 for a varied mode)
- DirLine: 1d array of floats; direction of the one-parameter family used in
compute_line_norm()
- AdaptSize: boolean; if True, changes the dimension of arrays depending on the tail of the FFT of h(ψ)
- Lmin: integer; minimum and default value of the dimension of arrays for h(ψ)
- Lmax: integer; maximum value of the dimension of arrays for h(ψ) if AdaptSize is True
- TolMax: float; value of norm for divergence
- TolMin: float; value of norm for convergence
- Threshold: float; threshold value for truncating Fourier series of h(ψ)
- MaxIter: integer; maximum number of iterations for the Newton method
- Type: 'cartesian', 'polar'; type of computation for 2d plots
- ChoiceInitial: 'fixed', 'continuation'; method for the initial conditions of the Newton method
- MethodInitial: 'zero', 'one_step'; method to generate the initial conditions for the Newton iteration
- AdaptEps: boolean; if True adapt the increment of eps in
compute_line_norm()
- MinEps: float; minimum value of the increment of eps if AdaptEps=True
- MonitorGrad: boolean; if True, monitors the gradient of h(ψ)
- Precision: 32, 64 or 128; precision of calculations (default=64)
- SaveData: boolean; if True, the results are saved in a
.mat
file - PlotResults: boolean; if True, the results are plotted right after the computation
- Parallelization: tuple (boolean, int); True for parallelization, int is the number of cores to be used (set int='all' for all of the cores)
Reference: A.P Bustamante, C. Chandre, Numerical computation of critical surfaces for the breakup of invariant tori in Hamiltonian systems, arXiv:2109.12235
@misc{bustamante2021,
title = {Numerical computation of critical surfaces for the breakup of invariant tori in Hamiltonian systems},
author = {Adrian P. Bustamante and Cristel Chandre},
year = {2021},
eprint = {2109.12235},
archivePrefix = {arXiv},
primaryClass = {math.DS}
}
For more information: [email protected]