bice.measure package
Submodules
bice.measure.lyapunov module
Lyapunov exponent calculations.
- class LyapunovExponentCalculator(problem: Problem, nexponents: int = 1, epsilon: float = 1e-06, nintegration_steps: int = 1)
Bases:
objectCalculates the spectrum of Lyapunov exponents for a given problem.
Uses the algorithm reported in: Wolf, A., Swift, J. B., Swinney, H. L., & Vastano, J. A. (1985). “Determining Lyapunov exponents from a time series” Physica D: Nonlinear Phenomena, 16(3), 285-317.
Initialize the Lyapunov exponent calculator.
- Parameters:
problem – The problem instance to analyze.
nexponents – The number of exponents to calculate.
epsilon – The magnitude of the perturbation for trajectory divergence.
nintegration_steps – Number of time steps between re-orthonormalization.
- T
cumulative variable for the total integration time
- epsilon
the norm of the perturbation
- property exponents: ndarray[tuple[Any, ...], dtype[float64]]
Return the calculated Lyapunov exponents.
- Returns:
The average Lyapunov exponents.
- Return type:
RealArray
- generate_perturbation_vectors() None
Generate a new set of orthonormal perturbation vectors.
- nexponents
the number of exponents to be calculated
- nintegration_steps
the number of time-integration steps for each trajectory
- orthonormalize() ndarray[tuple[Any, ...], dtype[float64]]
Orthonormalize the perturbation vectors using Gram-Schmidt.
- Returns:
The norms of the vectors before normalization.
- Return type:
RealArray
- problem
reference to the problem
- step() None
Integrate trajectories, re-orthonormalize and update exponents.
Advances the problem in time and calculates the divergence of nearby trajectories.
Module contents
Methods for measuring quantities of interest (e.g. Lyapunov exponents).
- class LyapunovExponentCalculator(problem: Problem, nexponents: int = 1, epsilon: float = 1e-06, nintegration_steps: int = 1)
Bases:
objectCalculates the spectrum of Lyapunov exponents for a given problem.
Uses the algorithm reported in: Wolf, A., Swift, J. B., Swinney, H. L., & Vastano, J. A. (1985). “Determining Lyapunov exponents from a time series” Physica D: Nonlinear Phenomena, 16(3), 285-317.
Initialize the Lyapunov exponent calculator.
- Parameters:
problem – The problem instance to analyze.
nexponents – The number of exponents to calculate.
epsilon – The magnitude of the perturbation for trajectory divergence.
nintegration_steps – Number of time steps between re-orthonormalization.
- T
cumulative variable for the total integration time
- epsilon
the norm of the perturbation
- property exponents: ndarray[tuple[Any, ...], dtype[float64]]
Return the calculated Lyapunov exponents.
- Returns:
The average Lyapunov exponents.
- Return type:
RealArray
- generate_perturbation_vectors() None
Generate a new set of orthonormal perturbation vectors.
- nexponents
the number of exponents to be calculated
- nintegration_steps
the number of time-integration steps for each trajectory
- orthonormalize() ndarray[tuple[Any, ...], dtype[float64]]
Orthonormalize the perturbation vectors using Gram-Schmidt.
- Returns:
The norms of the vectors before normalization.
- Return type:
RealArray
- perturbations: list[ndarray[tuple[Any, ...], dtype[float64 | complexfloating]]]
- problem
reference to the problem
- step() None
Integrate trajectories, re-orthonormalize and update exponents.
Advances the problem in time and calculates the divergence of nearby trajectories.