Skip to main content

Module square

Module square 

Source
Expand description

Linear equation solver for Tree Tensor Networks (V_in = V_out case).

This module provides the square_linsolve function for solving linear systems of the form (a₀ + a₁ * A) * x = b where A is a TTN operator and x, b are TTN states, and the input and output spaces are the same (V_in = V_out).

§Algorithm

The algorithm uses alternating updates (sweeping) similar to DMRG:

  1. Position environments to expose a local region
  2. Solve the local linear problem using GMRES (via kryst)
  3. Factorize the result and move the orthogonality center
  4. Update environment caches

§Inspired By

This implementation is inspired by:

§References

  • Phys. Rev. B 72, 180403 (2005) - Noise term technique (not implemented in initial version)

Structs§

LinsolveVerifyReport
Report from SquareLinsolveUpdater::verify().
NodeVerifyDetail
Per-node verification details.
ProjectedState
ProjectedState: Manages 2-chain environments for RHS computation.
SquareLinsolveResult
Result of square_linsolve operation.
SquareLinsolveUpdater
SquareLinsolveUpdater: Implements LocalUpdater for the square linsolve algorithm.

Functions§

square_linsolve
Solve the linear system (a₀ + a₁ * H) |x⟩ = |b⟩ for TreeTN.