Multiplies two applied one-operators such that this
is applied first.
If this
is acting on the right of b
(as defined by isLeft(location, b.location)
being false), two additional swap gates (t
in the diagram below) at the top and bottom are inserted as well such that the first and third index of the result always correspond to the left site and the second and fourth index always correspond to the right site.
Note that the swap-gate S
takes over the role of the parity operator used in MPS. On the left-hand side, the fuse is projected onto the vacuum sector to close the leg.
References syten::IPEPS::OneOp::aIdx, syten::Basis::flipped(), syten::genIINode(), syten::genSwap(), syten::Tensor< rank >::getBasis(), isLeft(), syten::IPEPS::AOneOp::location, syten::IPEPS::AOneOp::op, SYTEN_WARN_MSG, and syten::IPEPS::OneOp::uIdx.
Referenced by syten::diagonal(), syten::MPS::ParseOperator::distributeF(), syten::IPEPS::AOneOp::operator*(), and syten::IPEPS::ATwoOp::operator*().