SpinOne and SpinOneSite

The SpinOne class is a specialization of SiteSet which initializes its sites to be of type SpinOneSite, representing a S=1 spin.

The SpinOneSite class can also be used to create custom SiteSets which mix SpinOneSites with other types of sites.

The SpinOne site set accepts the optional named arguments "SHalfEdge" which makes the first and last sites S=1/2 spins, or "SHalfLeftEdge" which only makes the first site a S=1/2 spin. (This is useful, for example, to study the edge physics of the Haldane phase of a one-dimensional S=1 Heisenberg chain.)

SpinOne and SpinOneSite are defined in the file "itensor/mps/sites/spinone.h"

Synopsis

auto sites = SpinOne(100);

auto Sz_3 = op(sites,"Sz",3);

auto Sx2_4 = op(sites,"Sx2",4);

auto Sp_5 = op(sites,"S+",5);

//Use IndexVals to get the 0,+ element of the S+ operator
auto Spzp = elt(Sp_5,sites(5,"Z0"),prime(sites(5,"Up")));

States of a SpinOneSite

  • "Up" — the @@m_z=+1@@ spin state

  • "Z0" — the @@m_z=0@@ spin state

  • "Dn" — the @@m_z=-1@@ spin state

Operators Provided by SpinOneSite

  • "Sz" — the @@S^z@@ spin operator

  • "S+" — the @@S^+@@ operator (alternate name is "Sp")

  • "S-" — the @@S^-@@ operator (alternate name is "Sm")

  • "Sx" — the @@S^x@@ operator (must be converted to an ITensor prior to usage)

  • "Sy" — the @@S^y@@ operator (must be converted to an ITensor prior to usage)

  • "ISy" — defined as @@i\,S^y@@ (must be converted to an ITensor prior to usage)

  • "Sz2" — the @@(S^z)^2@@ operator

  • "Sx2" — the @@(S^x)^2@@ operator

  • "Sy2" — the @@(S^y)^2@@ operator

  • "S2" — the @@(\vec{S})^2@@ operator


Back to Classes
Back to Main