SIAM News Blog
Software and Programming

Optimal Causation Entropy for the Next Generation

Erik M. Bollt. Image courtesy of Clarkson University.
Erik M. Bollt. Image courtesy of Clarkson University.

We at the Clarkson University Center for Complex Systems Science (C3S2) are deeply saddened by the recent death of our friend and mentor Erik M. Bollt, who passed away suddenly in December 2025. Much of Erik’s research focused on causal network inference, and optimal causation entropy (oCSE) occupies a prominent place in his body of work. The oCSE algorithm is a robust causal network modeling technique that identifies causal networks from dynamical systems and coupled oscillators, distinguishing direct paths from indirect ones [4, 5]. At C3S2, we are committed to continuing Erik’s efforts to preserve the long-term maintenance and availability of the oCSE algorithm so that future researchers have full access when exploring fundamental questions related to this area of study. 

In 2025, C3S2 released a widely available, open-source application of the oCSE algorithm—a Python library called CausationEntropy—that implements oCSE and several of its significant optimizations and methodological extensions [3]. The library is compatible with Python 3.6 and later versions and runs smoothly on most major platforms, including Windows, macOS, and Linux. It depends on well-known packages such as NumPy and SciPy, ensuring seamless integration with existing data analysis workflows.

The CausationEntropy library also includes new synthetic data generators, plotting tools, performance benchmarks, and several advanced information-theoretical causal network discovery algorithms with criteria for the estimation of Gaussian functions, \(k\)-nearest neighbors, geometric \(k\)-nearest neighbors, kernel density, and Poisson entropic estimators [1, 2]. Additionally, we are planning for future editions with a new method that we call information-informed Lasso. Ultimately, we expect this package to serve as a benchmark tool for causal discovery in complex dynamical systems.

<strong>Figure 1.</strong> Conceptual guide to optimal causation entropy (oCSE). Information theoretical measures estimate every possible link in a backward and forward pass, first maximizing possible links and then pruning incorrect ones. When additional conditioning sets are absent, this method reduces to transfer entropy, making the oCSE algorithm more robust to larger systems. Image courtesy of [3].
Figure 1. Conceptual guide to optimal causation entropy (oCSE). Information theoretical measures estimate every possible link in a backward and forward pass, first maximizing possible links and then pruning incorrect ones. When additional conditioning sets are absent, this method reduces to transfer entropy, making the oCSE algorithm more robust to larger systems. Image courtesy of [3].

The package is quite user friendly, as one can easily install it from the PyPi software repository (pip install CausationEntropy). It is thoroughly documented with online tutorials; supplemented with extensive code examples; and modularly structured to support future additions, open-source contributions, and information-theoretic extensions of the algorithm (i.e., different measures of entropy that the oCSE algorithm naturally supports). The entire codebase is released under the MIT license.

Cause-and-effect relationships, in the Wiener–Granger sense, are of central interest to scientists and researchers in engineering and related fields, where the discovery of causal networks from dynamical systems and coupled oscillators is critical for explanation, prediction, and control. The oCSE principle states that the causal parents of a network time series form the minimal set of nodes that maximizes the causation entropy (see Figure 1) [1, 3]. For this reason, oCSE and CausationEntropy support the inclusion of arbitrary information-theoretical entropies. We expect to integrate several planned additions—including histogram entropy and Hawkes entropy—into the library by the end of 2026; development for further entropies and enhancements is likewise underway and will be detailed in our upcoming project roadmap. These efforts provide ample opportunities for students and community members to contribute and engage with our continuously evolving platform.

<strong>Figure 2.</strong> Example figure that was generated with the CausationEntropy library. This image is available in our <a href="https://colab.research.google.com/github/Center-For-Complex-Systems-Science/causationentropy/blob/main/notebooks/Quickstart.ipynb" target="_blank">quick start notebook</a>, courtesy of [3].
Figure 2. Example figure that was generated with the CausationEntropy library. This image is available in our quick start notebook, courtesy of [3].

Researchers who wish to partake in the development of the CausationEntropy library can find open issues and examples on our GitHub discussion page. To get started, fork the repository on GitHub and work on open issues that most align with your interests or expertise; once you’ve made your contributions, submit a pull request for review. We encourage all contributors to adhere to our code of conduct to ensure a welcoming and collaborative environment. Our library and code repository—combined with our commitment to long-term maintenance of the software—allow for vibrant discussion among researchers who are applying the tool, as well as planned extensions that will serve as starting points for new users. We humbly ask that interested parties follow C3S2 on GitHub and leave a star on our repository to build our visibility.

The core algorithm’s many real-world data applications include neurological networks [2], collective animal behavior [6], medical and loan-list data [1], and Boolean networks for a wide range of classification tasks. To accelerate additional scientific discoveries, our software implements plotting code that delivers publication-quality plots (see Figure 2) and provides domain experts with a diagnostic to confirm the veracity of new causal links.

At C3S2, we are committed to preserving and furthering Erik’s intellectual achievements in multiple ways. Our long-term maintenance of the CausationEntropy library will ensure its availability for future generations of researchers, and our continued scientific endeavors will honor the many lessons that he taught us. To conclude, we leave readers with his most important lesson: science always takes a backseat to friends and family. 


Acknowledgments: This work was supported by the Army Research Office grant no. ARO W911NF2310393.

References
[1] Lord, W.M., Sun, J., & Bollt, E.M. (2018). Geometric k-nearest neighbor estimation of entropy and mutual information. Chaos, 28(3), 033114.
[2] McIntyre, C.C., Bahrami, M., Shappell, H.M., Lyday, R.G., Fish, J., Bollt, E.M., & Laurienti, P.J. (2024). Contrasting topologies of synchronous and asynchronous functional brain networks. Netw. Neurosci., 8(4), 1491-1506
[3] Slote, K., Fish, J., & Bollt, E. (2026). CausationEntropy: Pythonic optimal causation entropy for causal network discovery. Preprint, arXiv:2601.13365. 
[4] Sun, J., & Bollt, E.M. (2014). Causation entropy identifies indirect influences, dominance of neighbors and anticipatory couplings. Phys. D: Nonlinear Phenom., 267, 49-57. 
[5] Sun, J., Taylor, D., & Bollt, E.M. (2015). Causal network inference by optimal causation entropy. SIAM J. Appl. Dyn. Syst., 14(1), 73-106.
[6] Lord, Warren & Sun, Jie & Ouellette, Nicholas & Bollt, Erik. (2016). Inference of Causal Information Flow in Collective Animal Behavior. IEEE Transactions on Molecular, Biological and Multi-Scale Communications, 2(1). 

About the Authors

Kevin Slote

Research professor, Clarkson University

Kevin Slote is a research professor in the Clarkson Center for Complex Systems Science at Clarkson University. He holds a Ph.D. in applied mathematics from Georgia State University.

Jeremie Fish

Research professor, Clarkson Center for Complex Systems Science

Jeremie Fish is a research professor in the Clarkson Center for Complex Systems Science at Clarkson University. He holds a Ph.D. in applied mathematics from Clarkson University.

Erik M. Bollt

W. Jon Harrington Professor of Mathematics, Clarkson University

Erik M. Bollt, who passed away in December 2025, was the W. Jon Harrington Professor of Mathematics at Clarkson University. He held joint appointments in electrical and computer Engineering and served as director of the Clarkson Center for Complex Systems Science — roles through which he made foundational contributions to dynamical systems and network science.