Skip to content

Conversation

@JanReimers
Copy link
Contributor

@JanReimers JanReimers commented Apr 2, 2023

Started with Lioc Herviou's code. Uses directsum() to build the InfiniteMPO tensors. Supports dense and block-sparse under the hood (no if hasqns() code blocks). Tested with Heisenberg/Hubbard models with 1-5 NN interactions and Lioc's FQHE model with Ncell=6 and Ly=3.
This is not the most efficient way to build InfiniteMPO, the output has extra columns and rows with I's and all zeros that should subsequently be removed with block repsecting orthogonalization and or compression. We should be able to build a more efficient InfiniteMPO by using a block respecting directsum as described in eq. E3 in the Parker paper. But if users are going to compress anyway, maybe this is not useful.

 matrixITensorToITensor--> cat_to_itensor
inds(H;tags="Link") -->inds(H,tags="Link")
Use network connectivity and set operations.
@mtfishman
Copy link
Member

Looks great, thanks @JanReimers! Glad to see it ended up so simple.

I recall that you said something about having to make use of some slicing functionality from your package https://github.com/JanReimers/ITensorMPOCompression.jl to implement this function. I don't see that here, is that no longer necessary?

@JanReimers
Copy link
Contributor Author

Yes, directsum made slicing unnecessary.

@mtfishman
Copy link
Member

Yes, directsum made slicing unnecessary.

Great, thanks for clarifying. I imagine that slicing could be faster, at least the way directsum is implemented right now, so if we see any performance issues we could keep that in mind. directsum itself could be sped up with better slicing support (the implementation right now is simple but not designed for efficiency) so that is also something to keep in mind as a potential improvement.

@JanReimers
Copy link
Contributor Author

Yes my anecdotal example for that is that early versions of the compression module did all the slicing at the ITensors level. When I moved it down to the NDTensors level (with subtensors.jl) the performance improvement was stunning.

@mtfishman mtfishman merged commit 1f19fd1 into ITensor:main Apr 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants