Hamiltonian Lorenz Models
This package implements Hamiltonian Lorenz-like models, a class of low-order dynamical systems that extend the classical Lorenz-96 and Lorenz-2005 frameworks by incorporating a Hamiltonian structure. These models are designed to preserve certain physical invariants—such as energy and Casimirs—making them particularly well-suited for studying conservative dynamical systems, geophysical flows, and chaotic transport.
Installation
Installation within a Python virtual environment:
python3 -m pip install hamlorenz
For more information on creating a Python virtual environment, click here. For a summary with the main steps, click here.
Features
- Hamiltonian structure: The time evolution of the system is derived from a Hamiltonian, preserving energy exactly as in the continuous-time limit.
- Casimir invariants: Multiple conserved quantities beyond energy, ensuring the system evolves on a constrained manifold.
- Symplectic integrators: Optional numerical solvers designed for long-time energy and Casimir invariant preservation.
- Lyapunov spectrum computation: Quantifies the level of chaos in the system via Lyapunov exponents.
- Fourier-based desymmetrization: Enables translational symmetry reduction to study physical variables in a more interpretable form.
- PDF and time series visualization: Built-in tools to analyze and visualize system statistics and dynamics.
Applications
- Modeling barotropic dynamics or simplified atmospheric flows.
- Testing chaos detection and prediction techniques.
- Benchmarking conservative integration schemes.
Reference
For a full mathematical formulation and analysis of these models, see:
Fedele, Chandre, Horvat, and Žagar Hamiltonian Lorenz-like models, Physica D, Vol. 472, 134494 (2025). https://doi.org/10.1016/j.physd.2024.134494
@article{HamLorenz,
title = {Hamiltonian Lorenz-like models},
author = {Francesco Fedele and Cristel Chandre and Martin Horvat and Nedjeljka Žagar},
journal = {Physica D: Nonlinear Phenomena},
volume = {472},
pages = {134494},
year = {2025},
doi = {https://doi.org/10.1016/j.physd.2024.134494},
}
Documentation & Examples
Examples can be found at Examples
The full documentation, including detailed function explanations, is available on the Wiki Page.
Metadata
Release files for HamLorenz 0.1.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hamlorenz-0.1.12.tar.gz | 10.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hamlorenz-0.1.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.7 kB
Release files / hamlorenz-0.1.12.tar.gz
| Download URL | hamlorenz-0.1.12.tar.gz |
|---|---|
| Size | 10.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dcdb49e536f2e382328b61dec935414c986880c00998b350c3bc8ec079419f3e
|
|
BLAKE2b-256 checksum How to use checksums |
579a742982fe7460625e5830df98f35765a9acbaee2e891908fa1ab2fddd902c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.20
|
Release files / hamlorenz-0.1.12-py3-none-any.whl
| Download URL | hamlorenz-0.1.12-py3-none-any.whl |
|---|---|
| Size | 10.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
89e43c4c98c68d9e0a3bf11eb79868c17f95adb0660032ea0c8c8e0c16ea384f
|
|
BLAKE2b-256 checksum How to use checksums |
d8003aac0107737b7bd7af5c45089dcd2ae4a14d7f12aab0df616f87ebbb2462
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.20
|