Function QCM::explicit_operator

Function Documentation

void QCM::explicit_operator(const string &name, const string &type, const vector<tuple<vector3D<int64_t>, vector3D<int64_t>, complex<double>>> &elem, int tau, int sigma)

Defines an operator on the lattice with explicit lattice elements.

Defines an explicit operator from a list of matrix elements.

Parameters:
  • name – name given to the operator

  • type – type of pairing: Hubbard, Hund, Heisenberg, X, Y, Z, singlet, dx, dy, dz (by default: hopping)

  • elem – a liste of pairs (site, bond)

  • tau – label (0,1,2,3) of the Pauli matrix defining the orbital component (a in the formula above)

  • sigma – label (0,1,2,3) of the Pauli matrix defining the spin component (b in the formula above)