0 votes
asked by (150 points)


I know that the C++ ITensor versions overload the "/" operator to do non-contracting product between itensors. Is there a similar functionality in Julia? I couldn't find it very easily.


1 Answer

0 votes
answered by (50.7k points)
selected by
Best answer

Hi Amartya,
We haven’t defined that one in the Julia version. One reason is that it became hard to define it for QN conserving tensors in the C++ version. Another is just that we weren’t sure if anyone was using it.

Could I ask what your use case for it is?


commented by (150 points)
Hi Miles,

Typically real time path integral codes are written using path arrays and other custom structures.  I am playing around with Feynman-Vernon influence functional formalism based on ITensor.  The first step was to have the dynamics of a single two level system coupled to a harmonic bath.  I am now thinking of doing many two level systems connected to each other as an extended system that is talking to a harmonic bath.  For a nearest neighbor interaction, it should be simple enough to do.  It would be a two-dimensional PEPS like decomposition.  I wanted to be able to handle non-nearest neighbor interactions by adding extra bonds instead of having the bond dimension grow out of bounds.  I think I might need something like a non-contracting product for that.

Using the SVD decomposition for reducing the size of the space and making the representation more compact might help a lot with extended systems with short range interactions.  I am already seeing some improvements over my old codes for the single two level system case in terms of storage requirements.  I have not yet compared performance, but those codes are in C++ and I was just playing with the Julia version, where my code may not be the most optimized.

I can discuss in greater depth if you are interested.


commented by (150 points)
Hi Miles,

I have defined a non-contracting product of basic tensors which works for my case.  I don't know if it is of any interest to the community.  Would you please explain to me the issues arising with QN-conserving tensors?  I have never really used them in ITensor.

Hope you are having a great holiday!


Welcome to ITensor Support Q&A, where you can ask questions and receive answers from other members of the community.

Formatting Tips:
  • To format code, indent by four spaces
  • To format inline LaTeX, surround it by @@ on both sides
  • To format LaTeX on its own line, surround it by $$ above and below
  • For LaTeX, it may be necessary to backslash-escape underscore characters to obtain proper formatting. So for example writing \sum\_i to represent a sum over i.
If you cannot register due to firewall issues (e.g. you cannot see the capcha box) please email Miles Stoudenmire to ask for an account.

To report ITensor bugs, please use the issue tracker.