Skip to content

Entanglement entropy and spectrum

The examples on this page use MPSKit.jl, TensorKit.jl, and TensorKitTensors.jl. See Installation for how to add these packages to your environment.

This page collects recipes for extracting the entanglement entropy and the entanglement spectrum from the gauge (bond) tensors of an MPS. For general expectation values and correlators see Computing observables; for building the state objects used below see Constructing states. The reference page for these and related functions is Observables and analysis.

julia
using MPSKit, TensorKit
using TensorKitTensors.SpinOperators: σˣ, σᶻ

Setup: a TFIM ground state

The examples below reuse a spin-1/2 FiniteMPS and the transverse-field Ising Hamiltonian, optimized with DMRG so the entanglement structure reflects an actual ground state rather than a random tensor:

julia
L = 8
ψ0 = FiniteMPS(L, ℂ^2, ℂ^8)

# single-site Pauli operators
X = σˣ()
Z = σᶻ()

lattice = fill(ℂ^2, L)
H = FiniteMPOHamiltonian(lattice, (i, i + 1) => -(X  X) for i in 1:(L - 1)) +
    FiniteMPOHamiltonian(lattice, (i,) => -0.5 * Z for i in 1:L)

ψ, envs, _ = find_groundstate(ψ0, H, DMRG(; maxiter = 10))
(FiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}(Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.8835259659422261 + 0.46837010590323974im, 0.002958337635683686 + 0.001599887645335848im, 0.0033472503986162997 - 0.0003275924501020271im, -0.9960142970962196 + 0.08913028990124183im], (ℂ^1 ⊗ ℂ^2) ← ℂ^2), missing, missing, missing, missing, missing, missing, missing], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}}[missing, TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5216990904429282 + 0.6418599775724254im, -0.003661014727542492 - 0.034422315417405785im, 0.01823221121465389 + 0.022423614782968462im, -0.07124580417979853 - 0.6709153407146846im, 0.020327130199441826 + 0.03360375092722046im, -0.023994878904228356 + 0.7358200886948605im, -0.2897930864133148 - 0.47898470137698573im, 0.0011207533861267555 - 0.034310837592815266im, -0.00024577849873904934 + 9.330173750401296e-5im, 0.014601550775195078 + 0.004354394375401076im, 0.006610045017871504 - 0.0019502537745973018im, -0.0007997107694914256 - 0.00016512643703171873im, 0.0012124845244693384 - 0.003552258817320877im, 0.0007961257420962452 - 0.000522822017187268im, 0.00016343776951467353 - 0.0003662523957440902im, 0.010531747173690811 - 0.008260608383506094im], (ℂ^2 ⊗ ℂ^2) ← ℂ^4), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5026960384445347 + 0.6350279229382606im, -0.06878664010969213 - 0.06486033562112117im, 0.0716231297388666 - 0.12451370703228189im, -0.5378612865301895 + 0.05891672759429122im, 0.08271327568585977 + 0.10371111471286923im, -0.4558717651279149 - 0.43578525436144033im, -0.3588684608861395 + 0.6467891771459253im, 0.09436097695344753 - 0.007252714235281349im, 0.09567592772596709 + 0.047329151089772155im, 0.7197558678263123 + 0.23420326424321256im  …  0.00011708162569654616 - 4.2720955618350474e-5im, -4.469319906733201e-5 - 4.7707975348202366e-5im, -2.0447060533756795e-9 + 7.256321579963919e-9im, -7.788162152377423e-9 + 2.121025522551837e-8im, -7.084157386476168e-5 - 7.443035926599712e-6im, -4.766321341515405e-5 - 5.630659586863537e-5im, -4.5185326538205815e-9 + 8.167873756937287e-9im, -2.0238700538880123e-9 + 1.167354691062891e-8im, 4.435077773926119e-5 - 6.880261623690644e-6im, 8.179184493525328e-5 + 0.00014179419055282164im], (ℂ^4 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5988898179800537 + 0.546026283022201im, -0.025097449757060266 - 0.06395520682825809im, 0.10133300185466294 - 0.24238033098093983im, -0.4887452249178313 + 0.08415444094104245im, 0.029737342498610344 - 0.07548251559287919im, 0.11133695665709084 + 0.06193402618805494im, 0.01318307350139799 + 0.0001853780807952682im, 0.0024898993358503994 - 5.029642586413478e-6im, 0.19526268153620835 + 0.178644704212614im, -0.21714216148255186 - 0.5386008085740037im  …  -0.0073992130572694825 + 0.0035524151046907376im, -0.005204064022929611 - 0.022510229646608367im, 1.831049493962066e-8 - 7.458194895277683e-9im, 8.65505374299005e-9 - 1.3392491067874354e-8im, -2.4146857457025734e-5 + 4.0072002442141045e-5im, 1.7993878995048225e-5 - 0.00016489815160691286im, 0.00019546774425941257 - 0.0007199118488980784im, 0.0017356414756673588 - 0.0017988896499719098im, -0.009549480829611101 + 0.015796469681297342im, 0.0063694573498573204 + 0.010888175492946022im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5292322220337358 + 0.627912642884627im, 0.07022170294944283 + 0.0413133343905937im, -0.07603647160908364 - 0.2543648206410814im, -0.338148206223464 - 0.33772173204176803im, 0.041343118099838524 - 0.05336498994302729im, 0.09700421402264604 + 0.07586026810189975im, 0.011153285057731057 - 0.003542487051211732im, -0.002879236245823339 - 0.0023889996566570613im, 0.1822344409511443 + 0.21621167741428965im, -0.509097816664581 - 0.29949682730873917im  …  -0.0033771603102355258 - 0.006673013180402476im, -0.011297544570971985 - 0.010553971027605398im, -1.6194971042361836e-8 + 5.982243857074341e-9im, 3.6751656869334796e-9 - 3.2395668253908485e-10im, -5.358166677210624e-5 - 8.327330301679586e-6im, -8.58984646824738e-5 + 4.6618249789044565e-5im, 0.0004038064999067361 + 0.0007917830673215184im, -0.0012717225571826007 + 0.0009030748652563737im, -0.00014683869092075626 - 0.01511691090843849im, -0.0038124967132537654 + 0.0008233769921917509im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.5818342969997097 - 0.6113180312443736im, 0.05817075681242536 + 0.11047530105697853im, -0.05478227824751208 - 0.1272766618481111im, -0.15784719021404414 - 0.4659354042323529im, -0.04214304468237287 - 0.026439838453351395im, 0.02824427133189439 - 0.08718655326096023im, 0.006625587738484585 + 0.005720352159349604im, 0.0007187921927284489 - 0.0026515415735228927im, -0.11525958834125115 - 0.12110210204256391im, -0.31639370786359017 - 0.6008920224187135im  …  0.19878113501971065 + 0.655570245392215im, 0.09338055613289674 - 0.10589883941960376im, 0.00021056605174599852 + 0.0012510037409651233im, -0.0006521830556241166 + 0.00906257429503985im, -0.009375823773620711 + 0.10010236089497987im, 0.004028088553105446 - 0.02731890486505868im, -0.18598706279026422 + 0.40680587639618376im, 0.24282938388231046 + 0.04552976358713837im, -0.015081183453633878 - 0.24181004567873804im, 0.7144581827659524 - 0.39846403277568654im], (ℂ^8 ⊗ ℂ^2) ← ℂ^4), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.635355635294645 - 0.6382433775288704im, -0.029746673544238877 - 0.0425427618567787im, -0.023207260828260245 + 0.013235311618458015im, -0.41941060024541593 - 0.09825911937076864im, -0.03434876231861386 - 0.034508837648471534im, 0.4529122214549677 + 0.6477995546481187im, 0.5520900249244225 - 0.2589827732825071im, -0.029653638794133203 - 0.010037356916807641im, 0.008380836676956235 - 0.03250119433020651im, -0.25161882777365885 + 0.5553530037366055im, -0.6538563314802975 - 0.4444368623411126im, 0.00997373447449778 + 0.04464009957863142im, 0.10756505265540978 - 0.41701451267570033im, 0.011693846088993251 - 0.025802445528708716im, 0.042491649795939807 + 0.023516163934548275im, 0.2705422939615658 + 0.8591707981204367im], (ℂ^4 ⊗ ℂ^2) ← ℂ^2), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.7404197608098639 + 0.672137012357178im, -0.0030820446050669956 + 0.0009567773423070029im, 0.0023839549211446317 + 0.002175127758161555im, 0.9557814386564232 - 0.2940602439943684im], (ℂ^2 ⊗ ℂ^2) ← ℂ^1)], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.7621376031061716 + 0.4040203498705331im, 0.000877658846685773 + 0.0004746434378176395im, 0.0016933012779373772 - 0.0001657219055466267im, -0.5038620005285894 + 0.04508907784583176im], (ℂ^1 ⊗ ℂ^2) ← ℂ^2), missing, missing, missing, missing, missing, missing, missing], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}[missing, TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.8626027718085683 + 0.0im, 0.001586855727432837 + 0.0010510501643409137im, 0.0 + 0.0im, 0.5058782810623792 + 0.0im], ℂ^2 ← ℂ^2), missing, missing, missing, missing, missing, missing, missing]), MPSKit.FiniteEnvironments{Nothing, FiniteMPOHamiltonian{JordanMPOTensor{ComplexF64, TensorKit.ComplexSpace, Vector{ComplexF64}}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}}(nothing, JordanMPOTensor{ComplexF64, TensorKit.ComplexSpace, Vector{ComplexF64}}[JordanMPOTensor{ComplexF64, TensorKit.ComplexSpace, Vector{ComplexF64}}(BlockTensorKit.SparseBlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 2, 4}(Dict{CartesianIndex{4}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}}(CartesianIndex(1, 1, 1, 3) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[-0.5 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.5 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1)), CartesianIndex(1, 1, 1, 2) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[0.0 + 0.0im, 0.7071067811865475 + 0.0im, 0.7071067811865472 + 0.0im, 0.0 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1))), (⊞(ℂ^1) ⊗ ⊞(ℂ^2)) ← (⊞(ℂ^2) ⊗ (ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1))), Dict{CartesianIndex{4}, ComplexF64}(CartesianIndex(1, 1, 1, 1) => 1.0 + 0.0im)), JordanMPOTensor{ComplexF64, TensorKit.ComplexSpace, Vector{ComplexF64}}(BlockTensorKit.SparseBlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 2, 4}(Dict{CartesianIndex{4}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}}(CartesianIndex(2, 1, 1, 3) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[0.0 + 0.0im, -1.414213562373095 + 0.0im, -1.4142135623730951 + 0.0im, 0.0 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1)), CartesianIndex(1, 1, 1, 3) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[-0.5 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.5 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1)), CartesianIndex(1, 1, 1, 2) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[0.0 + 0.0im, 0.7071067811865475 + 0.0im, 0.7071067811865472 + 0.0im, 0.0 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1))), ((ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1) ⊗ ⊞(ℂ^2)) ← (⊞(ℂ^2) ⊗ (ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1))), Dict{CartesianIndex{4}, ComplexF64}(CartesianIndex(3, 1, 1, 3) => 1.0 + 0.0im, CartesianIndex(1, 1, 1, 1) => 1.0 + 0.0im)), JordanMPOTensor{ComplexF64, TensorKit.ComplexSpace, Vector{ComplexF64}}(BlockTensorKit.SparseBlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 2, 4}(Dict{CartesianIndex{4}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}}(CartesianIndex(2, 1, 1, 3) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[0.0 + 0.0im, -1.414213562373095 + 0.0im, -1.4142135623730951 + 0.0im, 0.0 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1)), CartesianIndex(1, 1, 1, 3) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[-0.5 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.5 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1)), CartesianIndex(1, 1, 1, 2) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[0.0 + 0.0im, 0.7071067811865475 + 0.0im, 0.7071067811865472 + 0.0im, 0.0 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1))), ((ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1) ⊗ ⊞(ℂ^2)) ← (⊞(ℂ^2) ⊗ (ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1))), Dict{CartesianIndex{4}, ComplexF64}(CartesianIndex(3, 1, 1, 3) => 1.0 + 0.0im, CartesianIndex(1, 1, 1, 1) => 1.0 + 0.0im)), JordanMPOTensor{ComplexF64, TensorKit.ComplexSpace, Vector{ComplexF64}}(BlockTensorKit.SparseBlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 2, 4}(Dict{CartesianIndex{4}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}}(CartesianIndex(2, 1, 1, 3) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[0.0 + 0.0im, -1.414213562373095 + 0.0im, -1.4142135623730951 + 0.0im, 0.0 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1)), CartesianIndex(1, 1, 1, 3) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[-0.5 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.5 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1)), CartesianIndex(1, 1, 1, 2) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[0.0 + 0.0im, 0.7071067811865475 + 0.0im, 0.7071067811865472 + 0.0im, 0.0 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1))), ((ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1) ⊗ ⊞(ℂ^2)) ← (⊞(ℂ^2) ⊗ (ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1))), Dict{CartesianIndex{4}, ComplexF64}(CartesianIndex(3, 1, 1, 3) => 1.0 + 0.0im, CartesianIndex(1, 1, 1, 1) => 1.0 + 0.0im)), JordanMPOTensor{ComplexF64, TensorKit.ComplexSpace, Vector{ComplexF64}}(BlockTensorKit.SparseBlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 2, 4}(Dict{CartesianIndex{4}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}}(CartesianIndex(2, 1, 1, 3) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[0.0 + 0.0im, -1.414213562373095 + 0.0im, -1.4142135623730951 + 0.0im, 0.0 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1)), CartesianIndex(1, 1, 1, 3) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[-0.5 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.5 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1)), CartesianIndex(1, 1, 1, 2) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[0.0 + 0.0im, 0.7071067811865475 + 0.0im, 0.7071067811865472 + 0.0im, 0.0 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1))), ((ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1) ⊗ ⊞(ℂ^2)) ← (⊞(ℂ^2) ⊗ (ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1))), Dict{CartesianIndex{4}, ComplexF64}(CartesianIndex(3, 1, 1, 3) => 1.0 + 0.0im, CartesianIndex(1, 1, 1, 1) => 1.0 + 0.0im)), JordanMPOTensor{ComplexF64, TensorKit.ComplexSpace, Vector{ComplexF64}}(BlockTensorKit.SparseBlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 2, 4}(Dict{CartesianIndex{4}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}}(CartesianIndex(2, 1, 1, 3) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[0.0 + 0.0im, -1.414213562373095 + 0.0im, -1.4142135623730951 + 0.0im, 0.0 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1)), CartesianIndex(1, 1, 1, 3) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[-0.5 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.5 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1)), CartesianIndex(1, 1, 1, 2) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[0.0 + 0.0im, 0.7071067811865475 + 0.0im, 0.7071067811865472 + 0.0im, 0.0 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1))), ((ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1) ⊗ ⊞(ℂ^2)) ← (⊞(ℂ^2) ⊗ (ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1))), Dict{CartesianIndex{4}, ComplexF64}(CartesianIndex(3, 1, 1, 3) => 1.0 + 0.0im, CartesianIndex(1, 1, 1, 1) => 1.0 + 0.0im)), JordanMPOTensor{ComplexF64, TensorKit.ComplexSpace, Vector{ComplexF64}}(BlockTensorKit.SparseBlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 2, 4}(Dict{CartesianIndex{4}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}}(CartesianIndex(2, 1, 1, 3) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[0.0 + 0.0im, -1.414213562373095 + 0.0im, -1.4142135623730951 + 0.0im, 0.0 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1)), CartesianIndex(1, 1, 1, 3) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[-0.5 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.5 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1)), CartesianIndex(1, 1, 1, 2) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[0.0 + 0.0im, 0.7071067811865475 + 0.0im, 0.7071067811865472 + 0.0im, 0.0 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1))), ((ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1) ⊗ ⊞(ℂ^2)) ← (⊞(ℂ^2) ⊗ (ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1))), Dict{CartesianIndex{4}, ComplexF64}(CartesianIndex(3, 1, 1, 3) => 1.0 + 0.0im, CartesianIndex(1, 1, 1, 1) => 1.0 + 0.0im)), JordanMPOTensor{ComplexF64, TensorKit.ComplexSpace, Vector{ComplexF64}}(BlockTensorKit.SparseBlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 2, 4}(Dict{CartesianIndex{4}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}}(CartesianIndex(2, 1, 1, 1) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[0.0 + 0.0im, -1.414213562373095 + 0.0im, -1.4142135623730951 + 0.0im, 0.0 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1)), CartesianIndex(1, 1, 1, 1) => TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 2, Vector{ComplexF64}}(ComplexF64[-0.5 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.5 + 0.0im], (ℂ^1 ⊗ ℂ^2) ← (ℂ^2 ⊗ ℂ^1))), ((ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1) ⊗ ⊞(ℂ^2)) ← (⊞(ℂ^2) ⊗ ⊞(ℂ^1))), Dict{CartesianIndex{4}, ComplexF64}(CartesianIndex(3, 1, 1, 1) => 1.0 + 0.0im))], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.8835259659422261 + 0.46837010590323974im, 0.002958337635683686 + 0.001599887645335848im, 0.0033472503986162997 - 0.0003275924501020271im, -0.9960142970962196 + 0.08913028990124183im], (ℂ^1 ⊗ ℂ^2) ← ℂ^2), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5678854312487087 + 0.6986835550263191im, -0.00380589320169193 - 0.035682265961924614im, 0.03274517784633255 + 0.040285702259861965im, -0.04546537977156978 - 0.42813249438401807im, 0.02869264553798046 + 0.04743318435208403im, -0.01986816906602029 + 0.6092401018439016im, -0.40905579026618644 - 0.6761081431301484im, 0.0009990774753947486 - 0.03014498904388694im, -0.03478085336552241 + 0.013334222120673742im, 0.7563403941993085 + 0.22555905130242188im, 0.58399727503966 - 0.17231440188348357im, -0.06884772679411223 - 0.01413270684126489im, 0.1388974343300421 - 0.4069327284965415im, 0.05423670391889276 - 0.03570360852850638im, 0.018722784827417398 - 0.04195642670849759im, 0.7076298528974325 - 0.5550189153312416im], (ℂ^2 ⊗ ℂ^2) ← ℂ^4), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.523417021611501 + 0.6611845382414336im, -0.06682053859927176 - 0.0629052296949647im, 0.0011517664567941568 - 0.0020231429047838914im, -0.005217187344049982 + 0.0005637256857427538im, 0.10892840782569005 + 0.13651816289691376im, -0.3612806063284061 - 0.3453939667493906im, -0.004608056998198086 + 0.00829878682014243im, 0.0011112147498073383 - 6.79280919738679e-5im, 0.11545277131491112 + 0.057112397937084516im, 0.6740019498545304 + 0.2193384442954623im  …  0.6215176090262715 - 0.22446349966069049im, -0.23516388842517993 - 0.25544043379122916im, -0.0010112288215379473 + 0.0035886828367789336im, -0.0029881168970376797 + 0.008197535777532862im, -0.43128636029559725 - 0.045313503063326106im, -0.23224841473267427 - 0.27668544612614165im, -0.0022346832900798363 + 0.004039499633730903im, -0.000815892022180964 + 0.004570470669008092im, 0.2700093245239844 - 0.04188731039809024im, 0.39167570528614726 + 0.6732326963935173im], (ℂ^4 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.6048741810317235 + 0.5515434663627291im, -0.02378760693117878 - 0.060987254444139036im, 0.0018915011715214284 - 0.004513456406350795im, -0.006385303281239983 + 0.0011045778883461465im, 5.098273454426569e-6 - 1.2868799947528438e-5im, 1.3306406167246654e-5 + 7.358136567454596e-6im, 3.1458200008295226e-8 + 2.9672056923119026e-10im, 7.15656296578647e-9 - 2.1022563215527635e-10im, 0.2259425644164077 + 0.2066020373440125im, -0.17990431408680058 - 0.44646410172437234im  …  -0.005784934791572305 + 0.0027772318166551487im, -0.004258541984646591 - 0.015567040011308058im, 0.0061494862859033245 - 0.0025048013050365525im, 0.0028749266747615243 - 0.003892225834179676im, -0.12909354260267347 + 0.21423240867399332im, 0.07047821653360925 - 0.7667320706276344im, 0.0097712146378232 - 0.0359854681735215im, 0.07380866615982096 - 0.08024064404165192im, -0.007466121405405318 + 0.01235002432681394im, 0.0040916180405285996 + 0.009332745237938282im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5224631642758764 + 0.6198809197504704im, 0.06842860391980292 + 0.04025918187565945im, -0.0014327907651943334 - 0.004800794786191733im, -0.0046372159962807125 - 0.004628237983509493im, 8.871289603234741e-6 - 1.2139960865542543e-5im, 1.553042034406499e-5 + 1.2677483385357963e-5im, 3.604515859378736e-8 - 1.2270380673589986e-8im, -1.0188988766219807e-8 - 9.097142248390059e-9im, 0.19998749708008134 + 0.23727297475785175im, -0.42221842471054566 - 0.2483877600951721im  …  -0.005282527702024516 - 0.010437810144896375im, -0.016067342129751028 - 0.014205253271206522im, -0.0076379623486536674 + 0.0028213330071402767im, 0.0011711835534868806 + 0.00019177253650404236im, -0.42413962270873773 - 0.06591706060195465im, -0.5897624883405027 + 0.3249550155761469im, 0.037809711272901565 + 0.0741370102731806im, -0.10360948460998577 + 0.07331074715287318im, -0.00022969383176726688 - 0.023645472868704942im, -0.006088361922310499 + 0.002854506355097323im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.5562789490377344 - 0.5844669602677073im, 0.05893821050916857 + 0.11193589431367232im, -0.0010141199916275424 - 0.002295426349245597im, -0.002001457056055243 - 0.005941739078863121im, -5.701474029607404e-6 - 2.9678743699161005e-6im, 3.890208132704997e-6 - 1.0549747996195981e-5im, 1.4831411179378297e-8 + 1.2722564166074995e-8im, 2.0551637132111788e-9 - 7.263805462720524e-9im, -0.12307824739352248 - 0.12931308245498194im, -0.2555738741355009 - 0.48538589598490095im  …  4.721721319756967e-5 + 0.00015572005906442767im, 2.7454645656270105e-5 - 3.0384250813751894e-5im, 0.02105909390707938 + 0.12511516046743282im, -0.05607183810340688 + 0.7829883978415475im, -0.014930755661315565 + 0.1594104076183678im, 0.006944687393540523 - 0.04698353435904463im, -0.002678075403838376 + 0.005857702065005898im, 0.004161021824714219 + 0.0006575861227529453im, -3.5823100112682375e-6 - 5.7438070708455334e-5im, 0.00014558068934970143 - 8.089382324912611e-5im], (ℂ^8 ⊗ ℂ^2) ← ℂ^4), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.5826656707746303 - 0.585313233756484im, -0.03438777178048781 - 0.0491877151521278im, -0.0003117981667078593 + 0.00017294222098187864im, -0.003647846504009039 - 0.000854189523553476im, -0.03321221780593835 - 0.03335808087406221im, 0.3200735878791711 + 0.4578017536170327im, 0.00623801480798302 - 0.002926572795246965im, -0.00040406483982202484 - 0.00014000023479930095im, 0.013102357423439435 - 0.050811426258703614im, -0.3033963497237613 + 0.6696313900431595im, -0.012591448494762654 - 0.008558613860154im, 0.0002448809462825395 + 0.001101364670701064im, 0.16816408912513142 - 0.6519484158187423im, 0.022838118669936684 - 0.05040456455175671im, 0.0008182706122313595 + 0.00045285570033037946im, 0.0040176725616521535 + 0.012759401540395163im], (ℂ^4 ⊗ ℂ^2) ← ℂ^2), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[5.4e-323 + 6.0e-323im, 6.4e-323 + 7.4e-323im, 7.0e-323 + 6.9091146823076e-310im, 6.90911980857345e-310 + 6.90899650958407e-310im], (ℂ^1 ⊗ ℂ^2) ← ℂ^2)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[5.4e-323 + 6.0e-323im, 6.4e-323 + 7.4e-323im, 7.0e-323 + 6.9091146823076e-310im, 6.90911980857345e-310 + 6.90899650958407e-310im], (ℂ^1 ⊗ ℂ^2) ← ℂ^2), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5216990904429282 + 0.6418599775724254im, -0.003661014727542492 - 0.034422315417405785im, 0.01823221121465389 + 0.022423614782968462im, -0.07124580417979853 - 0.6709153407146846im, 0.020327130199441826 + 0.03360375092722046im, -0.023994878904228356 + 0.7358200886948605im, -0.2897930864133148 - 0.47898470137698573im, 0.0011207533861267555 - 0.034310837592815266im, -0.00024577849873904934 + 9.330173750401296e-5im, 0.014601550775195078 + 0.004354394375401076im, 0.006610045017871504 - 0.0019502537745973018im, -0.0007997107694914256 - 0.00016512643703171873im, 0.0012124845244693384 - 0.003552258817320877im, 0.0007961257420962452 - 0.000522822017187268im, 0.00016343776951467353 - 0.0003662523957440902im, 0.010531747173690811 - 0.008260608383506094im], (ℂ^2 ⊗ ℂ^2) ← ℂ^4), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5026960384445347 + 0.6350279229382606im, -0.06878664010969213 - 0.06486033562112117im, 0.0716231297388666 - 0.12451370703228189im, -0.5378612865301895 + 0.05891672759429122im, 0.08271327568585977 + 0.10371111471286923im, -0.4558717651279149 - 0.43578525436144033im, -0.3588684608861395 + 0.6467891771459253im, 0.09436097695344753 - 0.007252714235281349im, 0.09567592772596709 + 0.047329151089772155im, 0.7197558678263123 + 0.23420326424321256im  …  0.00011708162569654616 - 4.2720955618350474e-5im, -4.469319906733201e-5 - 4.7707975348202366e-5im, -2.0447060533756795e-9 + 7.256321579963919e-9im, -7.788162152377423e-9 + 2.121025522551837e-8im, -7.084157386476168e-5 - 7.443035926599712e-6im, -4.766321341515405e-5 - 5.630659586863537e-5im, -4.5185326538205815e-9 + 8.167873756937287e-9im, -2.0238700538880123e-9 + 1.167354691062891e-8im, 4.435077773926119e-5 - 6.880261623690644e-6im, 8.179184493525328e-5 + 0.00014179419055282164im], (ℂ^4 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5988898179800537 + 0.546026283022201im, -0.025097449757060266 - 0.06395520682825809im, 0.10133300185466294 - 0.24238033098093983im, -0.4887452249178313 + 0.08415444094104245im, 0.029737342498610344 - 0.07548251559287919im, 0.11133695665709084 + 0.06193402618805494im, 0.01318307350139799 + 0.0001853780807952682im, 0.0024898993358503994 - 5.029642586413478e-6im, 0.19526268153620835 + 0.178644704212614im, -0.21714216148255186 - 0.5386008085740037im  …  -0.0073992130572694825 + 0.0035524151046907376im, -0.005204064022929611 - 0.022510229646608367im, 1.831049493962066e-8 - 7.458194895277683e-9im, 8.65505374299005e-9 - 1.3392491067874354e-8im, -2.4146857457025734e-5 + 4.0072002442141045e-5im, 1.7993878995048225e-5 - 0.00016489815160691286im, 0.00019546774425941257 - 0.0007199118488980784im, 0.0017356414756673588 - 0.0017988896499719098im, -0.009549480829611101 + 0.015796469681297342im, 0.0063694573498573204 + 0.010888175492946022im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5292322220337358 + 0.627912642884627im, 0.07022170294944283 + 0.0413133343905937im, -0.07603647160908364 - 0.2543648206410814im, -0.338148206223464 - 0.33772173204176803im, 0.041343118099838524 - 0.05336498994302729im, 0.09700421402264604 + 0.07586026810189975im, 0.011153285057731057 - 0.003542487051211732im, -0.002879236245823339 - 0.0023889996566570613im, 0.1822344409511443 + 0.21621167741428965im, -0.509097816664581 - 0.29949682730873917im  …  -0.0033771603102355258 - 0.006673013180402476im, -0.011297544570971985 - 0.010553971027605398im, -1.6194971042361836e-8 + 5.982243857074341e-9im, 3.6751656869334796e-9 - 3.2395668253908485e-10im, -5.358166677210624e-5 - 8.327330301679586e-6im, -8.58984646824738e-5 + 4.6618249789044565e-5im, 0.0004038064999067361 + 0.0007917830673215184im, -0.0012717225571826007 + 0.0009030748652563737im, -0.00014683869092075626 - 0.01511691090843849im, -0.0038124967132537654 + 0.0008233769921917509im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.5818342969997097 - 0.6113180312443736im, 0.05817075681242536 + 0.11047530105697853im, -0.05478227824751208 - 0.1272766618481111im, -0.15784719021404414 - 0.4659354042323529im, -0.04214304468237287 - 0.026439838453351395im, 0.02824427133189439 - 0.08718655326096023im, 0.006625587738484585 + 0.005720352159349604im, 0.0007187921927284489 - 0.0026515415735228927im, -0.11525958834125115 - 0.12110210204256391im, -0.31639370786359017 - 0.6008920224187135im  …  0.19878113501971065 + 0.655570245392215im, 0.09338055613289674 - 0.10589883941960376im, 0.00021056605174599852 + 0.0012510037409651233im, -0.0006521830556241166 + 0.00906257429503985im, -0.009375823773620711 + 0.10010236089497987im, 0.004028088553105446 - 0.02731890486505868im, -0.18598706279026422 + 0.40680587639618376im, 0.24282938388231046 + 0.04552976358713837im, -0.015081183453633878 - 0.24181004567873804im, 0.7144581827659524 - 0.39846403277568654im], (ℂ^8 ⊗ ℂ^2) ← ℂ^4), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.635355635294645 - 0.6382433775288704im, -0.029746673544238877 - 0.0425427618567787im, -0.023207260828260245 + 0.013235311618458015im, -0.41941060024541593 - 0.09825911937076864im, -0.03434876231861386 - 0.034508837648471534im, 0.4529122214549677 + 0.6477995546481187im, 0.5520900249244225 - 0.2589827732825071im, -0.029653638794133203 - 0.010037356916807641im, 0.008380836676956235 - 0.03250119433020651im, -0.25161882777365885 + 0.5553530037366055im, -0.6538563314802975 - 0.4444368623411126im, 0.00997373447449778 + 0.04464009957863142im, 0.10756505265540978 - 0.41701451267570033im, 0.011693846088993251 - 0.025802445528708716im, 0.042491649795939807 + 0.023516163934548275im, 0.2705422939615658 + 0.8591707981204367im], (ℂ^4 ⊗ ℂ^2) ← ℂ^2), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.7404197608098639 + 0.672137012357178im, -0.0030820446050669956 + 0.0009567773423070029im, 0.0023839549211446317 + 0.002175127758161555im, 0.9557814386564232 - 0.2940602439943684im], (ℂ^2 ⊗ ℂ^2) ← ℂ^1)], BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}[BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[1.0 + 0.0im], (ℂ^1 ⊗ (ℂ^1)') ← ℂ^1);;;], (⊞(ℂ^1) ⊗ ⊞((ℂ^1)')) ← ⊞(ℂ^1)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[1.0 + 0.0im, 0.0 - 2.168404344971009e-19im, 0.0 + 2.168404344971009e-19im, 1.0000000000000002 + 0.0im], (ℂ^2 ⊗ (ℂ^1)') ← ℂ^2) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.004756152468777777 + 0.0im, -0.5927316600058964 - 0.3855470895238975im, -0.5927316600058963 + 0.3855470895238974im, -0.004756152468777777 + 0.0im], (ℂ^2 ⊗ (ℂ^1)') ← ℂ^2) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.49998868859795564 + 0.0im, -0.0028039481311405794 - 0.001857188459596352im, -0.0028039481311405794 + 0.001857188459596352im, 0.4999886885979557 + 0.0im], (ℂ^2 ⊗ (ℂ^1)') ← ℂ^2);;;], (⊞(ℂ^2) ⊗ ((ℂ^1)' ⊞ (ℂ^1)' ⊞ (ℂ^1)')) ← ⊞(ℂ^2)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[1.0 + 0.0im, -6.938893903907228e-18 - 3.903127820947816e-18im, 2.3310346708438345e-18 - 1.0408340855860843e-17im, 8.326672684688674e-17 + 0.0im, -6.5052130349130266e-18 + 3.903127820947816e-18im, 1.0000000000000002 + 0.0im, 1.6653345369377348e-16 + 1.942890293094024e-16im, 2.688821387764051e-17 + 9.540979117872439e-18im, 2.2768245622195593e-18 + 8.673617379884035e-18im, 1.6653345369377348e-16 - 1.3877787807814457e-16im, 1.0000000000000004 + 0.0im, 1.474514954580286e-17 + 3.577867169202165e-18im, 9.71445146547012e-17 + 2.7755575615628914e-17im, 2.862293735361732e-17 - 8.673617379884035e-18im, 1.9949319973733282e-17 - 2.6020852139652106e-18im, 1.0 + 0.0im], (ℂ^4 ⊗ (ℂ^1)') ← ℂ^4) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.08795311073273761 + 0.0im, -0.6793120904909924 + 0.0946174417989579im, 0.05689270169893565 + 0.13639411819439873im, -0.00042148276501236676 + 0.0025614644757438465im, -0.6793120904909923 - 0.09461744179895787im, -0.08795311073302867 + 3.469446951953614e-18im, 0.00035975709297316263 - 0.002570860327246227im, -0.09489925078239199 + 0.11328842476402776im, 0.056892701698935594 - 0.13639411819439862im, 0.00035975709297315916 + 0.00257086032724622im, -0.11012435595412166 - 1.734723475976807e-18im, 0.3937279868429525 + 0.5576773483562569im, -0.0004214827650123676 - 0.0025614644757438396im, -0.09489925078239181 - 0.11328842476402762im, 0.3937279868429526 - 0.5576773483562568im, 0.1101243559544127 + 6.938893903907228e-18im], (ℂ^4 ⊗ (ℂ^1)') ← ℂ^4) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-1.4043263312259873 + 0.0im, -0.027652002575626423 + 0.0038452776068152172im, 0.009922984471451539 + 0.026423365291546493im, 0.07920832558646314 - 0.1263187482456301im, -0.027652002575626423 - 0.003845277606815231im, -0.9689086445362225 + 0.0im, -0.0642191270238004 - 0.24388112966533598im, 0.017875601673498682 - 0.024001489188656085im, 0.009922984471451526 - 0.026423365291546465im, -0.06421912702380028 + 0.24388112966533554im, 0.969947548579637 - 1.0408340855860843e-17im, -0.022613336813753736 - 0.026820407866555408im, 0.07920832558646296 + 0.12631874824563025im, 0.01787560167349867 + 0.024001489188656078im, -0.02261333681375373 + 0.026820407866555398im, 1.4032874271825726 + 2.220446049250313e-16im], (ℂ^4 ⊗ (ℂ^1)') ← ℂ^4);;;], (⊞(ℂ^4) ⊗ ((ℂ^1)' ⊞ (ℂ^1)' ⊞ (ℂ^1)')) ← ⊞(ℂ^4)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[1.0 + 0.0im, -1.919037845299343e-17 - 5.55653613398821e-18im, 2.667137344314341e-17 - 5.990217002982412e-18im, 3.469446951953614e-17 - 5.551115123125783e-17im, -4.7704895589362195e-18 - 6.548581121812447e-17im, 1.0234868508263162e-16 - 2.1163626406917047e-16im, 1.2685165418080402e-17 - 4.423544863740858e-17im, -8.72782748850831e-18 + 1.734723475976807e-18im, -2.1141942363467336e-17 + 7.101524229780054e-18im, 1.0000000000000004 - 5.551115123125783e-17im  …  1.0000000000000004 + 2.7755575615628914e-17im, 1.249000902703301e-16 - 3.469446951953614e-17im, -1.723881454251952e-17 - 9.540979117872439e-18im, -1.1622647289044608e-16 + 9.82287168271867e-17im, -7.632783294297951e-17 + 6.938893903907228e-17im, 5.551115123125783e-17 + 1.734723475976807e-18im, 3.885780586188048e-16 + 0.0im, 4.5102810375396984e-17 - 1.1102230246251565e-16im, 1.249000902703301e-16 + 4.163336342344337e-17im, 1.0 + 0.0im], (ℂ^8 ⊗ (ℂ^1)') ← ℂ^8) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.2731112261912938 - 2.7755575615628914e-17im, -0.5663547582010634 - 0.27269131622613285im, 0.05750377427071777 + 0.16354724850569788im, -0.0007810162015991998 - 0.00017533304364257887im, 0.005274009801201373 + 0.014393135045763096im, 0.00140024937563562 - 0.0001629566625154695im, 1.8862730089908367e-11 + 6.980711906960646e-12im, 1.839448732221527e-13 - 1.4719505996019233e-12im, -0.5663547582010633 + 0.2726913162261328im, -0.2731112261916385 - 1.3877787807814457e-17im  …  0.5539988849260226 + 0.0im, -0.3339588162301689 + 0.2264172098321394im, 1.8395385854765717e-13 + 1.471970548921897e-12im, -1.1053573204314326e-11 + 2.0516073323713357e-11im, 0.002125182928266866 - 0.0037120414665862784im, 0.014372438897541081 + 0.0034788094181584933im, -0.013420442650583453 + 0.030839154299477166im, 0.10395611992341268 + 0.1345993724861878im, -0.33395881623016876 - 0.2264172098321394im, -0.5539988842251963 + 2.7755575615628914e-17im], (ℂ^8 ⊗ (ℂ^1)') ← ℂ^8) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-2.3771742821328337 + 2.220446049250313e-16im, -0.03870877465556282 - 0.018392020864164936im, 0.03150182094181302 + 0.0871604608611156im, 0.10916862918023268 - 0.14022412476024612im, 0.0035743549213058364 + 0.009261404094811557im, -0.015079817544581783 + 0.003546906526857168im, -6.274935087332558e-5 + 5.555974052353502e-5im, -1.625387551778862e-5 + 1.8364418206817147e-5im, -0.038708774655562814 + 0.01839202086416491im, -2.1799048878006047 + 0.0im  …  2.21751570064001 + 1.942890293094024e-16im, -0.08543031959859476 + 0.023306333988467542im, -1.6253875517768346e-5 - 1.836441820685271e-5im, 1.8178059996484114e-6 - 8.379180585547583e-5im, 0.010172981936871939 - 0.008720070263616458im, 0.014272735108645348 + 0.0015834515654869347im, -0.10126265928618747 + 0.08448713966707479im, 0.11607523437037429 + 0.1221090780800463im, -0.08543031959859484 - 0.023306333988467542im, 2.3395634692659852 + 2.220446049250313e-16im], (ℂ^8 ⊗ (ℂ^1)') ← ℂ^8);;;], (⊞(ℂ^8) ⊗ ((ℂ^1)' ⊞ (ℂ^1)' ⊞ (ℂ^1)')) ← ⊞(ℂ^8)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[1.0 - 5.551115123125783e-17im, 4.85722573273506e-17 - 4.5102810375396984e-17im, 1.0842021724855044e-16 + 4.0766001685454967e-17im, 8.326672684688674e-17 - 6.938893903907228e-17im, -5.117434254131581e-17 - 9.75781955236954e-17im, 1.457167719820518e-16 + 9.020562075079397e-17im, 5.410168840702667e-17 - 6.852157730108388e-17im, 6.722053469410127e-17 + 2.42861286636753e-17im, 6.591949208711867e-17 + 3.469446951953614e-17im, 1.0000000000000002 - 2.7755575615628914e-17im  …  1.0000000000000007 + 2.7755575615628914e-17im, 5.551115123125783e-17 - 6.938893903907228e-18im, 6.006480035569695e-17 - 3.2959746043559335e-17im, -2.1163626406917047e-16 - 3.729655473350135e-17im, 4.102621020685149e-16 + 1.249000902703301e-16im, -3.469446951953614e-17 + 2.168404344971009e-18im, -1.942890293094024e-16 + 1.942890293094024e-16im, -5.551115123125783e-17 - 6.938893903907228e-17im, 9.71445146547012e-17 - 4.163336342344337e-17im, 0.9999999999999998 - 1.3877787807814457e-17im], (ℂ^8 ⊗ (ℂ^1)') ← ℂ^8) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.39888933071807015 + 0.0im, -0.5235711833772941 + 0.18444578331242706im, 0.1646637039689717 + 0.07206669473824291im, 0.0002510212087744601 - 0.00033070069945161096im, 0.007692188232495942 + 0.019136575860981785im, -0.0008291969246307894 - 0.002084172068540606im, 1.9213718752955286e-9 + 3.8561610426080667e-10im, 2.4540453805350915e-10 + 1.599607726658625e-9im, -0.5235711833772941 - 0.184445783312427im, -0.3988893307180879 + 6.938893903907228e-18im  …  0.19066447249584118 - 1.3877787807814457e-17im, 0.41366339020411913 - 0.5096953870677174im, 2.454045252599235e-10 - 1.5996077108292733e-9im, -2.7464924291006193e-10 + 8.582185922752054e-10im, 0.006898195578904271 + 0.0023784471535191476im, 0.002560805652207964 - 0.019251228534311562im, -0.029344944858313987 - 0.07462975029207983im, -0.005438805973499855 - 0.1607719199469214im, 0.41366339020411913 + 0.5096953870677173im, -0.19066447340134182 - 1.3877787807814457e-17im], (ℂ^8 ⊗ (ℂ^1)') ← ℂ^8) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-3.394728710874689 + 4.440892098500626e-16im, -0.03090235731247651 + 0.010886960742171228im, 0.12779177007821624 + 0.05561879413455348im, 0.16534821490099194 - 0.014284262784616725im, 0.004117568524333735 + 0.01594304853498826im, -0.01963325528515408 + 0.003524155199765773im, -3.8795986442683936e-5 + 0.00010898829003847497im, 4.35925687227377e-5 + 3.6328642253856402e-6im, -0.03090235731247655 - 0.010886960742171395im, -3.3035373132165993 + 3.3306690738754696e-16im  …  0.7022076961811486 - 2.7755575615628914e-17im, 0.03612619293705667 + 0.014136007962147944im, 4.359256872274453e-5 - 3.632864225344007e-6im, 1.409089776507541e-5 + 0.00011482856058006932im, -0.01649252204341478 + 0.013078084889620284im, -0.0072041450178771255 - 0.01383569440140212im, 0.1652849023997769 + 0.007323977088191158im, -0.09911979080050651 - 0.10483105337473603im, 0.036126192937056614 - 0.014136007962147947im, 0.7833870437552001 - 3.8163916471489756e-17im], (ℂ^8 ⊗ (ℂ^1)') ← ℂ^8);;;], (⊞(ℂ^8) ⊗ ((ℂ^1)' ⊞ (ℂ^1)' ⊞ (ℂ^1)')) ← ⊞(ℂ^8)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[1.0000000000000002 + 0.0im, -1.249000902703301e-16 - 1.734723475976807e-17im, -8.673617379884035e-19 + 1.3877787807814457e-17im, -1.249000902703301e-16 - 9.71445146547012e-17im, 1.0061396160665481e-16 - 6.158268339717665e-17im, 8.066464163292153e-17 + 1.5265566588595902e-16im, 1.20346441145891e-16 - 1.6306400674181987e-16im, -1.352000109089424e-16 - 5.97395397039513e-17im, -1.1102230246251565e-16 + 1.3877787807814457e-17im, 1.0000000000000009 - 5.551115123125783e-17im  …  0.9999999999999998 - 5.551115123125783e-17im, -2.7755575615628914e-17 - 5.551115123125783e-17im, -1.233822072288504e-16 + 6.041716606175473e-17im, -8.977193988179977e-17 + 2.801476769748873e-17im, 2.706168622523819e-16 - 2.42861286636753e-16im, -7.806255641895632e-17 + 2.0122792321330962e-16im, 5.551115123125783e-17 - 2.7755575615628914e-17im, 1.3877787807814457e-17 - 5.811323644522304e-17im, 2.7755575615628914e-17 + 2.7755575615628914e-17im, 1.0000000000000004 - 5.551115123125783e-17im], (ℂ^8 ⊗ (ℂ^1)') ← ℂ^8) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.30068772124390664 - 2.7755575615628914e-17im, 0.5903845888153013 + 0.16723973557420685im, -0.17237152555749635 - 0.05342925529769868im, 0.0007584418606178082 - 0.0031621599607251603im, 0.010854642812314966 + 0.011215723099320167im, 0.00143177053088148 - 0.015398047034736483im, 8.430433217840316e-12 + 2.389320233092858e-11im, 1.0907705511389865e-11 + 3.5598007614573435e-11im, 0.5903845888153014 - 0.16723973557420688im, -0.30068772124390325 + 1.3877787807814457e-17im  …  -0.34915942992419746 - 2.7755575615628914e-17im, -0.09751981720066831 - 0.5792355084984957im, 1.0907723292305493e-11 - 3.559798506316825e-11im, -5.0932906980535875e-11 + 2.7579050805234817e-11im, 0.007653227582756714 - 0.007336108261775983im, 0.012802025263988787 - 0.014369527045522988im, 0.022800265169431122 + 0.08712845226647686im, -0.1561916138884098 + 0.008376347747001037im, -0.09751981720066834 + 0.5792355084984958im, 0.34915943088302287 - 1.3877787807814457e-17im], (ℂ^8 ⊗ (ℂ^1)') ← ℂ^8) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-4.444191415871696 + 0.0im, 0.014325982744743226 + 0.004057502226112439im, -0.10040635514189694 - 0.03448418829131486im, -0.1647279900995303 - 0.07735397649151562im, -0.009412084020828979 + 0.006137268665224111im, -0.009124053303906485 - 0.022133613780868776im, 0.00010482083220072786 - 1.2010850420551703e-5im, -2.648824696119769e-5 - 5.172661606720234e-5im, 0.014325982744743282 - 0.0040575022261122445im, -4.383421292004426 + 2.220446049250313e-16im  …  -0.5508674990323184 + 1.3877787807814457e-16im, 0.008827830973145323 + 0.015760639581589554im, -2.6488246961293288e-5 + 5.172661606733179e-5im, -5.6511492694304166e-5 + 8.909598054054196e-5im, -0.01563054553076597 + 0.02113860508413981im, -0.004749212962786228 + 0.0004441706914914273im, -0.11411818219095612 + 0.05003555576965257im, 0.15820810532847832 + 0.06895389166942334im, 0.008827830973145462 - 0.015760639581589513im, -0.4936443678572025 + 6.591949208711867e-17im], (ℂ^8 ⊗ (ℂ^1)') ← ℂ^8);;;], (⊞(ℂ^8) ⊗ ((ℂ^1)' ⊞ (ℂ^1)' ⊞ (ℂ^1)')) ← ⊞(ℂ^8)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[1.0000000000000004 + 0.0im, 2.7755575615628914e-16 + 6.591949208711867e-17im, 5.4643789493269423e-17 + 4.7704895589362195e-18im, -2.498001805406602e-16 + 1.249000902703301e-16im, 2.914335439641036e-16 - 7.979727989493313e-17im, 1.0000000000000007 + 0.0im, 2.42861286636753e-17 + 3.3306690738754696e-16im, -6.938893903907228e-17 + 5.984795992119984e-17im, 4.7921736023859296e-17 + 1.0842021724855044e-17im, -3.122502256758253e-17 - 3.7470027081099033e-16im, 1.0000000000000009 + 0.0im, -2.0816681711721685e-16 - 1.5265566588595902e-16im, -2.636779683484747e-16 - 1.5265566588595902e-16im, -3.0791341698588326e-17 - 3.729655473350135e-17im, -1.5959455978986625e-16 + 1.6653345369377348e-16im, 1.0000000000000009 - 3.5561831257524545e-17im], (ℂ^4 ⊗ (ℂ^1)') ← ℂ^4) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.10554459248539617 + 1.3877787807814457e-17im, -0.6659236446113328 - 0.1163496841453448im, -0.05981463720780802 + 0.1669442748037334im, -0.0001707218214593734 + 0.0014349197792752582im, -0.6659236446113327 + 0.11634968414534469im, -0.10554459248539927 - 1.3877787807814457e-17im, -0.001265105585086705 + 0.0006983183889481149im, 0.13214800716161862 - 0.11825855536594454im, -0.05981463720780789 - 0.16694427480373308im, -0.0012651055850866834 - 0.0006983183889481166im, -0.0986427637102269 - 2.0816681711721685e-17im, -0.5316031002259528 - 0.41928386500532544im, -0.0001707218214593812 - 0.0014349197792752767im, 0.13214800716161842 + 0.11825855536594423im, -0.5316031002259525 + 0.4192838650053254im, 0.09864276371021577 - 1.734723475976807e-17im], (ℂ^4 ⊗ (ℂ^1)') ← ℂ^4) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-5.503832960774844 - 4.440892098500626e-16im, -0.0044413314140880344 - 0.0007753697596744533im, -0.011516252242242581 + 0.03558160704741559im, -0.15471055655098964 + 0.0966401624904134im, -0.004441331414087757 + 0.0007753697596742243im, -5.44607914200085 - 8.881784197001252e-16im, 0.052794850645131536 - 0.30416932440057853im, -0.02868359156170976 + 0.023037587587217155im, -0.01151625224224275 - 0.035581607047415656im, 0.05279485064513276 + 0.30416932440057903im, -3.621094380615432 + 2.220446049250313e-16im, 0.0030759493763222456 + 0.0029036837767492107im, -0.15471055655098856 - 0.09664016249041346im, -0.02868359156170966 - 0.02303758758721686im, 0.0030759493763222873 - 0.002903683776749183im, -3.5632563421068193 + 1.8388068845354155e-16im], (ℂ^4 ⊗ (ℂ^1)') ← ℂ^4);;;], (⊞(ℂ^4) ⊗ ((ℂ^1)' ⊞ (ℂ^1)' ⊞ (ℂ^1)')) ← ⊞(ℂ^4)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[1.0000000000000004 + 4.5586105738815616e-17im, -1.5314046468437197e-16 + 2.7202000249752695e-16im, -1.644147486624933e-16 - 2.6501594873359037e-16im, 1.000000000000001 - 1.0521809289201447e-17im], (ℂ^2 ⊗ (ℂ^1)') ← ℂ^2) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.007567241856733269 + 9.538916198854298e-19im, 0.35067838197838747 - 0.5914033023661116im, 0.35067838197838747 + 0.5914033023661118im, -0.00756724185674112 + 4.4142100236719914e-18im], (ℂ^2 ⊗ (ℂ^1)') ← ℂ^2) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-6.570318862262356 - 7.590241632068821e-16im, 0.0002455167017417651 - 0.00041645065112175017im, 0.00024551670174155434 + 0.00041645065112189085im, -6.482469757572055 - 6.747707116948917e-16im], (ℂ^2 ⊗ (ℂ^1)') ← ℂ^2);;;], (⊞(ℂ^2) ⊗ ((ℂ^1)' ⊞ (ℂ^1)' ⊞ (ℂ^1)')) ← ⊞(ℂ^2)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[6.9090004098632e-310 + 6.90900040986476e-310im], (ℂ^1 ⊗ (ℂ^1)') ← ℂ^1);;;], (⊞(ℂ^1) ⊗ ⊞((ℂ^1)')) ← ⊞(ℂ^1))], BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}[BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[6.9090004098632e-310 + 6.90900040986476e-310im], (ℂ^1 ⊗ ℂ^1) ← ℂ^1);;;], (⊞(ℂ^1) ⊗ ⊞(ℂ^1)) ← ⊞(ℂ^1)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-6.570321180753877 - 1.2273589378191186e-15im, -0.00014446704924503807 - 9.568741078485784e-5im, -0.00014446704924476396 + 9.56874107851416e-5im, -6.482467439080568 - 1.0025514431631536e-15im], (ℂ^2 ⊗ ℂ^1) ← ℂ^2) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.005424632202049171 - 1.2552778122482086e-17im, 1.1527732236489476 + 0.7498308444889122im, 1.1527732236489479 - 0.749830844488912im, 0.00542463220203 - 2.1787904383962502e-17im], (ℂ^2 ⊗ ℂ^1) ← ℂ^2) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[1.0000000000000002 + 3.990543744008573e-17im, -1.5063616616135816e-16 - 1.2038068403858814e-16im, -1.7310343030025522e-16 + 9.904147716235158e-17im, 0.9999999999999997 + 2.905132261040489e-17im], (ℂ^2 ⊗ ℂ^1) ← ℂ^2);;;], (⊞(ℂ^2) ⊗ (ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1)) ← ⊞(ℂ^2)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-5.504041407665719 - 1.3322676295501878e-15im, -0.002843969651300071 + 0.0003954814044563604im, 0.009393091938146705 + 0.02501234383744711im, 0.09752933739466359 - 0.1556400003515943im, -0.0028439696512997936 - 0.00039548140445605506im, -5.445870695110063 - 8.881784197001252e-16im, -0.07889950931995249 - 0.29975962552853164im, 0.016921035242401822 - 0.022719797175996117im, 0.00939309193814691 - 0.02501234383744719im, -0.0788995093199526 + 0.2997596255285313im, -3.6211781086731705 - 6.661338147750939e-16im, -0.002327987045439267 - 0.0027610945953553106im, 0.09752933739466241 + 0.15564000035159353im, 0.016921035242401974 + 0.02271979717599617im, -0.002327987045438934 + 0.002761094595355439im, -3.5631726140489763 - 8.881784197001252e-16im], (ℂ^4 ⊗ ℂ^1) ← ℂ^4) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.13443654299648572 - 2.7755575615628914e-17im, 1.3487624567874457 - 0.18786030153317151im, -0.13658823777209508 - 0.3272943029178287im, 0.0007815773454353152 - 0.004749856387893935im, 1.3487624567874457 + 0.18786030153317146im, 0.13443654299651026 - 2.2551405187698492e-17im, -0.0006671162307317884 + 0.004767279600359511im, 0.22778653571616353 - 0.271829361119337im, -0.13658823777209492 + 0.32729430291782874im, -0.0006671162307317884 - 0.004767279600359473im, 0.16848725405521636 + 0.0im, -0.7837226024335895 - 1.1090156759396643im, 0.0007815773454353412 + 0.004749856387893918im, 0.22778653571616342 + 0.2718293611193369im, -0.7837226024335895 + 1.109015675939664im, -0.16848725405523868 + 1.3877787807814457e-17im], (ℂ^4 ⊗ ℂ^1) ← ℂ^4) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[1.0 + 5.551115123125783e-17im, -2.220446049250313e-16 + 1.3877787807814457e-17im, 1.0408340855860843e-17 + 1.8214596497756474e-17im, 1.3877787807814457e-17 + 1.3877787807814457e-16im, -2.0816681711721685e-16 - 3.8163916471489756e-17im, 1.0000000000000004 + 0.0im, -1.1102230246251565e-16 - 1.942890293094024e-16im, -9.974659986866641e-18 + 6.938893903907228e-18im, -1.9949319973733282e-17 + 1.734723475976807e-17im, -8.326672684688674e-17 + 1.6653345369377348e-16im, 1.0000000000000007 + 0.0im, -1.3183898417423734e-16 - 2.0990154059319366e-16im, -1.1102230246251565e-16 - 1.6653345369377348e-16im, -2.862293735361732e-17 + 0.0im, -1.734723475976807e-16 + 1.8995222061946038e-16im, 1.0000000000000002 + 0.0im], (ℂ^4 ⊗ ℂ^1) ← ℂ^4);;;], (⊞(ℂ^4) ⊗ (ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1)) ← ⊞(ℂ^4)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-4.4455460758061065 - 8.881784197001252e-16im, -0.010592807629533518 - 0.005033048466823009im, 0.028694883369774226 + 0.0793941170446575im, 0.11748754155656657 - 0.15084955688543406im, 0.004477199291584008 + 0.011600737125348566im, -0.022491986012787592 + 0.005273030056192519im, -8.767462607534937e-5 + 7.690788246987774e-5im, -1.9963076863297206e-5 + 2.25552104016649e-5im, -0.010592807629533185 + 0.005033048466822954im, -4.382066632070154 - 4.440892098500626e-16im  …  -0.5446132110654135 - 3.7470027081099033e-16im, -0.024503361195815934 + 0.006684790413277408im, -1.9963076863293953e-5 - 2.2555210401345276e-5im, 3.069345583272577e-6 - 0.00011658578130095687im, 0.015597899206662935 - 0.013655855332764463im, 0.018199368190204273 + 0.0020190820691863842im, -0.11607615480464384 + 0.10059963621222091im, 0.10886294427875096 + 0.11452187542518297im, -0.02450336119581604 - 0.006684790413277193im, -0.4998986587782735 - 1.3877787807814457e-16im], (ℂ^8 ⊗ ℂ^1) ← ℂ^8) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.47366792109980094 - 2.7755575615628914e-17im, 1.1550970122582576 + 0.5559985459356404im, -0.11966176963225916 - 0.3405697719716746im, 0.0014145671689670576 + 0.0003175611029105317im, -0.015047684131210746 - 0.04113680345599838im, -0.00349673320203177 + 0.00040693892271423523im, -2.128724768072493e-11 - 1.2465435367953193e-11im, -5.0114402645046185e-12 - 3.282912136581828e-13im, 1.1550970122582576 - 0.5559985459356402im, 0.4736679210998169 + 5.204170427930421e-18im  …  -1.007059997848543 + 1.6653345369377348e-16im, 0.786697857032816 - 0.48443929715042483im, -5.0113734776507934e-12 + 3.2828254004080293e-13im, -2.058771230752099e-11 - 3.20114442765862e-12im, -0.005402487404951726 + 0.009436485282082178im, -0.041340142302553146 - 0.010189241778037525im, 0.025026609708928185 - 0.057509243929907514im, -0.21586179650607712 - 0.28245150207019837im, 0.786697857032816 + 0.48443929715042483im, 1.0070599978386117 + 0.0im], (ℂ^8 ⊗ ℂ^1) ← ℂ^8) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[1.0000000000000004 + 0.0im, -9.71445146547012e-17 - 8.326672684688674e-17im, -1.3010426069826053e-17 - 5.377642775528102e-17im, -2.3592239273284576e-16 + 0.0im, -6.288372600415926e-17 + 9.75781955236954e-17im, -5.377642775528102e-16 + 6.938893903907228e-17im, 1.9821926218466235e-16 - 1.3183898417423734e-16im, 8.456776945386935e-18 - 3.3176586478056436e-17im, -1.3183898417423734e-16 + 6.245004513516506e-17im, 0.9999999999999998 + 0.0im  …  1.0000000000000004 + 2.7755575615628914e-17im, -8.326672684688674e-17 + 4.163336342344337e-17im, 1.7184604433895245e-17 + 2.0708261494473135e-17im, 1.0267394573437727e-16 + 3.0140820395097023e-17im, 2.8449465006019636e-16 - 3.660266534311063e-16im, 5.984795992119984e-17 + 1.9081958235744878e-17im, -8.326672684688674e-17 + 9.71445146547012e-17im, 2.203098814490545e-16 - 4.85722573273506e-17im, -6.938893903907228e-17 - 2.7755575615628914e-17im, 1.0000000000000004 + 0.0im], (ℂ^8 ⊗ ℂ^1) ← ℂ^8);;;], (⊞(ℂ^8) ⊗ (ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1)) ← ⊞(ℂ^8)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-3.3968082283152716 - 8.881784197001252e-16im, -0.027971640245267264 + 0.00985446340520848im, 0.11566095369974724 + 0.050339100627742814im, 0.17414168395938145 - 0.015006934673801334im, 0.003728095079620415 + 0.014435024100365557im, -0.020585482203028242 + 0.003972752475058452im, -4.177443416601614e-5 + 0.00010940329328450963im, 3.965077660660868e-5 + 3.3027322549998572e-6im, -0.02797164024526725 - 0.009854463405208408im, -3.301457795776072 - 4.440892098500626e-16im  …  0.6992638124517805 - 1.6653345369377348e-16im, 0.03302025162516528 + 0.01292070122863101im, 3.965077660657767e-5 - 3.3027322549483034e-6im, 1.1613909654070113e-5 + 0.00011653041663490213im, -0.01658702282512369 + 0.014133714461927294im, -0.0065521305294975254 - 0.012583470564755346im, 0.17388174862344571 + 0.0023217612127585385im, -0.09018253322187922 - 0.09537899228719415im, 0.03302025162516534 - 0.012920701228630996im, 0.7863308614572692 - 1.8041124150158794e-16im], (ℂ^8 ⊗ ℂ^1) ← ℂ^8) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.7221189467078086 + 0.0im, 1.0948999110597437 - 0.385716642613614im, -0.3293118771772498 - 0.14416930263541664im, -0.000454385322623041 + 0.0005986169241922086im, -0.015663034303749348 - 0.03820745636741996im, 0.001501529341949092 + 0.003774067919187836im, -5.921494087169493e-10 - 3.883658470228528e-10im, -1.787526346559709e-10 - 2.4797347465341235e-10im, 1.094899911059744 + 0.385716642613614im, 0.722118946707786 + 0.0im  …  -0.3485444783784621 - 5.551115123125783e-17im, -0.8542744948432771 + 1.0088462468655301im, -1.7875267693985564e-10 + 2.47973409601282e-10im, 5.394188522505478e-10 - 2.7270780989310794e-10im, -0.012547737661501152 - 0.004326367063628503im, -0.006061895413950373 + 0.03884235825586026im, 0.05339806260036147 + 0.13580137408780557im, 0.0021591229697749802 + 0.32853255092482225im, -0.854274494843277 - 1.0088462468655301im, 0.348544477333814 + 0.0im], (ℂ^8 ⊗ ℂ^1) ← ℂ^8) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[1.0 + 0.0im, -5.551115123125783e-17 + 3.9898639947466563e-17im, -1.0018028073766061e-16 - 1.6696713456276768e-16im, -5.412337245047638e-16 + 1.0408340855860843e-17im, -8.478460988836645e-17 + 7.676151381197371e-17im, -1.0755285551056204e-16 + 7.979727989493313e-17im, 7.621941272573096e-17 - 1.3444106938820255e-17im, 2.0383000842727483e-17 + 1.1872013788716274e-17im, -7.632783294297951e-17 - 4.683753385137379e-17im, 0.9999999999999998 + 0.0im  …  0.9999999999999998 + 0.0im, 5.551115123125783e-17 - 2.7755575615628914e-17im, 1.6263032587282567e-18 + 1.5178830414797062e-18im, -5.318011656041399e-17 + 6.993104012531504e-18im, -7.806255641895632e-17 - 5.724587470723463e-17im, 9.974659986866641e-17 + 4.662069341687669e-17im, -1.5612511283791264e-16 + 6.245004513516506e-17im, 8.673617379884035e-17 + 4.85722573273506e-17im, 5.551115123125783e-17 - 2.7755575615628914e-17im, 0.9999999999999993 + 0.0im], (ℂ^8 ⊗ ℂ^1) ← ℂ^8);;;], (⊞(ℂ^8) ⊗ (ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1)) ← ⊞(ℂ^8)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-2.3778515462444236 - 8.881784197001252e-16im, 0.03970062523876307 + 0.011244280977856515im, -0.08358767165963635 - 0.02870787414747049im, -0.16270383652889076 - 0.07606162635564251im, -0.0059593725537740345 + 0.003885884427900598im, -0.006959945060126303 - 0.015447516748882608im, 7.869883088397218e-5 - 8.566727249676928e-6im, -1.6802195649228812e-5 - 3.28115670493183e-5im, 0.039700625238763075 - 0.01124428097785641im, -2.1792276236888948 + 1.1102230246251565e-16im  …  2.1835427508637197 + 5.551115123125783e-17im, 0.02463390546863576 + 0.04397967021299906im, -1.6802195649212332e-5 + 3.281156704925238e-5im, -4.2779380974158204e-5 + 6.660946578205748e-5im, -0.010766442307362234 + 0.014788138837780936im, -0.0029015594020222607 + 0.00027136393914031255im, -0.12041783560191632 + 0.061097406382429276im, 0.1374424151528525 + 0.059903346209405905im, 0.024633905468635676 - 0.043979670212998874im, 2.3735364190159953 + 1.1102230246251565e-16im], (ℂ^8 ⊗ ℂ^1) ← ℂ^8) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.5259153515991505 - 5.551115123125783e-17im, -1.2178780985610784 - 0.3449898720447484im, 0.33124680829706 + 0.10230348189857408im, -0.001270189695109225 + 0.0052957823188439345im, -0.017118162722843534 - 0.01639771025184418im, -0.0018188621918352726 + 0.0195610434324748im, 7.155165538839589e-13 + 6.7996517704588255e-12im, 3.289586485155649e-12 + 3.505662773961582e-12im, -1.2178780985610784 + 0.34498987204474824im, 0.5259153515991428 + 2.7755575615628914e-17im  …  0.6149358456971817 + 1.734723475976807e-17im, 0.2198335282994817 + 1.20513864649416im, 3.2896203122634304e-12 - 3.5056799043559073e-12im, -2.395474443805945e-12 + 1.3480533963411423e-11im, -0.009381365606813543 + 0.00899263517532607im, -0.018650847687687995 + 0.02076360876122297im, -0.03984714867708955 - 0.15227113729917774im, 0.30758685102107924 - 0.028916146548803145im, 0.2198335282994816 - 1.2051386464941598im, -0.6149358458578773 + 2.7755575615628914e-17im], (ℂ^8 ⊗ ℂ^1) ← ℂ^8) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[1.0 + 0.0im, 8.673617379884035e-18 - 2.7403209909571125e-17im, 4.275822317739708e-17 + 1.3227266504323154e-17im, 6.938893903907228e-17 + 7.979727989493313e-17im, -5.2909066017292616e-17 + 1.3444106938820255e-17im, 9.8879238130678e-17 - 5.746271514173174e-17im, 7.047314121155779e-18 + 5.637851296924623e-17im, -4.456070928915423e-17 - 2.6454533008646308e-17im, -4.336808689942018e-18 + 3.417947348760553e-17im, 0.9999999999999991 + 0.0im  …  0.9999999999999987 + 1.3877787807814457e-17im, 3.122502256758253e-17 - 5.0306980803327406e-17im, -5.345116710353537e-17 + 3.1008182133085427e-17im, -1.0278236595162582e-16 - 7.37257477290143e-18im, 0.0 + 6.938893903907228e-18im, 6.245004513516506e-17 - 1.5612511283791264e-17im, -2.7755575615628914e-17 + 1.3877787807814457e-17im, -1.249000902703301e-16 + 4.163336342344337e-17im, 6.071532165918825e-17 + 2.2551405187698492e-17im, 0.9999999999999991 + 5.551115123125783e-17im], (ℂ^8 ⊗ ℂ^1) ← ℂ^8);;;], (⊞(ℂ^8) ⊗ (ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1)) ← ⊞(ℂ^8)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-1.4045430711262243 - 1.1102230246251565e-16im, -0.025782549794800186 - 0.004501129856954611im, -0.0072660966714673285 + 0.022449959443961578im, -0.12710428782740224 + 0.0793353955374225im, -0.02578254979480019 + 0.004501129856954628im, -0.9686919046365453 - 1.734723475976807e-16im, 0.043226643472223214 - 0.24922079730080776im, -0.018097706094761322 + 0.014535400477126982im, -0.007266096671467315 - 0.022449959443961536im, 0.0432266434722231 + 0.24922079730080715im, 0.9685029991061878 + 4.85722573273506e-17im, 0.017851090407990607 + 0.01685135704013931im, -0.12710428782740218 - 0.07933539553742258im, -0.018097706094761287 - 0.014535400477126962im, 0.01785109040799061 - 0.01685135704013932im, 1.4047319766565813 + 0.0im], (ℂ^4 ⊗ ℂ^1) ← ℂ^4) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.164907686376563 + 0.0im, 1.3526150658511293 + 0.23632698465437418im, 0.09976247151332596 - 0.27826512245068324im, 0.00021994454016008302 - 0.001848637363880131im, 1.3526150658511291 - 0.2363269846543743im, 0.16490768637659037 - 6.938893903907228e-18im, 0.0016298621529986998 - 0.0008996583050283036im, -0.22024264775980312 + 0.19717303365998967im, 0.09976247151332585 + 0.2782651224506831im, 0.0016298621529986998 + 0.0008996583050283136im, 0.1540788484403611 + 3.469446951953614e-18im, 1.078789058258272 + 0.85152004164017im, 0.00021994454016008302 + 0.001848637363880131im, -0.220242647759803 - 0.19717303365998964im, 1.078789058258272 - 0.85152004164017im, -0.1540788484403884 - 6.938893903907228e-18im], (ℂ^4 ⊗ ℂ^1) ← ℂ^4) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.9999999999999998 + 0.0im, 1.2576745200831851e-17 + 1.0408340855860843e-17im, 8.673617379884035e-18 + 6.830473686658678e-18im, -5.551115123125783e-17 + 8.326672684688674e-17im, 1.0408340855860843e-17 - 1.6479873021779667e-17im, 0.9999999999999998 - 2.7755575615628914e-17im, -1.1102230246251565e-16 - 1.0668549377257364e-16im, 1.1384122811097797e-17 + 5.637851296924623e-18im, 8.673617379884035e-18 - 7.37257477290143e-18im, -1.1102230246251565e-16 + 1.4137996329210978e-16im, 0.9999999999999996 + 0.0im, 8.673617379884035e-18 + 8.673617379884035e-18im, -5.551115123125783e-17 - 1.1102230246251565e-16im, 1.1655173354219173e-17 - 8.673617379884035e-18im, 6.938893903907228e-18 - 6.938893903907228e-18im, 0.9999999999999996 + 5.551115123125783e-17im], (ℂ^4 ⊗ ℂ^1) ← ℂ^4);;;], (⊞(ℂ^4) ⊗ (ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1)) ← ⊞(ℂ^4)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.4999895855781696 + 0.0im, 0.001638921264939766 - 0.0027799731037405372im, 0.001638921264939766 + 0.0027799731037405372im, 0.4999895855781696 + 0.0im], (ℂ^2 ⊗ ℂ^1) ← ℂ^2) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[-0.009127648867816219 - 4.336808689942018e-19im, -0.7212848717796375 + 1.2164147400323533im, -0.7212848717796373 - 1.216414740032353im, 0.00912764886781622 + 0.0im], (ℂ^2 ⊗ ℂ^1) ← ℂ^2) TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.9999999999999999 + 0.0im, -8.673617379884035e-19 + 0.0im, -8.673617379884035e-19 + 0.0im, 0.9999999999999999 + 0.0im], (ℂ^2 ⊗ ℂ^1) ← ℂ^2);;;], (⊞(ℂ^2) ⊗ (ℂ^1 ⊞ ℂ^1 ⊞ ℂ^1)) ← ⊞(ℂ^2)), BlockTensorKit.BlockTensorMap{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, ComplexF64, TensorKit.ComplexSpace, 2, 1, 3}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[1.0 + 0.0im], (ℂ^1 ⊗ ℂ^1) ← ℂ^1);;;], (⊞(ℂ^1) ⊗ ⊞(ℂ^1)) ← ⊞(ℂ^1))]), 4.533934138564889e-12)

