Hi,

I'm recently developing some Krylov subspace algorithm with itensor, and the final step is `phi = V*u`

, where V and u are `std::vector<ITensor> V(n)`

and `std::vector<Cplx> u(n)`

respectively. One can consider `V`

as a matrix (it has `n`

columns with each be an ITensor, all ITensors have same IndexSet).

A possible efficient way is extracting each storage of ITensors in `V`

and joint them into a new large storage(since itensor use column major, it's straightforward to combine these storages into a new one), then do matrix multiplication with `u`

.

I'm not familiar with lower itensor apis and any help is appreciated. It is also necessary to consider the block storage of QN ITensors.