Library documentation

States

MPSKit.FiniteMPSType
mutable struct FiniteMPS{A<:GenericMPSTensor,B<:MPSBondTensor} <: AbstractMPS

Represents a finite matrix product state

When queried for AL/AR/AC/CL it will check if it is missing. If not, return If it is, calculate it, store it and return

MPSKit.InfiniteMPSType
struct InfiniteMPS{A<:GenericMPSTensor,B<:MPSBondTensor}

Represents an infinite matrix product state The state is stored in the centergauge where state.AL[i]state.CR[i] = state.AC[i] = state.CR[i-1]state.AR[i]

MPSKit.MPSComovingType
MPSComoving(leftstate,window,rightstate)

muteable window of tensors on top of an infinite chain

Operators

Missing docstring.

Missing docstring for ComAct. Check Documenter's build log for details.

Environments

MPSKit.PerMPOInfEnvType
This object manages the periodic mpo environments for an MPSMultiline
MPSKit.MPOHamInfEnvType
This object manages the hamiltonian environments for an InfiniteMPS
MPSKit.FinEnvType
FinEnv keeps track of the environments for FiniteMPS / MPSComoving
It automatically checks if the queried environment is still correctly cached and if not - recalculates
MPSKit.SimpleEnvType
SimpleEnv does nothing fancy to ensure the correctness of the environments it returns.
Supports setleftenv! and setrightenv!
Only used internally (in idmrg); no public constructor is provided
Missing docstring.

Missing docstring for MPSKit.OvlEnv. Check Documenter's build log for details.

Generic actions

MPSKit.c_primeFunction
Zero-site derivative (the C matrix to the right of pos)
MPSKit.expectation_valueFunction

calculates the expectation value of op, where op is a plain tensormap where the first index works on site at

calculates the expectation value of op = op1op2op3*... (ie an N site operator) starting at site at

calculates the expectation value for the given operator/hamiltonian

Algorithms

Missing docstring.

Missing docstring for find_groundstate. Check Documenter's build log for details.

MPSKit.timestepFunction
function timestep(psi, operator, dt, alg,envs = environments(psi,operator))

time evolves psi by timestep dt using algorithm alg

MPSKit.leading_boundaryFunction
leading_boundary(state,opp,alg,envs=environments(state,ham))

approximate the leading eigenvector for opp
Missing docstring.

Missing docstring for changebonds. Check Documenter's build log for details.

MPSKit.excitationsFunction
quasiparticle_excitation calculates the energy of the first excited state at momentum 'moment'

Groundstate algorithms

MPSKit.GradientGrassmannType

GradientGrassmann is an optimisation methdod that keeps the MPS in left-canonical form, and treats the tensors as points on Grassmann manifolds. It then applies one of the standard gradient optimisation methods, e.g. conjugate gradient, to the MPS, making use of the Riemannian manifold structure. A preconditioner is used, so that effectively the metric used on the manifold is that given by the Hilbert space inner product.

The arguments to the constructor are method = OptimKit.ConjugateGradient The gradient optimisation method to be used. Should either be an instance or a subtype of OptimKit.OptimizationAlgorithm. If it's an instance, this method is simply used to do the optimisation. If it's a subtype, then an instance is constructed as method(; maxiter=maxiter, verbosity=verbosity, gradtol=tol)

finalize! = OptimKit._finalize! A function that gets called once each iteration. See OptimKit for details.

tol = Defaults.tol maxiter = Defaults.maxiter verbosity = 2 Arguments passed to the method constructor. If method is an instance of OptimKit.OptimizationAlgorithm, these argument are ignored.

In other words, by default conjugate gradient is used. One can easily set tol, maxiter and verbosity for it, or switch to LBFGS or gradient descent by setting method. If more control is wanted over things like specifics of the linesearch, CG flavor or the m parameter of LBFGS, then the user should create the OptimKit.OptimizationAlgorithm instance manually and pass it as method.

Time evolution algorithms

Leading boundary algorithms

Missing docstring.

Missing docstring for Vumps. Check Documenter's build log for details.

Missing docstring.

Missing docstring for PowerMethod. Check Documenter's build log for details.

Bond change algorithms

[Excitations]

Missing docstring.

Missing docstring for QuasiparticleAnsatz. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FiniteExcited. Check Documenter's build log for details.