order_combine_term

  • full name: tenpy.networks.terms.order_combine_term

  • parent module: tenpy.networks.terms

  • type: function

tenpy.networks.terms.order_combine_term(term, sites)[source]

Combine operators in a term to one terms per site.

Takes in a term of operators and sites they acts on, commutes operators to order them by site and combines operators acting on the same site with multiply_op_names().

Parameters:
  • term (a list of (opname_i, i) tuples) – Represents a product of onsite operators with site indices i they act on. Needs not to be ordered and can have multiple entries acting on the same site.

  • sites (list of Site) – Defines the local Hilbert space for each site. Used to check whether the operators anticommute (= whether they need Jordan-Wigner strings) and for multiplication rules.

Returns:

  • combined_term – Equivalent to term but with at most one operator per site.

  • overall_sign (+1 | -1 | 0) – Comes from the (anti-)commutation relations. When the operators in term are multiplied from left to right, and then multiplied by overall_sign, the result is the same operator as the product of combined_term from left to right.