Please Read: Make It Easier to Help You

This community is for technical support and discussion of the ITensor Software, and official packages based on ITensor.

We highly recommend using the Julia version of ITensor. It has the same or better performance compared to the C++ version, many more features, and is much more actively developed.

To make your question as successful as possible, here are some guidelines:

  • Please search first to see if a similar question has been asked.
  • If you are having trouble running DMRG, where you think DMRG is giving an unexpected answer or not converging properly, please first look at the DMRG FAQs in the documentation. That should address most questions about DMRG convergence. Please keep in mind that this forum is not meant for asking questions about physics results, but instead is meant to answer questions about functionality of the ITensor software libraries (such as how to use a certain function, compute a certain quantity, report bugs, suggest new features, etc.).
  • Please post your question in the correct category:
  • If you are reporting a bug or something is not working as expected, please provide a minimal working example code to reproduce your issue. Please refrain from posting very long, complicated codes with many functions unless requested. Additionally, please specify the version of ITensor you are using, which will make it easier to help you.
    • Please do not attach a screenshot of your code, it makes it much more difficult for us to help you since then we cannot easily run your code to reproduce your issue. Instead, copy the text of your code directly into your post and format it properly so that we can easily read it.
    • If you are using the Julia version of ITensor, please show the output of the commands versioninfo() and using Pkg; Pkg.status("ITensors").
    • If you are using the C++ version of ITensor, please specify the version of C++ ITensor you are using.
  • If you are unsure what a line of code does, or whether a tensor has a certain property, try printing it out! Almost everything in ITensor is printable, using either the @show macro in Julia or the println function in Julia or C++ (or the Print or PrintData functions in C++). The printouts can show you what indices an ITensor has, and you can also print the norm of an ITensor, etc.
  • For physics-related questions involves a Hamiltonian, please state clearly and precisely what this Hamiltonian is, either by writing it out in LaTeX notation (see how to do this below), or by providing a link to a paper with the equation number

This forum offers both code formatting and math (LaTeX) formatting.

To use code formatting, use single backticks (`) for inline code formatting, or triple backticks (```) for multi-line code formatting. Here are some examples:

  • Writing `f(x,y) = x+y` gives the output f(x,y) = x+y.
  • Writing
    ```
    for i=1:5
    println(i)
    end
    ```
    gives the output
    for i=1:5
       println(i)
    end
    

To use LaTeX math formatting use either single dollar signs ($) for inline math formatting or double dollar signs ($$) for multi-line math formatting. Here are some examples:

  • Writing $f(x) = e^{i x}$ gives the output f(x) = e^{i x}.
  • Writing
    $$
    \int_a^b \frac{x + x^2}{\cos(x)} dx
    $$
    gives the output
    \int_a^b \frac{x + x^2}{\cos(x)} dx
1 Like