Program pkdfet1(, , , ) |
Input: |
: data record of scalar quantities; |
: embedding delay; |
: minimal embedding dimension; |
: fixed evolution time; |
Output: |
: maximal Lyapunov exponent estimation; |
: prediction horizon; |
(1) in parallel do: |
/ A process is treated as MASTER and other processes are treated as slaves. |
The number of processes is . / |
(2) begin |
/ Initialization. / |
(3) Set as the useful size of ; |
(4) Set as the number of replacement steps; |
(5) Compute and as local bounds, where ; |
(6) Build using (2); |
(7) Call newkdtree(); |
(8) Compute as the standard deviation of ; |
(9) Set as the noise scale; |
(10) Set as an estimation of the useful length scale; |
(11) Set ; |
/ Computing maximal Lyapunox exponent. / |
(12) Call frnn(); |
(13) Compute the local nearest neighbor from ; |
(14) synchronization Gather all the local nearest neighbor ; |
(15) if = MASTER then Compute the global nearest neighbor from the candidates; |
(16) synchronization Broadcast the global nearest neighbor ; |
(17) for to do |
(18) if = MASTER then |
(19) Set as the initial separation; |
(20) Set as the final separation; |
(21) Set ; |
(22) repeat |
(23) Call frnn(); |
(24) Compute the local replacement point from ; |
(25) synchronization Gather all the local replacement point ; |
(26) if = MASTER then Compute the global replacement point from the candidates; |
(27) synchronization Broadcast the global replacement point ; |
(28) until was a minimum; |
(29) if a replacement point was found then else ; |
(30) Set ; |
(31) if = MASTER then Print , ; |
(32) end |