1. Entanglement entropy at a single cut

entropy returns the von Neumann entanglement entropy across the cut to the right of a given site. For a FiniteMPS the site is a required argument:

julia
entropy(ψ, L ÷ 2)   # entropy across the central cut
0.6885976457856601

2. Entropy profile across every cut

Collecting entropy(ψ, i) over the valid range of sites gives the full entropy profile of the chain:

julia
[entropy(ψ, i) for i in 1:L]
8-element Vector{Float64}:
  0.5687362834103838
  0.6619622060572531
  0.6843192424818818
  0.6885976457856601
  0.6843192424819271
  0.6619622060572745
  0.5687362834104005
 -0.0

Warning

For FiniteMPS the cut site is required and must lie in 1:length(ψ). site = 0 — a valid default for InfiniteMPS and WindowMPS (see recipe 5) — throws a BoundsError for FiniteMPS.


3. The entanglement spectrum

entanglement_spectrum returns the singular values of the gauge tensor to the right of a site, packaged as a sector-resolved vector:

julia
spectrum = entanglement_spectrum(ψ, L ÷ 2)
8-element TensorKit.SectorVector{Float64, TensorKitSectors.Trivial, Vector{Float64}}:
 0.7479933771763309
 0.6634940095409202
 0.012553077940041948
 0.011134980961947396
 0.000148541901143799
 0.00013176140937023868
 2.4928804494822663e-6
 2.2112645556325585e-6

