This repository contains the code and experimental results detailed in the paper Successive randomized compression: A randomized algorithm for the compressed MPO-MPS product
This project has been tested with the following dependencies:
- LAPACK:
3.12.0 - OpenBLAS:
0.3.28 - Python:
>=3.11
Ensure these libraries are installed and available in your environment for optimal performance.
For optimal performance, we provide a custom C++ implementation of the incremental QR decomposition. If you choose not to build it, a Python version written in scipy will be used (which is slower).
With the Conda environment activated, run the following command from the project root:
bash setup_QR.shAfter building, you can verify that the optimized C++ implementation is being used by running:
uv run python packages/tensornetwork/src/tensornetwork/incrementalqr.pyIf the build was successful, you should see the following message at the start of the output:
Using C++ implementation for incQR
If this message does not appear, the build may have failed, and the default Python implementation will be used instead.
Building the optimized incremental QR decomposition may require additional configuration of cmake and a compatible C++ compiler. Ensure you have a properly configured build system before proceeding.
If you encounter issues or have suggestions, feel free to open an issue or contribute to the project.