twesterhout / lattice-symmetries

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

⚠️ 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

$$ \mathbf{S}_i \cdot \mathbf{S}_j = S^x_i S^x_j + S^y_i S^y_j + S^z_i S^z_j $$

"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"

About

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:BSD 3-Clause "New" or "Revised" License


Languages

Language:Haskell 34.7%Language:Chapel 31.1%Language:Gnuplot 9.6%Language:Python 7.3%Language:C 6.9%Language:C++ 4.1%Language:Makefile 3.6%Language:Nix 2.6%Language:Shell 0.2%