Input file¶
As the input file format, TOML format is used. The input file consists of the following six sections.
base
Specify the basic parameters about
py2dmat
.
solver
Specify the parameters about
Solver
.
algorithm
Specify the parameters about
Algorithm
.
runner
Specify the parameters about
Runner
.
mapping
Define the mapping from a parameter searched by
Algorithm
.
limitation
Define the limitation (constration) of parameter searched by
Algorithm
.
log
Specify parameters related to logging of solver calls.
[base
] section¶
dimension
Format: Integer
Description: Dimension of the search space (number of parameters to search)
root_dir
Format: string (default: The directory where the program was executed)
Description: Name of the root directory. The origin of the relative paths to input files.
output_dir
Format: string (default: The directory where the program was executed)
Description: Name of the directory to output the results.
[solver
] section¶
The name
determines the type of solver. Each parameter is defined for each solver.
name
Format: String
Description: Name of the solver. The following solvers are available.
sim-trhepd-rheed
: Solver to calculate Total-reflection high energy positron diffraction (TRHEPD) or Reflection High Energy Electron Diffraction (RHEED) intensities.analytical
: Solver to provide analytical solutions (mainly used for testing).
See Direct Problem Solver for details of the various solvers and their input/output files.
[algorithm
] section¶
The name
determines the type of algorithm. Each parameter is defined for each algorithm.
name
Format: String
Description: Algorithm name. The following algorithms are available.
minsearch
: Minimum value search using Nelder-Mead methodmapper
: Grid searchexchange
: Replica Exchange Monte Carlobayes
: Bayesian optimization
seed
Format: Integer
- Description: A parameter to specify seeds of the pseudo-random number generator used for random generation of initial values, Monte Carlo updates, etc.
For each MPI process, the value of
seed + mpi_rank * seed_delta
is given as seeds. If omitted, the initialization is done by the Numpy’s prescribed method.
seed_delta
Format: Integer (default: 314159)
- Description: A parameter to calculate the seed of the pseudo-random number generator for each MPI process.
For details, see the description of
seed
.
See Search algorithms for details of the various algorithms and their input/output files.
[runner
] section¶
This section sets the configuration of Runner
, which bridges Algorithm
and Solver
.
It has two subsections, mapping
and log
.
[mapping
] section¶
This section defines the mapping from an \(N\) dimensional parameter searched by Algorithm
, \(x\), to an \(M\) dimensional parameter used in Solver
, \(y\) .
In the case of \(N \ne M\), the parameter dimension
in [solver]
section should be specified.
In the current version, the affine mapping (linear mapping + translation) \(y = Ax+b\) is available.
A
Format: List of list of float, or a string (default:
[]
)- Description: \(N \times M\) matrix \(A\). An empty list
[]
is a shorthand of an identity matrix. If you want to set it by a string, arrange the elements of the matrix separated with spaces and newlines (see the example).
- Description: \(N \times M\) matrix \(A\). An empty list
b
Format: List of float, or a string (default:
[]
)- Description: \(M\) dimensional vector \(b\). An empty list
[]
is a shorthand of a zero vector. If you want to set it by a string, arrange the elements of the vector separated with spaces.
- Description: \(M\) dimensional vector \(b\). An empty list
For example, both
A = [[1,1], [0,1]]
and
A = """
1 1
0 1
"""
mean
[limitation
] section¶
This section defines the limitation (constraint) in an \(N\) dimensional parameter searched by Algorithm
, \(x\), in addition of min_list
and max_list
.
In the current version, a linear inequation with the form \(Ax+b>0\) is available.
co_a
Format: List of list of float, or a string (default:
[]
)- Description: \(N \times M\) matrix \(A\). An empty list
[]
is a shorthand of an identity matrix. If you want to set it by a string, arrange the elements of the matrix separated with spaces and newlines (see the example).
- Description: \(N \times M\) matrix \(A\). An empty list
co_b
Format: List of float, or a string (default:
[]
)- Description: \(M\) dimensional vector \(b\). An empty list
[]
is a shorthand of a zero vector. If you want to set it by a string, arrange the elements of the vector separated with spaces.
- Description: \(M\) dimensional vector \(b\). An empty list
For example, both
A = [[1,1], [0,1]]
and
A = """
1 1
0 1
"""
mean
[log
] section¶
Setting parametrs related to logging of solver calls.
filename
Format: String (default: “runner.log”)
Description: Name of log file.
interval
Format: Integer (default: 0)
- Description: The log will be written out every time solver is called
interval
times. If the value is less than or equal to 0, no log will be written.
- Description: The log will be written out every time solver is called
write_result
Format: Boolean (default: false)
Description: Whether to record the output from solver.
write_input
Format: Boolean (default: false)
Description: Whether to record the input to solver.