public function one_random_walker(matrix, num_steps) result(displacement)
Let one random walker do num_steps jumps on the .true.
values of matrix. The initial position is randomly selected.
Arguments
Type
Intent
Optional
Attributes
Name
logical,
intent(in),
dimension(:,:)
::
matrix
Matrix whose .true. values are allowed positions for the
random walker.
integer
::
num_steps
Number of steps for the random walker to take.
Return Value real(kind=dp),
dimension(:,:),allocatable
Array of displacements, which has dimension
2 \(\times\) (num_steps + 1),
and should logically have dimension(2,0:num_steps), such that
the i'th column contains the displacement after i steps.
Averaged over all systems and all walkers.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.