EigSolver
- class trainsum.trainsum.EigSolver(*maps, eps=1e-10, solver, decomposition, strategy, optimizer)
Variational eigenvalue solver for quantics tensor trains. The eigenvalue equation isdefined by the provided linear maps. The DMRG algotihm is using the canonical formatof tensor trains to map the global eigenvalue problem to a sequence of local problems,which are solved by the provided local solver. If the sweeping strategy has ncores>=2the decomposition is used to recover the single cores, thereby defining the rank.
- Parameters:
maps (LinearMap)
eps (float)
solver (LocalEigSolver)
decomposition (MatrixDecomposition)
strategy (SweepingStrategy)
optimizer (Literal['optimal', 'dp', 'greedy', 'random-greedy', 'random-greedy-128', 'branch-all', 'branch-2', 'auto', 'auto-hq'])
- property solver: LocalEigSolver
Iterative eigenvalue solver for the local problems.
- property decomposition: MatrixDecomposition
Matrix decomposition for recovering single cores in multi-core sweeping strategies.
- property strategy: SweepingStrategy
Sweeping strategy defining the order of the local problems and the number of cores to be optimized simultaneously.
- property eps: float
Convergence criterion.
- __call__(guess, states=[], callback=None)
Start with the sweeping DMRG algorithm to solve eigenvalues with an initial guess. The solution will be orthogonal to the provided states. The callback is called after each local problem is solved and can be used to monitor the convergence of the algorithm. Returning True from the callback will stop the algorithm.
- Parameters:
guess (TensorTrain)
states (Sequence[TensorTrain])
callback (Callable[[LocalRange, T], bool] | None)
- Return type: