ITensor / ITensor/NamedGraphs.jl

More sophisticated lattice boundary conditions

Open
#84 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
10
Forks
5
Avg merge
6h 43m
Merged PRs (30d)
17

Description

Something that is missing from the current lattice definitions like square/grid, triangular, and hexagonal is the concept of orienting those lattices in different ways, for example rotating them by a certain angle, which can be useful for 1D tensor network algorithms like DMRG where it is common practice to perform the same calculation on cylinders built from wrapping the same lattice in different ways to see how the ground state changes or doesn't change.

This may require adding on some concept of translation vectors. A simple approach could be to add positions as metadata on the vertices of the graph representations of the lattices (say using DataGraphs.jl, where the vertex data storing the positions could be the Point type from GeometryBasics.jl). Then, lattice rotations could be geometric operations on those positions, and then lattice wrapping could be done through lattice rotations and then cutting certain edges of the lattice (say by only keeping vertices that have positions that fall within a certain rectangular region of space), and then adding back edges to implement periodic boundary conditions.

@JoeyT1994 @emstoudenmire

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by surveying the current square/grid, triangular, and hexagonal lattice definitions and their graph representations. Then evaluate the proposed translation vectors or vertex position metadata using DataGraphs.jl and GeometryBasics.jl. Done means lattices can be oriented or rotated and wrapped with periodic boundary conditions for the described tensor-network use case.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.