SyTen
syten-switch-sites.cpp File Reference

Reads in a state or lattice and exchanges two logical sites a and b with each other. More...

+ Include dependency graph for syten-switch-sites.cpp:

Namespaces

 syten
 Syten namespace.
 

Detailed Description

Reads in a state or lattice and exchanges two logical sites a and b with each other.

For a bosonic lattice, applying this operation shall be the same as if, during the creation of the lattice, in each call to MPS::Lattice::get(op, site), site was replaced by idx[site], with idx[i] = i for all i except a, b and idx[a] = b and vice versa.

For a bosonic state, we demand that any state deterministically generated on the original lattice and then site-switched shall be the same as a state deterministically generated by the same methods on the switched lattice, assuming that no truncation occurs.

For fermionic states and lattices, the same guarantees hold, assuming that the user correctly supplied the fermionic symmetry sectors.