Learn to Use ITensor
Basics of ITensor
Simplest non-trivial program (similar to "hello world") based on the ITensor library.
How to cite the ITensor Library in a paper or published work.
Tensor Network Fundamentals
Tensor network diagrams are a powerful way to express contractions of many tensors. Learn to understand tensor diagrams and translate them into ITensor code.
We discuss how to determine the cost of evaluating a tensor network and best practices for computing properties of matrix product states.
The singular value decomposition (SVD) provides a way to separate large degrees of freedom from irrelevant ones. ITensors allows for the easy SVD of tensors.
Learn how to map fermionic operators to bosonic operators with non-local "string" operators.
ITensor Library Tutorials
ITensor uses a flexible priming system to prevent indices from automatically contracting. We discuss best practices and give examples.
Learn how to choose optimal parameters (number of sweeps; cutoff; etc) for DMRG calculations of ground states.
A matrix product state (MPS) is a tensor network often used to represent ground states and low-lying excited states of one-dimensional quantum systems. Learn about some basics of using MPS with ITensor.
Hamiltonians and other sums of local operators can be represented as a tensor network called an MPO. This tutorial introduces the idea of an MPO with an example, and gives a taste of some advanced concepts.
Instead of making MPOs by hand, ITensor has a facility to create MPOs using a simple interface resembling hand-written mathematical notation.
Contracting a tensor network to measure a two-operator correlation function from an MPS is shown in diagrammatic form with ITensor code.
ITensor comes with an optional input parameter system you can use to read simulation parameters from an external file.
Args is a system used in ITensor to pass named parameters to functions, and can be a useful addition to your own code. Examples of named arguments include SVD accuracy parameters ("Maxm", "Cutoff") and parameters controlling the amount of information printed by an algorithm.
Git is the version control system used to maintain ITensor. Learn the basic git workflow and how to contribute to the ITensor code base.
Back to Main