Skip to main content
. 2019 Dec 28;20(1):184. doi: 10.3390/s20010184
Algorithm 1. Lyapunov exponent adjustment procedure
1:

procedureAdjust_Lyapunov_Exponent (W˜, Δρ, λ0, Δλ0,Nλ)

2:

for i: = 1 to Nλ step by 1 do

3:

  λ^[i]: = Estimate_Lyapunov_Exponent (W˜);

4:

  W˜[i]: = W˜;

5:

  Δλ[i] : = Absolute_Value (λ^[i]λ0);

6:

  //stop if: estimated value is within the tolerance range

7:

  //or does not change between iterations

8:

  if (Δλ[i]  Δλ0) OR (Δλ[i]==Δλ[i1]) then

9:

   break for i loop;

10:

  end if

11:

  if (Sign (Δλ[i])! = Sign (Δλ[i1])) then

12:

   Δρ: = Δρ/2;

13:

  end if

14:

  ρtmp := Compute_Spectral_Radius (W˜);

15:

  //adjust W˜ spectral radius to ρtmp ±Δρ

16:

  if (Sign (Δλ[i]) >0) then

17:

   W˜:= Set_Spectral_Radius (W˜, ρtmp Δρ);

18:

  else

19:

   W˜:= Set_Spectral_Radius (W˜, ρtmp +Δρ);

20:

  end if

21:

end for i

22:

 i_out: = Index_of_Minimum_Value (Δλ[]);

23:

 return { W˜[i_out],  λ^[i_out]};

  end procedure