Skip to content

A package to simplify working with symmetry-adapted quantum many-body bases. Provides a good foundation for writing custom exact diagonalization and variational Monte Carlo software

License

Notifications You must be signed in to change notification settings

twesterhout/lattice-symmetries

Folders and files

NameName
Last commit message
Last commit date

Latest commit

36215fe · Aug 30, 2023
May 23, 2023
Aug 29, 2023
Aug 4, 2023
Jul 16, 2023
Aug 30, 2023
Aug 4, 2023
Aug 4, 2023
Aug 12, 2020
Mar 23, 2021
Jun 17, 2023
Nov 25, 2020
Jun 7, 2023
Oct 21, 2021
Aug 4, 2023
Jul 14, 2023
Aug 30, 2023
Jun 17, 2023

Repository files navigation

⚠️ INFO

This is a Haskell rewrite of the original lattice-symmetries. At some point, this package will completely replace the first version of lattice-symmetries.

lattice-symmetries Build

License

A package to simplify working with symmetry-adapted quantum many-body bases.

Hamiltonians

Spins

$$ \mathbf{S}_i \cdot \mathbf{S}_j = \frac{1}{4} \left( \sigma^x_i \sigma^x_j + \sigma^y_i \sigma^y_j + \sigma^z_i \sigma^z_j \right) $$

$$ \sigma^{+}_i \sigma^{-}_j $$

MathsCode

S i S j = S i x S j x + S i y S j y + S i z S j z

"Sˣ₀ Sˣ₁ + Sʸ₀ Sʸ₁ + Sᶻ₀ Sᶻ₁" or "Sx0 Sx0 + Sy1 Sy1 + Sz0 Sz1"

"0.25 (σˣ₀ σˣ₁ + σʸ₀ σʸ₁ + σᶻ₀ σᶻ₁)"

"σ⁺₀ σ⁻₁" or "\sigma^+_0 \sigma^-_1" or "\sigma+0 \sigma-1"

Electrons

Maths Code

$$ c^\dagger_{i\uparrow}c_{j\uparrow} + c^\dagger_{i\downarrow}c_{j\downarrow} $$

"c†₀↑ c₁↑ + c†₀↓ c₁↓"

$$ n_{i\uparrow} n_{i\downarrow} $$

"n₀↑ n₀↓" or "n0up n0down"