seemps.operators.simplify_mpo#

seemps.operators.simplify_mpo(operator: TypeAliasForwardRef('~seemps.operators.MPO') | TypeAliasForwardRef('~seemps.operators.MPOList') | TypeAliasForwardRef('~seemps.operators.MPOSum'), strategy: Strategy = MPO_SIMPLIFICATION_STRATEGY, direction: int = +1, guess: TypeAliasForwardRef('~seemps.operators.MPO') | None = None, mpo_strategy: TypeAliasForwardRef('~seemps.state.Strategy') | None = None) MPO[source]#

Simplify an MPO state transforming it into another one with a smaller bond dimension, sweeping until convergence is achieved.

Parameters:
operatorMPO | MPOList | MPOSum

MPO to simplify. If given as MPOList or MPOSum, it is joined to MPO before the simplification.

strategyStrategy, default=SIMPLIFICATION_STRATEGY

Truncation strategy to use in the simplification routine.

directionint, default=1

Initial direction for the sweeping algorithm.

guessMPS, optional

Guess for the new state, to ease the optimization.

mpo_strategyStrategy | None

Strategy of the resulting MPO (defaults to the one from operator)

Returns:
MPO

Approximation O to the operator.