A fast algorithm for constructing a Matrix Product Operator (MPO) from a sum of local operators. This is a replacement for ITensorMPS.MPO(os::OpSum, sites::Vector{<:Index}). If julia is started with multiple threads, they are used to transparently speed up the construction.
The three goals of this library are
- Produce exact MPOs (up to floating point error) of the smallest possible bond dimension.
- Maximize the block sparsity of the resulting MPOs.
- Accomplish these goals as fast as possible.
ITensorMPOConstruction is not designed to construct approximate compressed MPOs. If this is your workflow, construct the exact MPO then call ITensorMPS.truncate!.
The package is currently not registered. Please install with the commands:
julia> using Pkg; Pkg.add(url="https://github.com/ITensor/ITensorMPOConstruction.jl.git")If you use this library in your research, please cite the following article https://doi.org/10.1103/nzrt-l2j1
In addition to GitHub issues, you can ask question on the ITensors discourse.