ITensor to MPS/MPO in C++

Dear ITensor,

I’m considering construct TT-approximation in C++. I notice in Julia version, there is a “MPS” function that can construct the MPS from an ITensor, e.g.

using ITensors

cutoff = 1E-8
maxdim = 10
T = randomITensor(i,j,k,l,m)
M = MPS(T,(i,j,k,l,m);cutoff=cutoff,maxdim=maxdim)

However, i have not find such a MPS usage in C++ version. May I ask is there any simple package in ITensor C++ to do this, or i need to write a program of a sequence SVDs of unfolding matrices instead. Thank you.

Best,

Trudy

Unfortunately I don’t think we have this in the C++ version, so you’d have to code a sequence of SVDs. If you’d like help with any step, please let us know. Also if you are interested in turning your code into a contribution to the library and want to open a pull request, we could add this as a new constructor for the MPS class.

1 Like