Skip to main content

Hamiltonian Lorenz-like models

Project description

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.

PyPI License

PyPI - Downloads

Installation

Installation within a Python virtual environment:

python3 -m pip install hamlorenz

For more information on creating a Python virtual environment, 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hamlorenz-0.1.11.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hamlorenz-0.1.11-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file hamlorenz-0.1.11.tar.gz.

File metadata

  • Download URL: hamlorenz-0.1.11.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.15

File hashes

Hashes for hamlorenz-0.1.11.tar.gz
Algorithm Hash digest
SHA256 88c35e78d99a3dcb490d2a7924de7b49fd98d016de6cc25f4828e2d835626532
MD5 7ac16fbb09d294f975467a46b6b9b2aa
BLAKE2b-256 95def1d0d940ac6eb2e0ef608c540efb05ab1e57da9a0a7e752b375955fec6c0

See more details on using hashes here.

File details

Details for the file hamlorenz-0.1.11-py3-none-any.whl.

File metadata

  • Download URL: hamlorenz-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.15

File hashes

Hashes for hamlorenz-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 d90379a28c4e0966e7e0607ed43d46d745d326a5d9f42ea8aadadca7d01b7925
MD5 8cb50802dc8614a7f0b3b5f9eef81312
BLAKE2b-256 b7d11ac9386c96ea31ab03394b8ad6095032f7e2c6ccff41a505975acd6362df

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page