◆ STensor

‘Smart’ tensor class.

Main features compared to the plain Tensor:

  • Hides the tensor rank behind a std::variant
  • attempts to implement the graded algebra needed for fermionic tensor networks. The fermionic ordering of legs does not have to coincide with the computational ordering.
  • Stores a complete, named SBasis for every leg. Information about zero blocks is not lost.

Incoming indices are bras, outgoing indices are kets. Rank-2 tensors can always be contracted with a single leg of any other (even) tensor as long as their outgoing leg comes fermionically first and their incoming leg comes fermionically second.

Implemented in the STensorImpl namespace with all associated functions.