The entropy can equivalently be computed directly from this spectrum with entropy:

julia
entropy(spectrum)
0.6885976457856601
julia
entropy(ψ, L ÷ 2)  entropy(spectrum)
true

Both routes agree, since entropy(ψ, site) computes the entropy from exactly this spectrum internally.


4. Sector-resolved spectrum

Because the returned spectrum is indexed by symmetry sector, you can inspect the singular values sector by sector. Use keys to list the sectors present at a cut, and index the spectrum with a sector to obtain its singular values:

julia
collect(keys(spectrum))
1-element Vector{TensorKitSectors.Trivial}:
 Trivial()
julia
spectrum[only(keys(spectrum))]
8-element view(::Vector{Float64}, 1:8) with eltype Float64:
 0.7479933771763309
 0.6634940095409202
 0.012553077940041948
 0.011134980961947396
 0.000148541901143799
 0.00013176140937023868
 2.4928804494822663e-6
 2.2112645556325585e-6

For the plain (no explicit symmetry) FiniteMPS built above there is a single sector, Trivial(), so all singular values live in one block. pairs(spectrum) iterates sector => values pairs and is the natural entry point for a symmetric state where multiple sectors are populated at a cut:

julia
collect(pairs(spectrum))
1-element Vector{Pair{TensorKitSectors.Trivial, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}}}:
 Trivial() => [0.7479933771763309, 0.6634940095409202, 0.012553077940041948, 0.011134980961947396, 0.000148541901143799, 0.00013176140937023868, 2.4928804494822663e-6, 2.2112645556325585e-6]

