seemps.optimization.arnoldi_eigh#

seemps.optimization.arnoldi_eigh(operator: MPO, guess: MPS | None = None, maxiter: int = 100, nvectors: int = 10, tol: float = 1e-13, tol_ill: float = float(np.finfo(float).eps * 10), tol_up: float | None = None, upward_moves: int = 5, gamma: float = -0.75, strategy: Strategy = DESCENT_STRATEGY, callback: Callable[[MPS, OptimizeResults], Any] | None = None) OptimizeResults[source]#

Ground state search of Hamiltonian H by the Arnoldi method.

Parameters:
HMPO | MPOList | MPOSum

Hamiltonian in MPO form.

guessMPS | None

Initial guess of the ground state. If None, defaults to a random MPS deduced from the operator’s dimensions.

maxiterint

Maximum number of iterations (defaults to 1000).

nvectors: int

Number of vectors in the Krylov basis (defaults to 10).

tolfloat

Energy variation that indicates termination (defaults to 1e-13).

tol_upfloat, default = tol

If energy fluctuates up below this tolerance, continue the optimization.

tol_illfloat

Check for ill conditioning of the Krylov basis (defaults to 1e-15).

gammafloat

If nonzero, convergence acceleration factor. Default is 0.0 (no inertia). Alternatively, provide -0.75.

strategyStrategy | None

Linear combination of MPS truncation strategy. Defaults to DESCENT_STRATEGY.

callbackCallable[[MPS, OptimizeResults], Any] | None

A callable called after each iteration (defaults to None).

Returns:
OptimizeResults

Results from the optimization. See OptimizeResults.