The EnergyFlow package is written in pure Python and depends only on NumPy, the fundamental package for scientific computing with Python, and six, which is a lightweight module to patch some inconvenient differences between Python 2 and Python 3.
The EnergyFlow package is designed to work with Python 2.7, 3.5, 3.6, and 3.7. These can be installed from here. The latest stable version of Python 3 is highly recommended.
To install from PyPI using
pip, make sure you have one of the supported versions of Python installed and that
pip is available in the system path. Simply execute
pip install energyflow and EnergyFlow will be installed in your default location for Python packages.
Bleeding edge install
EnergyFlow is hosted on GitHub and can be installed by cloning the repository and running
python setup.py install. This is not generally recommend as the master branch may contain unstable features.
EnergyFlow relies on iGraph for generation of multigraphs. This is not required if using the provided graphs suits your needs. If you wish to generate your own graphs, make sure that iGraph is importable.
Since EnergyFlow relies on
numpy.einsum to do most of the computational heavy lifting, newer versions of NumPy may provide changes/speedups in performance if
einsum changes. NumPy
einsum to use
tensordot when possible compared to
1.13.3, which only used
c_einsum. This means that computations are faster on larger tensors but may be slower on smaller tensors. EnergyFlow currently uses only
c_einsum because it was found to be substantially faster for typical pp-jet applications.