5. Entanglement of an infinite MPS

For InfiniteMPS, the cut site defaults to 0, and entropy without a site argument returns one entropy per site in the unit cell:

julia
ψ∞ = InfiniteMPS(ℂ^2, ℂ^8)
entropy(ψ∞)
1-element Vector{Float64}:
 0.0010603601218008058
julia
entanglement_spectrum(ψ∞)   # site defaults to 0
8-element TensorKit.SectorVector{Float64, TensorKitSectors.Trivial, Vector{Float64}}:
 0.9999478703581369
 0.010209536772149173
 0.00013830690564465867
 5.189164163563837e-5
 9.274971428633522e-6
 3.91048618248807e-6
 1.3467698285038855e-6
 6.720812185530378e-7

Note

ψ∞ here is a random InfiniteMPS, not a converged ground state, so the values above illustrate the interface rather than any physical entanglement profile. For a physically meaningful result, compute the entropy of a state obtained from find_groundstate (for example via VUMPS).

Note

WindowMPS also supports entropy(ψ, site) with a required site argument, mirroring the FiniteMPS form.


Plotting the spectrum

MPSKit defines an entanglementplot recipe via RecipesBase, but does not depend on Plots.jl itself. To use it, add using Plots (or another Plots-backed package) in your own environment:

julia
using Plots
entanglementplot(ψ; site = L ÷ 2)

Note

entanglementplot is a plotting recipe: it only becomes available once Plots (or a compatible plotting package) is loaded. This block is not executed on this page to keep the docs build free of the Plots.jl dependency.