Skip to content

ultimatile/RandomMPOMPS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Randomized MPO-MPS Contraction

image

A Randomized Algorithm for the Compressed MPS-MPO Product

This repository contains the code and experimental results detailed in the paper Successive randomized compression: A randomized algorithm for the compressed MPO-MPS product

Installation Instructions

System Requirements

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.


(Optional) Optimized Incremental QR Build

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).

Building the Optimized Incremental QR

With the Conda environment activated, run the following command from the project root:

bash setup_QR.sh

Verifying a Successful Build

After building, you can verify that the optimized C++ implementation is being used by running:

uv run python packages/tensornetwork/src/tensornetwork/incrementalqr.py

If 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.


Notes for Windows Users

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.


Support & Contributions

If you encounter issues or have suggestions, feel free to open an issue or contribute to the project.


About

A randomized algorithm for the compressed MPS MPO product

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.7%
  • Other 1.3%