🤖 AI Summary
This work addresses the lack of a unified computational framework for analyzing non-ergodicity, modeling heavy-tailed dynamics, and studying decision-making under uncertainty in stochastic processes. To this end, we introduce an open-source Python library that, for the first time, integrates non-ergodicity diagnostics, simulation of heavy-tailed processes—such as multiplicative Lévy growth and memory-dependent mean-reverting dynamics—and agent-based experimentation within a single platform. Built upon the scientific Python ecosystem (NumPy/SciPy), the library supports end-to-end workflows including stochastic process definition, simulation, parameter inference, and partial solution of stochastic differential equations. Through several reproducible examples—ranging from heavy-tailed ensemble diffusion to pre-asymptotic fluctuation analysis—it substantially reduces boilerplate code and enhances both reproducibility and development efficiency in the study of time-averaged behaviors of complex stochastic systems.
📝 Abstract
ergodicity is an open-source Python library for computational work on stochastic dynamics, with particular emphasis on non-ergodicity, time-average behavior, heavy-tailed processes, and decision making under uncertainty. The package brings together three layers that are often split across ad hoc scripts: process definitions and simulators, analysis and fitting tools, and agent-based experimentation. This article documents the implemented software rather than presenting new stochastic theory. We describe the package architecture, the supported process families, the analysis workflow, and the practical boundaries of the current implementation. We also provide fully reproducible examples covering heavy-tailed ensemble spread, multiplicative Levy growth diagnostics, adaptive memory mean reversion, preasymptotic fluctuation analysis, and partial stochastic differential equation simulation. The package is positioned as an integration layer on top of the scientific Python stack, reducing the amount of glue code required to move from process specification to diagnostics and comparative experiments.