Constructing states
The examples on this page use MPSKit.jl and TensorKit.jl. See Installation for how to add these packages to your environment.
This page collects recipes for building FiniteMPS, InfiniteMPS, WindowMPS, and MultilineMPS objects. All constructors live in the MPSKit namespace; the examples below assume
using MPSKit, TensorKitFor background on what these types represent and how gauging works, see the States reference page.
1. A finite MPS
From length, physical space, and maximum bond dimension
The most common starting point: give the chain length N, the local physical VectorSpace, and the maximum allowed virtual space. The constructor fills the tensors with random ComplexF64 entries and trims the actual bond dimensions to full rank, so passing an over-large maxVspace is safe.
L = 10
d = ℂ^2 # spin-1/2 physical space (dim 2)
D = ℂ^16 # maximum bond dimension
ψ = FiniteMPS(L, d, D)10-site FiniteMPS(ComplexF64, TensorKit.ComplexSpace) with maximal dimension 16 and center 21/2:
┌─[10]─ ℂ^2
│ ℂ^2
├─[9]─ ℂ^2
│ ℂ^4
├─[8]─ ℂ^2
│ ℂ^8
├─[7]─ ℂ^2
│ ℂ^16
├─[6]─ ℂ^2
│ ℂ^16
├─[5]─ ℂ^2
│ ℂ^16
├─[4]─ ℂ^2
│ ℂ^8
├─[3]─ ℂ^2
│ ℂ^4
├─[2]─ ℂ^2
│ ℂ^2
└─[1]─ ℂ^2Inspect the resulting virtual spaces with left_virtualspace and right_virtualspace. To get the numeric bond dimension at bond i use dim:
dim(left_virtualspace(ψ, 3)) # bond dimension between sites 2 and 34physicalspace(ψ, 1) # local Hilbert space at site 1ℂ^2Choosing the initializer and element type
Pass an initializer function (rand or randn) and an element type as the first two arguments:
ψ_rand = FiniteMPS(rand, ComplexF64, L, d, D) # default — same as FiniteMPS(L, d, D)
ψ_randn = FiniteMPS(randn, ComplexF64, L, d, D) # normally distributed entries10-site FiniteMPS(ComplexF64, TensorKit.ComplexSpace) with maximal dimension 16 and center 21/2:
┌─[10]─ ℂ^2
│ ℂ^2
├─[9]─ ℂ^2
│ ℂ^4
├─[8]─ ℂ^2
│ ℂ^8
├─[7]─ ℂ^2
│ ℂ^16
├─[6]─ ℂ^2
│ ℂ^16
├─[5]─ ℂ^2
│ ℂ^16
├─[4]─ ℂ^2
│ ℂ^8
├─[3]─ ℂ^2
│ ℂ^4
├─[2]─ ℂ^2
│ ℂ^2
└─[1]─ ℂ^2The element type sets the scalar type of the tensors, e.g. ComplexF64 (the default) or Float64 for a real-valued state.
Per-site physical and virtual spaces
When the physical space varies from site to site — or you want fine control over which bond gets which maximum dimension — pass vectors instead of scalars. The maxVspaces vector must have length N - 1 (one entry per bond):
Pspaces = [ℂ^2, ℂ^3, ℂ^2, ℂ^3, ℂ^2] # alternating physical spaces
maxVspaces = [ℂ^8, ℂ^8, ℂ^8, ℂ^8] # one per bond (length N-1)
ψ_het = FiniteMPS(rand, ComplexF64, Pspaces, maxVspaces)5-site FiniteMPS(ComplexF64, TensorKit.ComplexSpace) with maximal dimension 6 and center 11/2:
┌─[5]─ ℂ^2
│ ℂ^2
├─[4]─ ℂ^3
│ ℂ^6
├─[3]─ ℂ^2
│ ℂ^6
├─[2]─ ℂ^3
│ ℂ^2
└─[1]─ ℂ^2physicalspace(ψ_het, 2) # ℂ^3ℂ^3A product state (trivial virtual space)
A product (bond-dimension-1) state has no entanglement: each site carries its own single-site state, independent of the others (with rand, a random such state per site). Achieve this by passing oneunit(d) — the one-dimensional unit space of the same symmetry sector — as the maximum virtual space:
ψ_prod = FiniteMPS(rand, ComplexF64, L, ℂ^2, oneunit(ℂ^2))
dim(left_virtualspace(ψ_prod, 5)) # should be 11Note
oneunit(V) returns the one-dimensional trivial space matching the symmetry type of V. For plain complex spaces, oneunit(ℂ^2) == ℂ^1.
From your own site tensors
If you already have a vector of TensorMap objects with the correct index structure (virtual ⊗ physical ← virtual), pass them directly. The constructor performs a left-to-right QR sweep to bring the state into a canonical form:
# build three-site rank-1 tensors by hand
site_tensors = [rand(ComplexF64, ℂ^1 ⊗ ℂ^2 ← ℂ^1) for _ in 1:L]
ψ_from_tensors = FiniteMPS(site_tensors)10-site FiniteMPS(ComplexF64, TensorKit.ComplexSpace) with maximal dimension 1 and center 21/2:
┌─[10]─ ℂ^2
│ ℂ^1
├─[9]─ ℂ^2
│ ℂ^1
├─[8]─ ℂ^2
│ ℂ^1
├─[7]─ ℂ^2
│ ℂ^1
├─[6]─ ℂ^2
│ ℂ^1
├─[5]─ ℂ^2
│ ℂ^1
├─[4]─ ℂ^2
│ ℂ^1
├─[3]─ ℂ^2
│ ℂ^1
├─[2]─ ℂ^2
│ ℂ^1
└─[1]─ ℂ^2Set normalize = true to also normalize the state during construction (the default is false when passing raw tensors):
ψ_normed = FiniteMPS(site_tensors; normalize = true)10-site FiniteMPS(ComplexF64, TensorKit.ComplexSpace) with maximal dimension 1 and center 21/2:
┌─[10]─ ℂ^2
│ ℂ^1
├─[9]─ ℂ^2
│ ℂ^1
├─[8]─ ℂ^2
│ ℂ^1
├─[7]─ ℂ^2
│ ℂ^1
├─[6]─ ℂ^2
│ ℂ^1
├─[5]─ ℂ^2
│ ℂ^1
├─[4]─ ℂ^2
│ ℂ^1
├─[3]─ ℂ^2
│ ℂ^1
├─[2]─ ℂ^2
│ ℂ^1
└─[1]─ ℂ^22. An infinite MPS
Scalar convenience form
Provide d and D as integers or spaces; the constructor builds a single-site unit cell:
ψ_inf = InfiniteMPS(2, 20) # integers → plain ComplexSpace dimensions1-site InfiniteMPS(ComplexF64, TensorKit.ComplexSpace) with maximal dimension 20:
| ⋮
| ℂ^20
├─[1]─ ℂ^2
│ ℂ^20
| ⋮ψ_inf2 = InfiniteMPS(ℂ^2, ℂ^20) # same, spelled out as spaces1-site InfiniteMPS(ComplexF64, TensorKit.ComplexSpace) with maximal dimension 20:
| ⋮
| ℂ^20
├─[1]─ ℂ^2
│ ℂ^20
| ⋮Multi-site unit cell
Pass vectors of physical and virtual spaces. The virtual spaces are those to the right of the corresponding sites:
ψ_2site = InfiniteMPS([ℂ^2, ℂ^2], [ℂ^20, ℂ^20])2-site InfiniteMPS(ComplexF64, TensorKit.ComplexSpace) with maximal dimension 20:
| ⋮
| ℂ^20
├─[2]─ ℂ^2
│ ℂ^20
├─[1]─ ℂ^2
│ ℂ^20
| ⋮physicalspace(ψ_2site, 1)ℂ^2right_virtualspace(ψ_2site, 1) # virtual space to the right of site 1ℂ^20Choosing element type and initializer
ψ_inf_r = InfiniteMPS(rand, Float64, [ℂ^2], [ℂ^10])1-site InfiniteMPS(Float64, TensorKit.ComplexSpace) with maximal dimension 10:
| ⋮
| ℂ^10
├─[1]─ ℂ^2
│ ℂ^10
| ⋮From site tensors
Tensors must form a valid periodic chain (virtual spaces must match across the unit-cell boundary):
inf_tensors = [rand(ComplexF64, ℂ^4 ⊗ ℂ^2 ← ℂ^4)]
ψ_inf_t = InfiniteMPS(inf_tensors)1-site InfiniteMPS(ComplexF64, TensorKit.ComplexSpace) with maximal dimension 4:
| ⋮
| ℂ^4
├─[1]─ ℂ^2
│ ℂ^4
| ⋮3. A window MPS
A WindowMPS embeds a mutable finite window inside two infinite environments.
Slice an existing InfiniteMPS
The simplest route: pick a region of length L from an InfiniteMPS. Both environments are set to the same object (the original infinite state):
ψ_bulk = InfiniteMPS(ℂ^2, ℂ^8)
ψ_win = WindowMPS(ψ_bulk, 6) # window of 6 sitesWindowMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}(InfiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48536397564757605 + 0.38316245299052715im, -0.04339206520686302 + 0.04218298868198245im, 0.025936345484160933 + 0.04897879026802765im, -0.0038721380167540884 + 0.0026820208441755574im, 0.0028787665005433013 + 0.0035280203589558965im, 0.0003183957161434727 + 0.0006447310867994393im, 0.0003142496334177633 + 0.0003824631668641228im, 2.7026526635399814e-5 + 0.00023671605576720573im, 0.5196808509798783 + 0.5714259437568321im, -0.08458924886257664 - 0.01613972991937502im … 0.020094184930551 - 0.014739332636453056im, -0.03905862256646264 + 0.05615627494872872im, 0.015361046358952857 + 0.011130761826046956im, -0.30692568712914436 - 0.003524963573950768im, -0.08388967037673424 - 0.5249518925263805im, 0.09113543561373211 + 0.165478533753574im, 0.12329166264639548 + 0.00402095786817859im, 0.0536920911498624 - 0.04018204637114822im, -0.04041890232853177 + 0.0200048450937709im, 0.0337582343439571 - 0.04083717804652322im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.49040669450197294 + 0.47542879453104864im, -0.16555828070416853 + 0.7097937601431423im, 0.01832670378912602 - 0.024335657938851587im, 0.008310042183172515 + 0.020719742901754632im, -0.0026683907683699333 - 0.017831648741227023im, -0.008908927771989584 - 0.015342482252042702im, -0.004037921829904217 + 0.0036917552986392562im, 0.0051375107906438105 + 0.010721744707587806im, 0.531205966633969 + 0.5011447125483215im, 0.14537225704887993 - 0.6650087157571514im … 0.10953648453810091 - 0.035339122149456614im, -0.03382835031489706 + 0.09368798998347096im, 9.065299685851784e-8 + 6.568803278569949e-8im, -0.00017221781208882954 - 2.311502819662678e-6im, -0.0030386632051984963 - 0.014035265689774729im, 0.0028032106266741436 + 0.008323443822772262im, 0.04635244521029055 - 0.0260121810346474im, -0.0037215616419404756 - 0.02416617274665579im, -0.0259284374122867 + 0.018629652736787135im, 0.034501155608530586 - 0.08327086843231825im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9918369758444534 + 0.0im, -0.051888539911577373 + 0.07456859324221245im, 0.06864343609244032 + 0.055206797263028254im, -0.0017139489493254684 - 0.003995746189721733im, 0.0034020696324859098 + 0.008086481334607135im, 0.002644871147675611 + 0.00036203221161140606im, 0.0007669259162759302 + 0.00020230111704120526im, 0.0007595979959901588 - 4.0609680811799574e-7im, 0.0 + 0.0im, 0.01037598617423062 + 0.0im … 4.440501499215161e-6 + 0.0im, -5.189283282395994e-7 - 1.4528955109563433e-6im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 5.853311822274058e-6 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48640349280871126 + 0.47154785779704916im, -0.06261637416720736 + 0.01926444158723854im, 0.011603583893197189 + 0.05899410613620836im, 0.0008422348821852158 - 0.0032649443300591372im, -0.002055548595572612 + 0.005796890363010703im, 0.0010701924529609044 + 0.0011260191840096363im, 0.00036882722349063676 + 0.00044809043700387303im, 0.00037179876146770715 + 0.0003368406885234275im, 0.5268697194967655 + 0.49705385615436526im, -0.0634247776972001 + 0.006707492994786108im … 1.1761753021295538e-7 - 8.627390997338053e-8im, -2.2862229723001607e-7 + 3.2870018805226635e-7im, 8.991299425535862e-8 + 6.515181978731742e-8im, -1.7965317530326092e-6 - 2.0632710960491446e-8im, -4.910323993828123e-7 - 3.072707118649804e-6im, 5.334441227059543e-7 + 9.685974579523714e-7im, 7.216645465559715e-7 + 2.3535920226675633e-8im, 3.1427655189010586e-7 - 2.351980470674063e-7im, -2.3658443884293545e-7 + 1.1709459629013039e-7im, 1.975974721845822e-7 - 2.39032737048025e-7im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)]), 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.48536397564757605 + 0.38316245299052715im, -0.04339206520686302 + 0.04218298868198245im, 0.025936345484160933 + 0.04897879026802765im, -0.0038721380167540884 + 0.0026820208441755574im, 0.0028787665005433013 + 0.0035280203589558965im, 0.0003183957161434727 + 0.0006447310867994393im, 0.0003142496334177633 + 0.0003824631668641228im, 2.7026526635399814e-5 + 0.00023671605576720573im, 0.5196808509798783 + 0.5714259437568321im, -0.08458924886257664 - 0.01613972991937502im … 0.020094184930551 - 0.014739332636453056im, -0.03905862256646264 + 0.05615627494872872im, 0.015361046358952857 + 0.011130761826046956im, -0.30692568712914436 - 0.003524963573950768im, -0.08388967037673424 - 0.5249518925263805im, 0.09113543561373211 + 0.165478533753574im, 0.12329166264639548 + 0.00402095786817859im, 0.0536920911498624 - 0.04018204637114822im, -0.04041890232853177 + 0.0200048450937709im, 0.0337582343439571 - 0.04083717804652322im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48536397564757605 + 0.38316245299052715im, -0.04339206520686302 + 0.04218298868198245im, 0.025936345484160933 + 0.04897879026802765im, -0.0038721380167540884 + 0.0026820208441755574im, 0.0028787665005433013 + 0.0035280203589558965im, 0.0003183957161434727 + 0.0006447310867994393im, 0.0003142496334177633 + 0.0003824631668641228im, 2.7026526635399814e-5 + 0.00023671605576720573im, 0.5196808509798783 + 0.5714259437568321im, -0.08458924886257664 - 0.01613972991937502im … 0.020094184930551 - 0.014739332636453056im, -0.03905862256646264 + 0.05615627494872872im, 0.015361046358952857 + 0.011130761826046956im, -0.30692568712914436 - 0.003524963573950768im, -0.08388967037673424 - 0.5249518925263805im, 0.09113543561373211 + 0.165478533753574im, 0.12329166264639548 + 0.00402095786817859im, 0.0536920911498624 - 0.04018204637114822im, -0.04041890232853177 + 0.0200048450937709im, 0.0337582343439571 - 0.04083717804652322im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48536397564757605 + 0.38316245299052715im, -0.04339206520686302 + 0.04218298868198245im, 0.025936345484160933 + 0.04897879026802765im, -0.0038721380167540884 + 0.0026820208441755574im, 0.0028787665005433013 + 0.0035280203589558965im, 0.0003183957161434727 + 0.0006447310867994393im, 0.0003142496334177633 + 0.0003824631668641228im, 2.7026526635399814e-5 + 0.00023671605576720573im, 0.5196808509798783 + 0.5714259437568321im, -0.08458924886257664 - 0.01613972991937502im … 0.020094184930551 - 0.014739332636453056im, -0.03905862256646264 + 0.05615627494872872im, 0.015361046358952857 + 0.011130761826046956im, -0.30692568712914436 - 0.003524963573950768im, -0.08388967037673424 - 0.5249518925263805im, 0.09113543561373211 + 0.165478533753574im, 0.12329166264639548 + 0.00402095786817859im, 0.0536920911498624 - 0.04018204637114822im, -0.04041890232853177 + 0.0200048450937709im, 0.0337582343439571 - 0.04083717804652322im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48536397564757605 + 0.38316245299052715im, -0.04339206520686302 + 0.04218298868198245im, 0.025936345484160933 + 0.04897879026802765im, -0.0038721380167540884 + 0.0026820208441755574im, 0.0028787665005433013 + 0.0035280203589558965im, 0.0003183957161434727 + 0.0006447310867994393im, 0.0003142496334177633 + 0.0003824631668641228im, 2.7026526635399814e-5 + 0.00023671605576720573im, 0.5196808509798783 + 0.5714259437568321im, -0.08458924886257664 - 0.01613972991937502im … 0.020094184930551 - 0.014739332636453056im, -0.03905862256646264 + 0.05615627494872872im, 0.015361046358952857 + 0.011130761826046956im, -0.30692568712914436 - 0.003524963573950768im, -0.08388967037673424 - 0.5249518925263805im, 0.09113543561373211 + 0.165478533753574im, 0.12329166264639548 + 0.00402095786817859im, 0.0536920911498624 - 0.04018204637114822im, -0.04041890232853177 + 0.0200048450937709im, 0.0337582343439571 - 0.04083717804652322im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48536397564757605 + 0.38316245299052715im, -0.04339206520686302 + 0.04218298868198245im, 0.025936345484160933 + 0.04897879026802765im, -0.0038721380167540884 + 0.0026820208441755574im, 0.0028787665005433013 + 0.0035280203589558965im, 0.0003183957161434727 + 0.0006447310867994393im, 0.0003142496334177633 + 0.0003824631668641228im, 2.7026526635399814e-5 + 0.00023671605576720573im, 0.5196808509798783 + 0.5714259437568321im, -0.08458924886257664 - 0.01613972991937502im … 0.020094184930551 - 0.014739332636453056im, -0.03905862256646264 + 0.05615627494872872im, 0.015361046358952857 + 0.011130761826046956im, -0.30692568712914436 - 0.003524963573950768im, -0.08388967037673424 - 0.5249518925263805im, 0.09113543561373211 + 0.165478533753574im, 0.12329166264639548 + 0.00402095786817859im, 0.0536920911498624 - 0.04018204637114822im, -0.04041890232853177 + 0.0200048450937709im, 0.0337582343439571 - 0.04083717804652322im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48536397564757605 + 0.38316245299052715im, -0.04339206520686302 + 0.04218298868198245im, 0.025936345484160933 + 0.04897879026802765im, -0.0038721380167540884 + 0.0026820208441755574im, 0.0028787665005433013 + 0.0035280203589558965im, 0.0003183957161434727 + 0.0006447310867994393im, 0.0003142496334177633 + 0.0003824631668641228im, 2.7026526635399814e-5 + 0.00023671605576720573im, 0.5196808509798783 + 0.5714259437568321im, -0.08458924886257664 - 0.01613972991937502im … 0.020094184930551 - 0.014739332636453056im, -0.03905862256646264 + 0.05615627494872872im, 0.015361046358952857 + 0.011130761826046956im, -0.30692568712914436 - 0.003524963573950768im, -0.08388967037673424 - 0.5249518925263805im, 0.09113543561373211 + 0.165478533753574im, 0.12329166264639548 + 0.00402095786817859im, 0.0536920911498624 - 0.04018204637114822im, -0.04041890232853177 + 0.0200048450937709im, 0.0337582343439571 - 0.04083717804652322im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.49040669450197294 + 0.47542879453104864im, -0.16555828070416853 + 0.7097937601431423im, 0.01832670378912602 - 0.024335657938851587im, 0.008310042183172515 + 0.020719742901754632im, -0.0026683907683699333 - 0.017831648741227023im, -0.008908927771989584 - 0.015342482252042702im, -0.004037921829904217 + 0.0036917552986392562im, 0.0051375107906438105 + 0.010721744707587806im, 0.531205966633969 + 0.5011447125483215im, 0.14537225704887993 - 0.6650087157571514im … 0.10953648453810091 - 0.035339122149456614im, -0.03382835031489706 + 0.09368798998347096im, 9.065299685851784e-8 + 6.568803278569949e-8im, -0.00017221781208882954 - 2.311502819662678e-6im, -0.0030386632051984963 - 0.014035265689774729im, 0.0028032106266741436 + 0.008323443822772262im, 0.04635244521029055 - 0.0260121810346474im, -0.0037215616419404756 - 0.02416617274665579im, -0.0259284374122867 + 0.018629652736787135im, 0.034501155608530586 - 0.08327086843231825im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.49040669450197294 + 0.47542879453104864im, -0.16555828070416853 + 0.7097937601431423im, 0.01832670378912602 - 0.024335657938851587im, 0.008310042183172515 + 0.020719742901754632im, -0.0026683907683699333 - 0.017831648741227023im, -0.008908927771989584 - 0.015342482252042702im, -0.004037921829904217 + 0.0036917552986392562im, 0.0051375107906438105 + 0.010721744707587806im, 0.531205966633969 + 0.5011447125483215im, 0.14537225704887993 - 0.6650087157571514im … 0.10953648453810091 - 0.035339122149456614im, -0.03382835031489706 + 0.09368798998347096im, 9.065299685851784e-8 + 6.568803278569949e-8im, -0.00017221781208882954 - 2.311502819662678e-6im, -0.0030386632051984963 - 0.014035265689774729im, 0.0028032106266741436 + 0.008323443822772262im, 0.04635244521029055 - 0.0260121810346474im, -0.0037215616419404756 - 0.02416617274665579im, -0.0259284374122867 + 0.018629652736787135im, 0.034501155608530586 - 0.08327086843231825im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.49040669450197294 + 0.47542879453104864im, -0.16555828070416853 + 0.7097937601431423im, 0.01832670378912602 - 0.024335657938851587im, 0.008310042183172515 + 0.020719742901754632im, -0.0026683907683699333 - 0.017831648741227023im, -0.008908927771989584 - 0.015342482252042702im, -0.004037921829904217 + 0.0036917552986392562im, 0.0051375107906438105 + 0.010721744707587806im, 0.531205966633969 + 0.5011447125483215im, 0.14537225704887993 - 0.6650087157571514im … 0.10953648453810091 - 0.035339122149456614im, -0.03382835031489706 + 0.09368798998347096im, 9.065299685851784e-8 + 6.568803278569949e-8im, -0.00017221781208882954 - 2.311502819662678e-6im, -0.0030386632051984963 - 0.014035265689774729im, 0.0028032106266741436 + 0.008323443822772262im, 0.04635244521029055 - 0.0260121810346474im, -0.0037215616419404756 - 0.02416617274665579im, -0.0259284374122867 + 0.018629652736787135im, 0.034501155608530586 - 0.08327086843231825im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.49040669450197294 + 0.47542879453104864im, -0.16555828070416853 + 0.7097937601431423im, 0.01832670378912602 - 0.024335657938851587im, 0.008310042183172515 + 0.020719742901754632im, -0.0026683907683699333 - 0.017831648741227023im, -0.008908927771989584 - 0.015342482252042702im, -0.004037921829904217 + 0.0036917552986392562im, 0.0051375107906438105 + 0.010721744707587806im, 0.531205966633969 + 0.5011447125483215im, 0.14537225704887993 - 0.6650087157571514im … 0.10953648453810091 - 0.035339122149456614im, -0.03382835031489706 + 0.09368798998347096im, 9.065299685851784e-8 + 6.568803278569949e-8im, -0.00017221781208882954 - 2.311502819662678e-6im, -0.0030386632051984963 - 0.014035265689774729im, 0.0028032106266741436 + 0.008323443822772262im, 0.04635244521029055 - 0.0260121810346474im, -0.0037215616419404756 - 0.02416617274665579im, -0.0259284374122867 + 0.018629652736787135im, 0.034501155608530586 - 0.08327086843231825im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.49040669450197294 + 0.47542879453104864im, -0.16555828070416853 + 0.7097937601431423im, 0.01832670378912602 - 0.024335657938851587im, 0.008310042183172515 + 0.020719742901754632im, -0.0026683907683699333 - 0.017831648741227023im, -0.008908927771989584 - 0.015342482252042702im, -0.004037921829904217 + 0.0036917552986392562im, 0.0051375107906438105 + 0.010721744707587806im, 0.531205966633969 + 0.5011447125483215im, 0.14537225704887993 - 0.6650087157571514im … 0.10953648453810091 - 0.035339122149456614im, -0.03382835031489706 + 0.09368798998347096im, 9.065299685851784e-8 + 6.568803278569949e-8im, -0.00017221781208882954 - 2.311502819662678e-6im, -0.0030386632051984963 - 0.014035265689774729im, 0.0028032106266741436 + 0.008323443822772262im, 0.04635244521029055 - 0.0260121810346474im, -0.0037215616419404756 - 0.02416617274665579im, -0.0259284374122867 + 0.018629652736787135im, 0.034501155608530586 - 0.08327086843231825im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.49040669450197294 + 0.47542879453104864im, -0.16555828070416853 + 0.7097937601431423im, 0.01832670378912602 - 0.024335657938851587im, 0.008310042183172515 + 0.020719742901754632im, -0.0026683907683699333 - 0.017831648741227023im, -0.008908927771989584 - 0.015342482252042702im, -0.004037921829904217 + 0.0036917552986392562im, 0.0051375107906438105 + 0.010721744707587806im, 0.531205966633969 + 0.5011447125483215im, 0.14537225704887993 - 0.6650087157571514im … 0.10953648453810091 - 0.035339122149456614im, -0.03382835031489706 + 0.09368798998347096im, 9.065299685851784e-8 + 6.568803278569949e-8im, -0.00017221781208882954 - 2.311502819662678e-6im, -0.0030386632051984963 - 0.014035265689774729im, 0.0028032106266741436 + 0.008323443822772262im, 0.04635244521029055 - 0.0260121810346474im, -0.0037215616419404756 - 0.02416617274665579im, -0.0259284374122867 + 0.018629652736787135im, 0.034501155608530586 - 0.08327086843231825im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48640349280871126 + 0.47154785779704916im, -0.06261637416720736 + 0.01926444158723854im, 0.011603583893197189 + 0.05899410613620836im, 0.0008422348821852158 - 0.0032649443300591372im, -0.002055548595572612 + 0.005796890363010703im, 0.0010701924529609044 + 0.0011260191840096363im, 0.00036882722349063676 + 0.00044809043700387303im, 0.00037179876146770715 + 0.0003368406885234275im, 0.5268697194967655 + 0.49705385615436526im, -0.0634247776972001 + 0.006707492994786108im … 1.1761753021295538e-7 - 8.627390997338053e-8im, -2.2862229723001607e-7 + 3.2870018805226635e-7im, 8.991299425535862e-8 + 6.515181978731742e-8im, -1.7965317530326092e-6 - 2.0632710960491446e-8im, -4.910323993828123e-7 - 3.072707118649804e-6im, 5.334441227059543e-7 + 9.685974579523714e-7im, 7.216645465559715e-7 + 2.3535920226675633e-8im, 3.1427655189010586e-7 - 2.351980470674063e-7im, -2.3658443884293545e-7 + 1.1709459629013039e-7im, 1.975974721845822e-7 - 2.39032737048025e-7im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48640349280871126 + 0.47154785779704916im, -0.06261637416720736 + 0.01926444158723854im, 0.011603583893197189 + 0.05899410613620836im, 0.0008422348821852158 - 0.0032649443300591372im, -0.002055548595572612 + 0.005796890363010703im, 0.0010701924529609044 + 0.0011260191840096363im, 0.00036882722349063676 + 0.00044809043700387303im, 0.00037179876146770715 + 0.0003368406885234275im, 0.5268697194967655 + 0.49705385615436526im, -0.0634247776972001 + 0.006707492994786108im … 1.1761753021295538e-7 - 8.627390997338053e-8im, -2.2862229723001607e-7 + 3.2870018805226635e-7im, 8.991299425535862e-8 + 6.515181978731742e-8im, -1.7965317530326092e-6 - 2.0632710960491446e-8im, -4.910323993828123e-7 - 3.072707118649804e-6im, 5.334441227059543e-7 + 9.685974579523714e-7im, 7.216645465559715e-7 + 2.3535920226675633e-8im, 3.1427655189010586e-7 - 2.351980470674063e-7im, -2.3658443884293545e-7 + 1.1709459629013039e-7im, 1.975974721845822e-7 - 2.39032737048025e-7im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48640349280871126 + 0.47154785779704916im, -0.06261637416720736 + 0.01926444158723854im, 0.011603583893197189 + 0.05899410613620836im, 0.0008422348821852158 - 0.0032649443300591372im, -0.002055548595572612 + 0.005796890363010703im, 0.0010701924529609044 + 0.0011260191840096363im, 0.00036882722349063676 + 0.00044809043700387303im, 0.00037179876146770715 + 0.0003368406885234275im, 0.5268697194967655 + 0.49705385615436526im, -0.0634247776972001 + 0.006707492994786108im … 1.1761753021295538e-7 - 8.627390997338053e-8im, -2.2862229723001607e-7 + 3.2870018805226635e-7im, 8.991299425535862e-8 + 6.515181978731742e-8im, -1.7965317530326092e-6 - 2.0632710960491446e-8im, -4.910323993828123e-7 - 3.072707118649804e-6im, 5.334441227059543e-7 + 9.685974579523714e-7im, 7.216645465559715e-7 + 2.3535920226675633e-8im, 3.1427655189010586e-7 - 2.351980470674063e-7im, -2.3658443884293545e-7 + 1.1709459629013039e-7im, 1.975974721845822e-7 - 2.39032737048025e-7im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48640349280871126 + 0.47154785779704916im, -0.06261637416720736 + 0.01926444158723854im, 0.011603583893197189 + 0.05899410613620836im, 0.0008422348821852158 - 0.0032649443300591372im, -0.002055548595572612 + 0.005796890363010703im, 0.0010701924529609044 + 0.0011260191840096363im, 0.00036882722349063676 + 0.00044809043700387303im, 0.00037179876146770715 + 0.0003368406885234275im, 0.5268697194967655 + 0.49705385615436526im, -0.0634247776972001 + 0.006707492994786108im … 1.1761753021295538e-7 - 8.627390997338053e-8im, -2.2862229723001607e-7 + 3.2870018805226635e-7im, 8.991299425535862e-8 + 6.515181978731742e-8im, -1.7965317530326092e-6 - 2.0632710960491446e-8im, -4.910323993828123e-7 - 3.072707118649804e-6im, 5.334441227059543e-7 + 9.685974579523714e-7im, 7.216645465559715e-7 + 2.3535920226675633e-8im, 3.1427655189010586e-7 - 2.351980470674063e-7im, -2.3658443884293545e-7 + 1.1709459629013039e-7im, 1.975974721845822e-7 - 2.39032737048025e-7im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48640349280871126 + 0.47154785779704916im, -0.06261637416720736 + 0.01926444158723854im, 0.011603583893197189 + 0.05899410613620836im, 0.0008422348821852158 - 0.0032649443300591372im, -0.002055548595572612 + 0.005796890363010703im, 0.0010701924529609044 + 0.0011260191840096363im, 0.00036882722349063676 + 0.00044809043700387303im, 0.00037179876146770715 + 0.0003368406885234275im, 0.5268697194967655 + 0.49705385615436526im, -0.0634247776972001 + 0.006707492994786108im … 1.1761753021295538e-7 - 8.627390997338053e-8im, -2.2862229723001607e-7 + 3.2870018805226635e-7im, 8.991299425535862e-8 + 6.515181978731742e-8im, -1.7965317530326092e-6 - 2.0632710960491446e-8im, -4.910323993828123e-7 - 3.072707118649804e-6im, 5.334441227059543e-7 + 9.685974579523714e-7im, 7.216645465559715e-7 + 2.3535920226675633e-8im, 3.1427655189010586e-7 - 2.351980470674063e-7im, -2.3658443884293545e-7 + 1.1709459629013039e-7im, 1.975974721845822e-7 - 2.39032737048025e-7im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48640349280871126 + 0.47154785779704916im, -0.06261637416720736 + 0.01926444158723854im, 0.011603583893197189 + 0.05899410613620836im, 0.0008422348821852158 - 0.0032649443300591372im, -0.002055548595572612 + 0.005796890363010703im, 0.0010701924529609044 + 0.0011260191840096363im, 0.00036882722349063676 + 0.00044809043700387303im, 0.00037179876146770715 + 0.0003368406885234275im, 0.5268697194967655 + 0.49705385615436526im, -0.0634247776972001 + 0.006707492994786108im … 1.1761753021295538e-7 - 8.627390997338053e-8im, -2.2862229723001607e-7 + 3.2870018805226635e-7im, 8.991299425535862e-8 + 6.515181978731742e-8im, -1.7965317530326092e-6 - 2.0632710960491446e-8im, -4.910323993828123e-7 - 3.072707118649804e-6im, 5.334441227059543e-7 + 9.685974579523714e-7im, 7.216645465559715e-7 + 2.3535920226675633e-8im, 3.1427655189010586e-7 - 2.351980470674063e-7im, -2.3658443884293545e-7 + 1.1709459629013039e-7im, 1.975974721845822e-7 - 2.39032737048025e-7im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9918369758444534 + 0.0im, -0.051888539911577373 + 0.07456859324221245im, 0.06864343609244032 + 0.055206797263028254im, -0.0017139489493254684 - 0.003995746189721733im, 0.0034020696324859098 + 0.008086481334607135im, 0.002644871147675611 + 0.00036203221161140606im, 0.0007669259162759302 + 0.00020230111704120526im, 0.0007595979959901588 - 4.0609680811799574e-7im, 0.0 + 0.0im, 0.01037598617423062 + 0.0im … 4.440501499215161e-6 + 0.0im, -5.189283282395994e-7 - 1.4528955109563433e-6im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 5.853311822274058e-6 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9918369758444534 + 0.0im, -0.051888539911577373 + 0.07456859324221245im, 0.06864343609244032 + 0.055206797263028254im, -0.0017139489493254684 - 0.003995746189721733im, 0.0034020696324859098 + 0.008086481334607135im, 0.002644871147675611 + 0.00036203221161140606im, 0.0007669259162759302 + 0.00020230111704120526im, 0.0007595979959901588 - 4.0609680811799574e-7im, 0.0 + 0.0im, 0.01037598617423062 + 0.0im … 4.440501499215161e-6 + 0.0im, -5.189283282395994e-7 - 1.4528955109563433e-6im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 5.853311822274058e-6 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9918369758444534 + 0.0im, -0.051888539911577373 + 0.07456859324221245im, 0.06864343609244032 + 0.055206797263028254im, -0.0017139489493254684 - 0.003995746189721733im, 0.0034020696324859098 + 0.008086481334607135im, 0.002644871147675611 + 0.00036203221161140606im, 0.0007669259162759302 + 0.00020230111704120526im, 0.0007595979959901588 - 4.0609680811799574e-7im, 0.0 + 0.0im, 0.01037598617423062 + 0.0im … 4.440501499215161e-6 + 0.0im, -5.189283282395994e-7 - 1.4528955109563433e-6im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 5.853311822274058e-6 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9918369758444534 + 0.0im, -0.051888539911577373 + 0.07456859324221245im, 0.06864343609244032 + 0.055206797263028254im, -0.0017139489493254684 - 0.003995746189721733im, 0.0034020696324859098 + 0.008086481334607135im, 0.002644871147675611 + 0.00036203221161140606im, 0.0007669259162759302 + 0.00020230111704120526im, 0.0007595979959901588 - 4.0609680811799574e-7im, 0.0 + 0.0im, 0.01037598617423062 + 0.0im … 4.440501499215161e-6 + 0.0im, -5.189283282395994e-7 - 1.4528955109563433e-6im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 5.853311822274058e-6 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9918369758444534 + 0.0im, -0.051888539911577373 + 0.07456859324221245im, 0.06864343609244032 + 0.055206797263028254im, -0.0017139489493254684 - 0.003995746189721733im, 0.0034020696324859098 + 0.008086481334607135im, 0.002644871147675611 + 0.00036203221161140606im, 0.0007669259162759302 + 0.00020230111704120526im, 0.0007595979959901588 - 4.0609680811799574e-7im, 0.0 + 0.0im, 0.01037598617423062 + 0.0im … 4.440501499215161e-6 + 0.0im, -5.189283282395994e-7 - 1.4528955109563433e-6im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 5.853311822274058e-6 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9918369758444534 + 0.0im, -0.051888539911577373 + 0.07456859324221245im, 0.06864343609244032 + 0.055206797263028254im, -0.0017139489493254684 - 0.003995746189721733im, 0.0034020696324859098 + 0.008086481334607135im, 0.002644871147675611 + 0.00036203221161140606im, 0.0007669259162759302 + 0.00020230111704120526im, 0.0007595979959901588 - 4.0609680811799574e-7im, 0.0 + 0.0im, 0.01037598617423062 + 0.0im … 4.440501499215161e-6 + 0.0im, -5.189283282395994e-7 - 1.4528955109563433e-6im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 5.853311822274058e-6 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9918369758444534 + 0.0im, -0.051888539911577373 + 0.07456859324221245im, 0.06864343609244032 + 0.055206797263028254im, -0.0017139489493254684 - 0.003995746189721733im, 0.0034020696324859098 + 0.008086481334607135im, 0.002644871147675611 + 0.00036203221161140606im, 0.0007669259162759302 + 0.00020230111704120526im, 0.0007595979959901588 - 4.0609680811799574e-7im, 0.0 + 0.0im, 0.01037598617423062 + 0.0im … 4.440501499215161e-6 + 0.0im, -5.189283282395994e-7 - 1.4528955109563433e-6im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 5.853311822274058e-6 + 0.0im], ℂ^8 ← ℂ^8)]), InfiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48536397564757605 + 0.38316245299052715im, -0.04339206520686302 + 0.04218298868198245im, 0.025936345484160933 + 0.04897879026802765im, -0.0038721380167540884 + 0.0026820208441755574im, 0.0028787665005433013 + 0.0035280203589558965im, 0.0003183957161434727 + 0.0006447310867994393im, 0.0003142496334177633 + 0.0003824631668641228im, 2.7026526635399814e-5 + 0.00023671605576720573im, 0.5196808509798783 + 0.5714259437568321im, -0.08458924886257664 - 0.01613972991937502im … 0.020094184930551 - 0.014739332636453056im, -0.03905862256646264 + 0.05615627494872872im, 0.015361046358952857 + 0.011130761826046956im, -0.30692568712914436 - 0.003524963573950768im, -0.08388967037673424 - 0.5249518925263805im, 0.09113543561373211 + 0.165478533753574im, 0.12329166264639548 + 0.00402095786817859im, 0.0536920911498624 - 0.04018204637114822im, -0.04041890232853177 + 0.0200048450937709im, 0.0337582343439571 - 0.04083717804652322im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.49040669450197294 + 0.47542879453104864im, -0.16555828070416853 + 0.7097937601431423im, 0.01832670378912602 - 0.024335657938851587im, 0.008310042183172515 + 0.020719742901754632im, -0.0026683907683699333 - 0.017831648741227023im, -0.008908927771989584 - 0.015342482252042702im, -0.004037921829904217 + 0.0036917552986392562im, 0.0051375107906438105 + 0.010721744707587806im, 0.531205966633969 + 0.5011447125483215im, 0.14537225704887993 - 0.6650087157571514im … 0.10953648453810091 - 0.035339122149456614im, -0.03382835031489706 + 0.09368798998347096im, 9.065299685851784e-8 + 6.568803278569949e-8im, -0.00017221781208882954 - 2.311502819662678e-6im, -0.0030386632051984963 - 0.014035265689774729im, 0.0028032106266741436 + 0.008323443822772262im, 0.04635244521029055 - 0.0260121810346474im, -0.0037215616419404756 - 0.02416617274665579im, -0.0259284374122867 + 0.018629652736787135im, 0.034501155608530586 - 0.08327086843231825im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9918369758444534 + 0.0im, -0.051888539911577373 + 0.07456859324221245im, 0.06864343609244032 + 0.055206797263028254im, -0.0017139489493254684 - 0.003995746189721733im, 0.0034020696324859098 + 0.008086481334607135im, 0.002644871147675611 + 0.00036203221161140606im, 0.0007669259162759302 + 0.00020230111704120526im, 0.0007595979959901588 - 4.0609680811799574e-7im, 0.0 + 0.0im, 0.01037598617423062 + 0.0im … 4.440501499215161e-6 + 0.0im, -5.189283282395994e-7 - 1.4528955109563433e-6im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 5.853311822274058e-6 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48640349280871126 + 0.47154785779704916im, -0.06261637416720736 + 0.01926444158723854im, 0.011603583893197189 + 0.05899410613620836im, 0.0008422348821852158 - 0.0032649443300591372im, -0.002055548595572612 + 0.005796890363010703im, 0.0010701924529609044 + 0.0011260191840096363im, 0.00036882722349063676 + 0.00044809043700387303im, 0.00037179876146770715 + 0.0003368406885234275im, 0.5268697194967655 + 0.49705385615436526im, -0.0634247776972001 + 0.006707492994786108im … 1.1761753021295538e-7 - 8.627390997338053e-8im, -2.2862229723001607e-7 + 3.2870018805226635e-7im, 8.991299425535862e-8 + 6.515181978731742e-8im, -1.7965317530326092e-6 - 2.0632710960491446e-8im, -4.910323993828123e-7 - 3.072707118649804e-6im, 5.334441227059543e-7 + 9.685974579523714e-7im, 7.216645465559715e-7 + 2.3535920226675633e-8im, 3.1427655189010586e-7 - 2.351980470674063e-7im, -2.3658443884293545e-7 + 1.1709459629013039e-7im, 1.975974721845822e-7 - 2.39032737048025e-7im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)]))length(ψ_win) # 66From space specifications
Provide the window dimensions together with the infinite environments. The boundary virtual spaces are taken automatically from ψₗ/ψᵣ:
ψ_win2 = WindowMPS(rand, ComplexF64, 6, ℂ^2, ℂ^8, ψ_bulk)WindowMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}(InfiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48536397564757605 + 0.38316245299052715im, -0.04339206520686302 + 0.04218298868198245im, 0.025936345484160933 + 0.04897879026802765im, -0.0038721380167540884 + 0.0026820208441755574im, 0.0028787665005433013 + 0.0035280203589558965im, 0.0003183957161434727 + 0.0006447310867994393im, 0.0003142496334177633 + 0.0003824631668641228im, 2.7026526635399814e-5 + 0.00023671605576720573im, 0.5196808509798783 + 0.5714259437568321im, -0.08458924886257664 - 0.01613972991937502im … 0.020094184930551 - 0.014739332636453056im, -0.03905862256646264 + 0.05615627494872872im, 0.015361046358952857 + 0.011130761826046956im, -0.30692568712914436 - 0.003524963573950768im, -0.08388967037673424 - 0.5249518925263805im, 0.09113543561373211 + 0.165478533753574im, 0.12329166264639548 + 0.00402095786817859im, 0.0536920911498624 - 0.04018204637114822im, -0.04041890232853177 + 0.0200048450937709im, 0.0337582343439571 - 0.04083717804652322im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.49040669450197294 + 0.47542879453104864im, -0.16555828070416853 + 0.7097937601431423im, 0.01832670378912602 - 0.024335657938851587im, 0.008310042183172515 + 0.020719742901754632im, -0.0026683907683699333 - 0.017831648741227023im, -0.008908927771989584 - 0.015342482252042702im, -0.004037921829904217 + 0.0036917552986392562im, 0.0051375107906438105 + 0.010721744707587806im, 0.531205966633969 + 0.5011447125483215im, 0.14537225704887993 - 0.6650087157571514im … 0.10953648453810091 - 0.035339122149456614im, -0.03382835031489706 + 0.09368798998347096im, 9.065299685851784e-8 + 6.568803278569949e-8im, -0.00017221781208882954 - 2.311502819662678e-6im, -0.0030386632051984963 - 0.014035265689774729im, 0.0028032106266741436 + 0.008323443822772262im, 0.04635244521029055 - 0.0260121810346474im, -0.0037215616419404756 - 0.02416617274665579im, -0.0259284374122867 + 0.018629652736787135im, 0.034501155608530586 - 0.08327086843231825im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9918369758444534 + 0.0im, -0.051888539911577373 + 0.07456859324221245im, 0.06864343609244032 + 0.055206797263028254im, -0.0017139489493254684 - 0.003995746189721733im, 0.0034020696324859098 + 0.008086481334607135im, 0.002644871147675611 + 0.00036203221161140606im, 0.0007669259162759302 + 0.00020230111704120526im, 0.0007595979959901588 - 4.0609680811799574e-7im, 0.0 + 0.0im, 0.01037598617423062 + 0.0im … 4.440501499215161e-6 + 0.0im, -5.189283282395994e-7 - 1.4528955109563433e-6im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 5.853311822274058e-6 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48640349280871126 + 0.47154785779704916im, -0.06261637416720736 + 0.01926444158723854im, 0.011603583893197189 + 0.05899410613620836im, 0.0008422348821852158 - 0.0032649443300591372im, -0.002055548595572612 + 0.005796890363010703im, 0.0010701924529609044 + 0.0011260191840096363im, 0.00036882722349063676 + 0.00044809043700387303im, 0.00037179876146770715 + 0.0003368406885234275im, 0.5268697194967655 + 0.49705385615436526im, -0.0634247776972001 + 0.006707492994786108im … 1.1761753021295538e-7 - 8.627390997338053e-8im, -2.2862229723001607e-7 + 3.2870018805226635e-7im, 8.991299425535862e-8 + 6.515181978731742e-8im, -1.7965317530326092e-6 - 2.0632710960491446e-8im, -4.910323993828123e-7 - 3.072707118649804e-6im, 5.334441227059543e-7 + 9.685974579523714e-7im, 7.216645465559715e-7 + 2.3535920226675633e-8im, 3.1427655189010586e-7 - 2.351980470674063e-7im, -2.3658443884293545e-7 + 1.1709459629013039e-7im, 1.975974721845822e-7 - 2.39032737048025e-7im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)]), 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.23432847810806434 + 0.1997224187245543im, 0.2755122919594599 + 0.2764733355807531im, 0.18964791670581013 + 0.17796219845004393im, 0.19519813839752007 + 0.09883355222585832im, 0.252130117350116 + 0.0924294064608357im, 0.13398354556247524 + 0.13567780389478554im, 0.2035610357500581 + 0.09752955285626402im, 0.18038290883574515 + 0.18659828626699168im, 0.1475419172359203 + 0.08980977042774549im, 0.27666993967124925 + 0.22407900767727512im … -0.16274453036752523 + 0.2001744455508911im, 0.012033655931868226 - 0.12804758562160998im, -0.25964942227086507 + 0.11968630836064084im, 0.2469910880610119 - 0.2328552131537701im, 0.08637152498489234 - 0.01765398172455318im, 0.1623862868202402 + 0.39576816076305854im, -0.06467331259781701 + 0.014823443128426967im, 0.12426421387029159 - 0.14040934866107035im, -0.45517521081069606 + 0.13091663169961315im, 0.1158463465407114 + 0.08045753762990882im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.3340448748574132 + 0.488901125413394im, 0.10845466668965842 + 0.15304851198781277im, 0.08891066632951242 + 0.11327233930747518im, -0.005729517771170646 + 0.04019147559587521im, 0.11563137332235375 + 0.054435991083783115im, 0.05736844512090839 + 0.028665071153045736im, 0.007854709280398647 + 0.04661403480440191im, 0.016402784756666296 + 0.04859779036799481im, 0.45750508022668546 + 0.52190397567539im, 0.1277786685472581 + 0.15175013332293166im … 0.24190215161688264 + 0.13358773062421941im, 0.15799279806115352 - 0.12950862280738423im, -0.09811214850782321 + 0.16681815457555926im, -0.055716953513508444 - 0.10211520741010048im, 0.02347328202781827 - 0.13301427078939831im, 0.13027772249753114 - 0.1756188590536784im, -0.04952266772207653 - 0.16705550689167376im, 0.19164056642047655 - 0.01122262096780792im, -0.14059103867348285 + 0.17397538535318655im, 0.1974987383012407 - 0.333968626848655im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.4722892477847602 + 0.4234048968630054im, 0.05723273858505876 + 0.06923518919675015im, 0.02092452680309849 + 0.0570123346221352im, 0.029576582522846357 + 5.534350643744256e-5im, 0.021454978606523643 + 0.02049495949375032im, 0.00871316516098317 + 0.0069436446617027im, 0.008904993420289862 + 0.010080950276224084im, 0.007991119173859253 + 0.004000197022577729im, 0.6453774198357803 + 0.3791043155614101im, 0.09720713733120633 + 0.07616114834535125im … -0.12251213221512446 - 0.05156918773496479im, -0.18732053975646124 + 0.1647448851985362im, -0.0196171971982895 + 0.00564737750476646im, -0.0068935242453165985 - 0.2863232368865174im, 0.05237308343817422 + 0.26676898824615236im, -0.10639771196051778 - 0.0902595544224285im, 0.4133680246388136 + 0.16141088494796862im, 0.2139001598714138 + 0.09151728175149534im, 0.04525112258617369 - 0.09473901596352127im, -0.016058406487757082 + 0.20344692029184294im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.45746614101686456 + 0.5055824232753184im, 0.09814584272002656 - 0.007253758677725881im, 0.015622571580770094 - 0.0013880325342496783im, -0.0003421545928584697 + 0.014332944991832481im, 0.0060086778339648135 + 0.005098791338768702im, 0.0043970852837924655 + 0.000490304780333919im, 0.0009480155845259204 + 0.00011400361299014654im, 0.0008887603273123935 + 0.0004682920790353662im, 0.5746914199569328 + 0.4231738678566305im, 0.1227699491498224 + 0.004381378564270729im … -0.1205760011082215 + 0.14332844349151017im, 0.07829637561464486 - 0.42009114255202895im, -0.006399336447919374 - 0.00874456296479377im, 0.08851165775749231 - 0.0380105872252941im, -0.26142788131457484 + 0.26476365944421637im, 0.3391102138102025 + 0.06233159624524068im, -0.11834368206681248 + 0.1508305241158025im, -0.16470533672848495 + 0.25098336762457907im, 0.06632976035125472 + 0.09870953667923886im, -0.14490638325308147 - 0.0654295490715747im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5458333449608777 + 0.43371023178862494im, 0.09844472775606396 + 0.11319199856547232im, 0.0037125286445615696 + 0.006350773140829595im, 0.002414350390265736 - 0.004935746782268287im, 0.006128414264456934 + 0.0019706174945325486im, 0.0012580341250206064 + 0.0003929328840918414im, 0.0015500455921129493 - 0.0007946437055013169im, 0.0005037091886858437 + 0.0004226661663669182im, 0.4692258383854904 + 0.49318596540676596im, 0.10484387850452032 + 0.1295724435115502im … 0.033464036000423095 - 0.07538600882835589im, -0.04775385374536745 + 0.05250462084731378im, -0.0008660105753789393 - 0.005242895702596284im, 0.06148091676773601 + 0.03620127007581969im, -0.12152082538889719 + 0.37313634598054923im, -0.21548361834064406 + 0.5173464295468374im, -0.2775463506239294 + 0.04712400611318274im, 0.06695005582194043 + 0.12488076370711612im, 0.05948734704864917 + 0.01360280907445334im, 0.08082522769604898 + 0.03714296705725848im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.36825619161387313 + 0.530359662338099im, 0.056635121423042556 + 0.08523945982846119im, -0.0034211337767931435 + 0.0010031702436471902im, -0.0018933508103385613 + 0.006852134233874157im, 0.0009856927853995191 + 0.001874487626952746im, 0.0012957671718426054 - 0.0002506607167078836im, 0.0006739343333036954 + 0.000615367939812813im, 0.00022130267337516839 + 9.172902398409255e-5im, 0.4561409369118918 + 0.5936397969466741im, 0.07646148486070617 + 0.0787513535991914im … 0.02229754253825864 + 0.09896271207655027im, 0.0029077316746810578 + 0.0031816147037856905im, 0.0099889746196416 + 0.0005134135403902229im, -0.06982596143185643 + 0.014678092718508673im, 0.00312322800062613 + 0.20998199425857147im, -0.16279565118960784 - 0.33371682507491246im, 0.07532719041745892 - 0.1720211872502941im, 0.0413100431968688 + 0.11507242542796285im, -0.006142005518034388 - 0.0278299679272323im, 0.042655528928098985 + 0.05928763216515985im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}}[missing, missing, missing, missing, missing, missing], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}}[missing, missing, missing, missing, missing, missing], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}[missing, missing, missing, missing, missing, missing, TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.41822073741584326 + 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 - 0.0im, 0.2880786978737748 - 0.019254884533818434im, 0.11211403748225852 + 0.0im … 0.0023073832849480323 + 0.0im, 0.0 - 0.0im, 0.27359908174274167 - 0.009813398178303474im, 0.046338885979144574 - 0.016240936266845193im, 1.9160143230586358e-6 - 0.0028717781149683085im, -0.0013310888164185218 - 0.0003001477833660342im, -0.0011742529697909409 + 0.0013078605584365408im, -0.0008826473500713918 + 0.0003968800709487366im, 0.0006155266261761584 + 0.00013888064531490335im, 0.0009476872164683508 + 0.0im], ℂ^8 ← ℂ^8)]), InfiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48536397564757605 + 0.38316245299052715im, -0.04339206520686302 + 0.04218298868198245im, 0.025936345484160933 + 0.04897879026802765im, -0.0038721380167540884 + 0.0026820208441755574im, 0.0028787665005433013 + 0.0035280203589558965im, 0.0003183957161434727 + 0.0006447310867994393im, 0.0003142496334177633 + 0.0003824631668641228im, 2.7026526635399814e-5 + 0.00023671605576720573im, 0.5196808509798783 + 0.5714259437568321im, -0.08458924886257664 - 0.01613972991937502im … 0.020094184930551 - 0.014739332636453056im, -0.03905862256646264 + 0.05615627494872872im, 0.015361046358952857 + 0.011130761826046956im, -0.30692568712914436 - 0.003524963573950768im, -0.08388967037673424 - 0.5249518925263805im, 0.09113543561373211 + 0.165478533753574im, 0.12329166264639548 + 0.00402095786817859im, 0.0536920911498624 - 0.04018204637114822im, -0.04041890232853177 + 0.0200048450937709im, 0.0337582343439571 - 0.04083717804652322im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.49040669450197294 + 0.47542879453104864im, -0.16555828070416853 + 0.7097937601431423im, 0.01832670378912602 - 0.024335657938851587im, 0.008310042183172515 + 0.020719742901754632im, -0.0026683907683699333 - 0.017831648741227023im, -0.008908927771989584 - 0.015342482252042702im, -0.004037921829904217 + 0.0036917552986392562im, 0.0051375107906438105 + 0.010721744707587806im, 0.531205966633969 + 0.5011447125483215im, 0.14537225704887993 - 0.6650087157571514im … 0.10953648453810091 - 0.035339122149456614im, -0.03382835031489706 + 0.09368798998347096im, 9.065299685851784e-8 + 6.568803278569949e-8im, -0.00017221781208882954 - 2.311502819662678e-6im, -0.0030386632051984963 - 0.014035265689774729im, 0.0028032106266741436 + 0.008323443822772262im, 0.04635244521029055 - 0.0260121810346474im, -0.0037215616419404756 - 0.02416617274665579im, -0.0259284374122867 + 0.018629652736787135im, 0.034501155608530586 - 0.08327086843231825im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9918369758444534 + 0.0im, -0.051888539911577373 + 0.07456859324221245im, 0.06864343609244032 + 0.055206797263028254im, -0.0017139489493254684 - 0.003995746189721733im, 0.0034020696324859098 + 0.008086481334607135im, 0.002644871147675611 + 0.00036203221161140606im, 0.0007669259162759302 + 0.00020230111704120526im, 0.0007595979959901588 - 4.0609680811799574e-7im, 0.0 + 0.0im, 0.01037598617423062 + 0.0im … 4.440501499215161e-6 + 0.0im, -5.189283282395994e-7 - 1.4528955109563433e-6im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 5.853311822274058e-6 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48640349280871126 + 0.47154785779704916im, -0.06261637416720736 + 0.01926444158723854im, 0.011603583893197189 + 0.05899410613620836im, 0.0008422348821852158 - 0.0032649443300591372im, -0.002055548595572612 + 0.005796890363010703im, 0.0010701924529609044 + 0.0011260191840096363im, 0.00036882722349063676 + 0.00044809043700387303im, 0.00037179876146770715 + 0.0003368406885234275im, 0.5268697194967655 + 0.49705385615436526im, -0.0634247776972001 + 0.006707492994786108im … 1.1761753021295538e-7 - 8.627390997338053e-8im, -2.2862229723001607e-7 + 3.2870018805226635e-7im, 8.991299425535862e-8 + 6.515181978731742e-8im, -1.7965317530326092e-6 - 2.0632710960491446e-8im, -4.910323993828123e-7 - 3.072707118649804e-6im, 5.334441227059543e-7 + 9.685974579523714e-7im, 7.216645465559715e-7 + 2.3535920226675633e-8im, 3.1427655189010586e-7 - 2.351980470674063e-7im, -2.3658443884293545e-7 + 1.1709459629013039e-7im, 1.975974721845822e-7 - 2.39032737048025e-7im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)]))From a FiniteMPS and two environments
Build a FiniteMPS with matching boundary virtual spaces first, then wrap:
finite_part = FiniteMPS(6, ℂ^2, ℂ^8; left = ℂ^8, right = ℂ^8)
ψ_win3 = WindowMPS(ψ_bulk, finite_part, ψ_bulk)WindowMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}(InfiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48536397564757605 + 0.38316245299052715im, -0.04339206520686302 + 0.04218298868198245im, 0.025936345484160933 + 0.04897879026802765im, -0.0038721380167540884 + 0.0026820208441755574im, 0.0028787665005433013 + 0.0035280203589558965im, 0.0003183957161434727 + 0.0006447310867994393im, 0.0003142496334177633 + 0.0003824631668641228im, 2.7026526635399814e-5 + 0.00023671605576720573im, 0.5196808509798783 + 0.5714259437568321im, -0.08458924886257664 - 0.01613972991937502im … 0.020094184930551 - 0.014739332636453056im, -0.03905862256646264 + 0.05615627494872872im, 0.015361046358952857 + 0.011130761826046956im, -0.30692568712914436 - 0.003524963573950768im, -0.08388967037673424 - 0.5249518925263805im, 0.09113543561373211 + 0.165478533753574im, 0.12329166264639548 + 0.00402095786817859im, 0.0536920911498624 - 0.04018204637114822im, -0.04041890232853177 + 0.0200048450937709im, 0.0337582343439571 - 0.04083717804652322im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.49040669450197294 + 0.47542879453104864im, -0.16555828070416853 + 0.7097937601431423im, 0.01832670378912602 - 0.024335657938851587im, 0.008310042183172515 + 0.020719742901754632im, -0.0026683907683699333 - 0.017831648741227023im, -0.008908927771989584 - 0.015342482252042702im, -0.004037921829904217 + 0.0036917552986392562im, 0.0051375107906438105 + 0.010721744707587806im, 0.531205966633969 + 0.5011447125483215im, 0.14537225704887993 - 0.6650087157571514im … 0.10953648453810091 - 0.035339122149456614im, -0.03382835031489706 + 0.09368798998347096im, 9.065299685851784e-8 + 6.568803278569949e-8im, -0.00017221781208882954 - 2.311502819662678e-6im, -0.0030386632051984963 - 0.014035265689774729im, 0.0028032106266741436 + 0.008323443822772262im, 0.04635244521029055 - 0.0260121810346474im, -0.0037215616419404756 - 0.02416617274665579im, -0.0259284374122867 + 0.018629652736787135im, 0.034501155608530586 - 0.08327086843231825im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9918369758444534 + 0.0im, -0.051888539911577373 + 0.07456859324221245im, 0.06864343609244032 + 0.055206797263028254im, -0.0017139489493254684 - 0.003995746189721733im, 0.0034020696324859098 + 0.008086481334607135im, 0.002644871147675611 + 0.00036203221161140606im, 0.0007669259162759302 + 0.00020230111704120526im, 0.0007595979959901588 - 4.0609680811799574e-7im, 0.0 + 0.0im, 0.01037598617423062 + 0.0im … 4.440501499215161e-6 + 0.0im, -5.189283282395994e-7 - 1.4528955109563433e-6im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 5.853311822274058e-6 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48640349280871126 + 0.47154785779704916im, -0.06261637416720736 + 0.01926444158723854im, 0.011603583893197189 + 0.05899410613620836im, 0.0008422348821852158 - 0.0032649443300591372im, -0.002055548595572612 + 0.005796890363010703im, 0.0010701924529609044 + 0.0011260191840096363im, 0.00036882722349063676 + 0.00044809043700387303im, 0.00037179876146770715 + 0.0003368406885234275im, 0.5268697194967655 + 0.49705385615436526im, -0.0634247776972001 + 0.006707492994786108im … 1.1761753021295538e-7 - 8.627390997338053e-8im, -2.2862229723001607e-7 + 3.2870018805226635e-7im, 8.991299425535862e-8 + 6.515181978731742e-8im, -1.7965317530326092e-6 - 2.0632710960491446e-8im, -4.910323993828123e-7 - 3.072707118649804e-6im, 5.334441227059543e-7 + 9.685974579523714e-7im, 7.216645465559715e-7 + 2.3535920226675633e-8im, 3.1427655189010586e-7 - 2.351980470674063e-7im, -2.3658443884293545e-7 + 1.1709459629013039e-7im, 1.975974721845822e-7 - 2.39032737048025e-7im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)]), 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.07748514497875214 + 0.27786646026127526im, 0.030773259419711853 + 0.263418291738162im, 0.24186937959258617 + 0.05529305629805892im, 0.1775982934266276 + 0.26162544813103406im, 0.22815495040169842 + 0.07767403911706022im, 0.12694072268892537 + 0.10478968735653808im, 0.12338150360170819 + 0.03904556595478969im, 0.2834906740105363 + 0.2156899777709368im, 0.23288231828944325 + 0.20258627529076964im, 0.11450156056391257 + 0.0827680251246636im … 0.3079319239592976 - 0.26393947478427937im, 0.0028593299740589107 - 0.19774604450520994im, -0.17859767961750722 - 0.1952629088739394im, -0.14882547292717335 + 0.21613438367437446im, -0.048387391666454026 + 0.1371732723296244im, 0.07488006313835746 + 0.0853251745785985im, 0.2376315293033535 + 0.08656823099159489im, -0.07038328983382998 - 0.33995517377326545im, 0.2958835031520549 - 0.07067198085398113im, 0.05990622112008513 - 0.09141110652679849im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.3584172518626658 + 0.47589708880295034im, 0.10926195327001198 + 0.19297668676689964im, 0.01741047531089824 + 0.1325041694385328im, 0.049792744316265056 + 0.07993104502836668im, 0.033863171257663416 + 0.05995369198256725im, 0.015357475360361117 + 0.04394122130832563im, 0.004713188605854284 - 0.0003001197201202967im, 0.030748661032930585 + 0.051399471312410884im, 0.4512853890855382 + 0.4916082476051896im, 0.1756026563591797 + 0.23495234318980845im … 0.16677885121263322 - 0.015530672839143497im, -0.3011023726992339 + 0.04942348981939169im, 0.169802093031069 + 0.05082543610878726im, -0.2899870995184852 - 0.030181797556088262im, 0.09819162778428707 + 0.05980053840831485im, -0.3317340919061827 + 0.14105778157480278im, -0.23021329252601364 - 0.07928990609196612im, -0.31606463640486987 + 0.09454243473217958im, -0.16646070508531025 - 0.0731321299406848im, 0.33799982007084567 - 0.020240021927952972im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.4162583324647242 + 0.6067348731525791im, 0.041165233118168026 + 0.012349150889679087im, 0.028611915248182317 + 0.030610988359621262im, 0.01626199385619705 + 0.021200392725383217im, 0.004093774332170059 - 0.000288175597095813im, 0.000193783960718038 + 0.010002708292175875im, 0.003415607234609969 + 0.013279659018217163im, 0.003692458738039159 + 0.0007684519755043147im, 0.5103174328680362 + 0.435809790376421im, 0.04379717007506659 + 0.01746820313202012im … 0.30006509583537727 - 0.3516398419788696im, -0.11310391600458636 - 0.1695551268308551im, 0.022399443045574563 - 0.00036980732771457747im, -0.1666479894716551 - 0.027875059544828183im, -0.11256670933994882 - 0.235383486918478im, -0.06524598853371141 + 0.37737166864983457im, -0.2834331632043815 - 0.04181873125184005im, 0.07986302667130452 + 0.131269078291014im, 0.003125507496666395 + 0.01174961917427094im, 0.16115475318730577 - 0.12725409439623322im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.4718421527983365 + 0.3756042030352587im, 0.05026497465019245 + 0.07524023936458941im, 0.005481650133269432 + 0.01052555500367017im, 0.003856458627386113 + 0.0048360926515749825im, 0.004104381491660842 - 0.0015326722064404844im, 0.0019232792413999384 + 0.005417000439960452im, 0.001983290140305979 + 0.0013038638399240294im, 0.0012277816588302343 + 0.0013234201948402816im, 0.649794681182794 + 0.438412773524891im, 0.06392767123631139 + 0.09512974288063931im … -0.20027258879487078 + 0.2931133408350888im, 0.03872110318433264 + 0.05776441647317175im, -0.004380876618562846 + 0.0008807297537570813im, 0.07554886725873951 + 0.07517515735725605im, -0.012553040267484286 - 0.27788514057739294im, -0.0051185730449332945 + 0.07560302723343158im, -0.15063407228900233 + 0.223066951966038im, 0.13302164531877309 + 0.010806348951968824im, -0.06195315758726892 - 0.12570945519960408im, -0.05250872184820844 + 0.06947920031179702im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5061681875995925 + 0.45858887196466697im, 0.07451352934017713 - 0.0066387113322607764im, 0.0036291615955567507 + 0.008176088253244661im, -0.0008552747855016412 - 0.0018183360572324612im, -0.0002781169943957393 + 0.00019602557985258135im, -0.00014380429991953168 + 0.00018646142370399947im, 0.000888341884093317 + 0.0011945190000459747im, 4.3220195252828835e-6 + 0.0005432796195065423im, 0.6298012597550806 + 0.35502819897980503im, 0.07000806941190939 - 0.010837045234606274im … 0.036987133763908595 - 0.054307764570378225im, -0.05489422081505957 - 0.04897188621197729im, 0.00203052078467935 + 0.005173510515981736im, -0.011929652880122765 - 0.035048919548078705im, -0.2737655486745865 - 0.11796953272780897im, -0.019430884063890392 - 0.16523701997673146im, 0.11316040525522558 - 0.45143437416035714im, -0.04496093862090028 + 0.028180951997154886im, 0.3165201861562897 + 0.14804307408888268im, -0.12095132436286359 + 0.17446881684855964im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.3497444144436026 + 0.5478419556100588im, 0.06119986364664913 + 0.07237937057102482im, 0.007902956301852247 + 0.008894682355123768im, -0.0007925418968515283 + 0.011879509751296872im, -0.000499592695883125 + 0.0010363122705157324im, 0.0007684493733480934 + 0.0004688344829195313im, -2.8624086700841136e-5 + 3.571566839041415e-5im, 0.00018059078203677134 + 2.213493410979568e-5im, 0.48155354374532666 + 0.5720328465667658im, 0.08702290312506959 + 0.036200887560424846im … 0.24984401336937906 + 0.021211305052491445im, -0.07737017146938974 - 0.016450964540210132im, 0.0040683368060290825 + 0.013228350680521944im, -0.017098452018891347 + 0.03518123032580951im, -0.06680286285700263 - 0.24021054192580377im, 0.4723660833993709 - 0.3653811402706142im, -0.1169649535539882 + 0.0017864761195214643im, -0.09390740707771712 - 0.1528958848268247im, 0.06540105245469986 - 0.19354259802141566im, -0.0008197387988872614 + 0.03312121926937648im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}}[missing, missing, missing, missing, missing, missing], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}}[missing, missing, missing, missing, missing, missing], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}[missing, missing, missing, missing, missing, missing, TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.39081594705211564 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 + 0.0im, 0.3261554430113015 - 0.005838232826593066im, 0.07576008098027505 + 0.0im … 0.002118489485223062 + 0.0im, 0.0 + 0.0im, 0.3741796031530709 - 0.009089209986327817im, 0.01856038360618098 - 0.010265308323029413im, -0.0015559674615463288 + 0.0013073293681370157im, 0.002418846501936793 + 0.0011350556853703413im, -0.001222907711480963 - 0.0010387517693859363im, -7.354769352465621e-5 + 0.0002987574434256175im, 0.00032374620791505776 - 0.00011678954927926259im, 0.0006515307318329512 + 0.0im], ℂ^8 ← ℂ^8)]), InfiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48536397564757605 + 0.38316245299052715im, -0.04339206520686302 + 0.04218298868198245im, 0.025936345484160933 + 0.04897879026802765im, -0.0038721380167540884 + 0.0026820208441755574im, 0.0028787665005433013 + 0.0035280203589558965im, 0.0003183957161434727 + 0.0006447310867994393im, 0.0003142496334177633 + 0.0003824631668641228im, 2.7026526635399814e-5 + 0.00023671605576720573im, 0.5196808509798783 + 0.5714259437568321im, -0.08458924886257664 - 0.01613972991937502im … 0.020094184930551 - 0.014739332636453056im, -0.03905862256646264 + 0.05615627494872872im, 0.015361046358952857 + 0.011130761826046956im, -0.30692568712914436 - 0.003524963573950768im, -0.08388967037673424 - 0.5249518925263805im, 0.09113543561373211 + 0.165478533753574im, 0.12329166264639548 + 0.00402095786817859im, 0.0536920911498624 - 0.04018204637114822im, -0.04041890232853177 + 0.0200048450937709im, 0.0337582343439571 - 0.04083717804652322im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.49040669450197294 + 0.47542879453104864im, -0.16555828070416853 + 0.7097937601431423im, 0.01832670378912602 - 0.024335657938851587im, 0.008310042183172515 + 0.020719742901754632im, -0.0026683907683699333 - 0.017831648741227023im, -0.008908927771989584 - 0.015342482252042702im, -0.004037921829904217 + 0.0036917552986392562im, 0.0051375107906438105 + 0.010721744707587806im, 0.531205966633969 + 0.5011447125483215im, 0.14537225704887993 - 0.6650087157571514im … 0.10953648453810091 - 0.035339122149456614im, -0.03382835031489706 + 0.09368798998347096im, 9.065299685851784e-8 + 6.568803278569949e-8im, -0.00017221781208882954 - 2.311502819662678e-6im, -0.0030386632051984963 - 0.014035265689774729im, 0.0028032106266741436 + 0.008323443822772262im, 0.04635244521029055 - 0.0260121810346474im, -0.0037215616419404756 - 0.02416617274665579im, -0.0259284374122867 + 0.018629652736787135im, 0.034501155608530586 - 0.08327086843231825im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9918369758444534 + 0.0im, -0.051888539911577373 + 0.07456859324221245im, 0.06864343609244032 + 0.055206797263028254im, -0.0017139489493254684 - 0.003995746189721733im, 0.0034020696324859098 + 0.008086481334607135im, 0.002644871147675611 + 0.00036203221161140606im, 0.0007669259162759302 + 0.00020230111704120526im, 0.0007595979959901588 - 4.0609680811799574e-7im, 0.0 + 0.0im, 0.01037598617423062 + 0.0im … 4.440501499215161e-6 + 0.0im, -5.189283282395994e-7 - 1.4528955109563433e-6im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 5.853311822274058e-6 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48640349280871126 + 0.47154785779704916im, -0.06261637416720736 + 0.01926444158723854im, 0.011603583893197189 + 0.05899410613620836im, 0.0008422348821852158 - 0.0032649443300591372im, -0.002055548595572612 + 0.005796890363010703im, 0.0010701924529609044 + 0.0011260191840096363im, 0.00036882722349063676 + 0.00044809043700387303im, 0.00037179876146770715 + 0.0003368406885234275im, 0.5268697194967655 + 0.49705385615436526im, -0.0634247776972001 + 0.006707492994786108im … 1.1761753021295538e-7 - 8.627390997338053e-8im, -2.2862229723001607e-7 + 3.2870018805226635e-7im, 8.991299425535862e-8 + 6.515181978731742e-8im, -1.7965317530326092e-6 - 2.0632710960491446e-8im, -4.910323993828123e-7 - 3.072707118649804e-6im, 5.334441227059543e-7 + 9.685974579523714e-7im, 7.216645465559715e-7 + 2.3535920226675633e-8im, 3.1427655189010586e-7 - 2.351980470674063e-7im, -2.3658443884293545e-7 + 1.1709459629013039e-7im, 1.975974721845822e-7 - 2.39032737048025e-7im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)]))Warning
When ψᵣ is omitted in the outer constructors, the right environment is the same object as the left environment (no copy is made). If you later evolve the two environments independently, pass copy(ψ_bulk) explicitly as the right argument to avoid aliasing:
ψ_win_safe = WindowMPS(rand, ComplexF64, 6, ℂ^2, ℂ^8, ψ_bulk, copy(ψ_bulk))4. A multiline MPS
MultilineMPS stacks several InfiniteMPS rows and is used in boundary-MPS methods for 2D classical partition functions.
From a vector of InfiniteMPS rows
row1 = InfiniteMPS(ℂ^2, ℂ^8)
row2 = InfiniteMPS(ℂ^2, ℂ^8)
ψ_ml = MultilineMPS([row1, row2])MultilineMPS{InfiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}}(InfiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}[InfiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5290424948878705 + 0.31790096431236814im, 0.061049163081733956 + 0.025169111637857268im, 0.004031464407615044 + 0.010176749077352035im, -0.0007448665140567203 + 0.005216259140694746im, 0.00191074514027454 + 0.0006844432637275882im, -0.00029165892481655724 - 0.0002389081253487916im, 0.0006343562657582178 + 0.001027639744679543im, 8.178189627140363e-5 + 0.00021675884688633499im, 0.48933314469389777 + 0.608304396761925im, 0.040716226253553964 + 0.05748255759773819im … 0.02938953951360753 - 0.02197941811348281im, -0.07582670191680085 - 0.07565236430617482im, 0.007062178306857736 + 0.01174684375512769im, -0.04619635419910073 - 0.10121119510825319im, 0.04050439252115515 - 0.09471119904759999im, 0.3357475473538665 - 0.4337808228121183im, -0.105182115107202 - 0.03604512985700503im, -0.001353508680021629 + 0.10515182163475857im, 0.044881965197055514 - 0.11186077370867722im, -0.029083357281497142 - 0.004888528576660965im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5187781960943807 + 0.39622624723375693im, -0.10477645314926874 - 0.7244618151736841im, 0.08504786564603284 + 0.16876907543225475im, 0.042819476776040956 + 0.008474507056659898im, 0.004858222066133174 - 0.011976595644503667im, 0.00957875586121797 - 0.012249271665942484im, 0.0005553560978827663 + 0.0018493665440049135im, -0.002956333795422734 + 0.0018759316874569659im, 0.5165594077635673 + 0.5540369811150528im, -0.014192135172062277 + 0.6288673011034099im … -0.07877832751417543 + 0.1324500802386529im, 0.024166802364037787 + 0.05153705569022084im, 9.086110622692673e-9 + 1.5113342822700114e-8im, -6.557884679418245e-6 - 1.4226143524478278e-5im, 6.528158349794204e-5 - 0.0002818234819173001im, 0.006048020180320946 - 0.007913767281962667im, 0.002752504669285354 + 0.030783533923520994im, 0.011965050936632686 + 0.0163999560226181im, 0.0018238225218817888 - 0.1192676276484352im, -0.042370824932687415 + 0.04324168209884952im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9947643561478453 + 0.0im, 0.09867028731462561 - 0.019627535869728298im, 0.00978527744235046 + 0.009181830198335737im, 0.005183419223164551 + 0.0044234843243647366im, 0.0020672746730173537 + 0.00014805347504458544im, 9.012783906386776e-5 + 0.00016181018709760016im, 0.00151509182531314 + 0.0002993245966493218im, 0.000582643284144767 + 0.00019957535031160547im, 0.0 + 0.0im, 0.00919772756227428 + 0.0im … 5.855313953367175e-7 + 0.0im, -2.468769734739121e-7 + 1.2042041122553925e-7im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 1.279851426982784e-6 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5160620582213672 + 0.3941517477183651im, 0.05800123327029581 + 0.022250017598637036im, 0.002180684508733371 + 0.009678508032016557im, 0.0008983086439256285 + 0.005267394764058495im, 0.0013173946486154712 + 0.0008398447300839644im, -4.490877503445625e-5 + 1.1107944617174807e-5im, 0.0007477946132436039 + 0.0008639553031807756im, 0.00022375889145519897 + 0.0004158530505447758im, 0.5138548866760375 + 0.5511362408010118im, 0.06171291050625612 + 0.05031234991319695im … 3.7614244084857514e-8 - 2.8130389636792226e-8im, -9.704691265161577e-8 - 9.682378641187927e-8im, 9.038538983638734e-9 + 1.5034214742543978e-8im, -5.912446984312119e-8 - 1.295352924859308e-7im, 5.183960456727122e-8 - 1.2121626325232134e-7im, 4.297069775868159e-7 - 5.551750050738558e-7im, -1.346174801130199e-7 - 4.613241088326764e-8im, -1.7322900155592663e-9 + 1.3457870896908492e-7im, 5.744224720324314e-8 - 1.4316517085444883e-7im, -3.7222376318174256e-8 - 6.256590274685654e-9im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)]), InfiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5190571048436661 + 0.5470103649281615im, 0.028896986036066715 - 0.0008176312836908478im, 0.015329095767576672 + 0.01329775435383571im, 0.006213217384542216 + 0.005902460792275432im, 0.0007073150774939793 + 8.42948821510846e-5im, 0.00031641682876547544 + 0.000797905239238766im, -0.000194379918210383 + 8.759881777153919e-5im, 0.0001642698939904174 + 0.00017591517057815329im, 0.5008333629861117 + 0.42237929255596185im, 0.014900563429232775 - 0.014256032836224824im … 0.06360638579479061 - 0.13924886801496716im, -0.027059440773763654 - 0.012980955779320652im, -0.007589315952013231 + 0.004869116344109303im, 0.26178632411738884 - 0.2252222194139637im, -0.18594031260969202 - 0.027937722272290598im, 0.22219439590515974 - 0.19749260890805742im, -0.09617572009845468 - 0.16101690049568929im, 0.0915606480748393 - 0.25601463930183127im, 0.028777636089495823 + 0.03368859422774149im, -0.06893620089547894 - 0.0979018152690839im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5154948233964731 + 0.5228719371483377im, -0.544659429787845 - 0.32435438921547854im, 0.23121323542583191 - 0.03691385343090982im, 0.05649481235843618 + 0.01733175332383202im, -0.02328475803147801 + 0.011499240847676367im, -0.002091136203417945 + 0.0011636956997751735im, -0.0006660357728729448 + 0.0023243108493146316im, -0.001044057831642174 + 0.0010619537286261974im, 0.507988392481936 + 0.45031075852895724im, 0.6090993825184969 + 0.31125956776339414im … 0.0227538612191286 - 0.06101588254226584im, -0.0017540843563375041 + 0.0020476825929521573im, -2.7972120909761593e-9 + 1.794621701907033e-9im, 2.4290788682038012e-5 - 2.0932632239479963e-5im, -0.0002880156038096744 - 0.00013060106467557123im, 0.002242141781376502 - 0.0011186219523608943im, -0.00743566279989789 - 0.01259681296270982im, -0.010205421512242616 - 0.042571306158241284im, 0.03227200298595257 - 0.041768970313523474im, -0.0855769208604469 - 0.026797929330062194im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.998895333192046 + 0.0im, 0.011614770905845244 - 0.033230242214560717im, 0.017319299252643732 - 0.021260380656071623im, 0.012888245084688848 + 0.0019133330566373633im, 0.0005259228074020277 - 0.0009231459145248458im, 0.0007508214272712389 + 0.0011386877047609941im, 0.00020528599655269733 + 0.0003409129167548785im, 0.0004432994309032735 - 6.435230154248354e-5im, 0.0 + 0.0im, 0.003966667019397689 + 0.0im … 6.94146565997007e-7 + 0.0im, 6.118047374822395e-8 - 1.7418740427759907e-7im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 3.6816521031492567e-7 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5149253733753952 + 0.5222943378745595im, 0.02120203279859163 - 0.012343585937041466im, 0.02091128258551443 - 0.0050730790301737345im, 0.006502034557527612 + 0.0077174813723708486im, 0.0007915172080110546 - 0.00037079954863805583im, -0.00012091367573158105 + 0.0010446972461533453im, -0.00011415581313697809 + 0.0003433238909708577im, 0.0002908479866010025 + 0.00015948198194019314im, 0.5074272345659354 + 0.4498133151807458im, 0.02328019881141773 - 0.010415657965689797im … 2.3417658403511384e-8 - 5.126658877884571e-8im, -9.96234470347697e-9 - 4.779136314582338e-9im, -2.7941221036193715e-9 + 1.7926392428768436e-9im, 9.638061707624976e-8 - 8.291898577813628e-8im, -6.845675429797029e-8 - 1.0285697396097851e-8im, 8.1804246499221e-8 - 7.270990789427833e-8im, -3.540855421723699e-8 - 5.92808210352529e-8im, 3.37094452550441e-8 - 9.425568352225854e-8im, 1.0594924443255624e-8 + 1.2402968379070635e-8im, -2.537991090099597e-8 - 3.604404240875527e-8im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)])])Access tensors with Cartesian [row, col] indexing:
ψ_ml.AL[1, 1] # left-gauged tensor of row 1, unit-cell site 18×2←8 TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}:
codomain: (ℂ^8 ⊗ ℂ^2)
domain: ⊗(ℂ^8)
blocks:
* Trivial() => 16×8 reshape(view(::Vector{ComplexF64}, 1:128), 16, 8) with eltype ComplexF64:
0.529042+0.317901im … -0.00134684+0.0173091im
0.0610492+0.0251691im 0.0431266-0.00613189im
0.00403146+0.0101767im 0.228735-0.50509im
-0.000744867+0.00521626im 0.121414-0.507365im
0.00191075+0.000684443im -0.0681638-0.172884im
-0.000291659-0.000238908im … -0.00687813+0.0889733im
0.000634356+0.00102764im 0.0293895-0.0219794im
8.17819e-5+0.000216759im -0.0758267-0.0756524im
0.489333+0.608304im 0.00706218+0.0117468im
0.0407162+0.0574826im -0.0461964-0.101211im
0.000726869+0.00705243im … 0.0405044-0.0947112im
0.00173596+0.00631659im 0.335748-0.433781im
0.00112866+0.000897585im -0.105182-0.0360451im
0.000492221+0.000548582im -0.00135351+0.105152im
0.000142143+0.000305478im 0.044882-0.111861im
0.000119665+0.000156508im … -0.0290834-0.00488853imFrom space matrices
Pass matrices whose rows correspond to MPS rows and columns to unit-cell sites:
pspaces = fill(ℂ^2, 2, 2) # 2 rows × 2-site unit cell
Dspaces = fill(ℂ^8, 2, 2)
ψ_ml2 = MultilineMPS(pspaces, Dspaces)MultilineMPS{InfiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}}(InfiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}[InfiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.41653306523437905 + 0.4038732969923608im, 0.02574151532220216 - 0.01287703741344606im, -0.0019355897887381977 + 0.01740884898307876im, 0.010614987294081075 + 0.0020450103463766226im, 0.0008425037764501816 + 0.0012846374012292822im, 0.00026869781930797333 + 0.00022355761024149608im, 0.00031417230462675507 - 6.887173619484394e-5im, 0.000247017884630311 + 0.00010545233172805187im, 0.6934397020056335 + 0.42172313021241853im, 0.05012257536165272 - 0.020911688976918752im … 0.0008632170235741117 - 0.018639540927668608im, 0.021776018904125838 - 0.0114924347501848im, 0.0009620606939537701 + 0.002741697393692899im, -0.22040892678424745 - 0.14462980137421727im, -0.04096595580976174 + 0.18366193016327978im, 0.027827759978935884 + 0.48770199504936373im, 0.022904155966189332 + 0.0716201136310003im, 0.08363036574714197 - 0.023662093396266622im, -0.04274655611492355 - 0.006673341353285851im, -0.12482217642286342 - 0.018809931534120288im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.40283002016146296 + 0.5309564976795366im, 0.07034668380369757 + 0.08744253648782066im, 0.002676096819663882 + 0.008228859739827314im, 0.0010299381948048994 + 0.00281918010786166im, 0.0002827981691641197 + 0.0019515144163899812im, 0.0006212202287339003 + 4.4580110520367635e-5im, -0.00017573699930124019 + 0.0005824846905256061im, 0.00031962882104421625 + 0.0002820688128273869im, 0.4915351304731026 + 0.5285272143464217im, 0.0716441594612835 + 0.1299320288140816im … 0.0018127327876071202 + 0.21113499502874206im, 0.09984593880295378 - 0.02076114834539142im, 0.008636675245678807 + 0.010066657706652021im, -0.03848108878227624 - 0.03861751156814808im, -0.03938735075164089 + 0.02471281665216564im, -0.07668789765079068 - 0.6916710508999262im, -0.12773873064392066 - 0.23532950466050728im, -0.020553365718927196 - 0.08852682480617836im, 0.05555057027842428 - 0.14853148601025176im, -0.03295096270098337 + 0.035890559105747726im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5612639515811984 + 0.40698004367166im, 0.6528390739230426 - 0.1700458843983219im, 0.2022699051412194 - 0.09016519268836747im, 0.04430188601059892 + 0.0710984893376924im, -0.0681563751792071 + 0.013122132642707682im, 0.04363454550658435 + 0.031061804009070028im, -0.013173835627793208 + 0.00778553848942291im, -0.009015579454354059 - 0.00944613048142193im, 0.5763068226147866 + 0.4326728729997267im, -0.6308802483854715 + 0.1515698465739322im … -0.008052784428208986 + 0.012111701200879432im, 0.06278539380575254 + 0.017065798695315475im, 7.140305009098395e-10 + 2.0348566110900836e-9im, -4.579762684023911e-5 - 3.0038352824656494e-5im, -1.0244062740631049e-5 + 0.0003081027640049537im, 0.0012400296687138795 + 0.009226500462879242im, 0.00881692565349131 + 0.02252587433550776im, -0.013003156388198517 + 0.013412612276523477im, 0.002010841511722617 - 0.00949296728424496im, -0.1796014824823746 - 0.0002099895590016521im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.44153377804212757 + 0.5170096682933084im, -0.03312689532543849 - 0.7225289346955956im, 0.08652586708866064 - 0.07688583956825877im, -0.012250563742635619 - 0.02418949398680685im, 0.008512649508576792 - 0.008941621106317355im, 0.0015513232697238104 + 0.013069274427065937im, 0.002259282612916532 + 0.010650257985843199im, -0.004028943540407974 + 0.0019399907401196476im, 0.4688900746860527 + 0.5638052062791837im, 0.02182797692751564 + 0.6697999229550197im … 0.022813432919698846 + 0.04088283615408979im, 0.10704242144529252 - 0.0477416449864664im, 4.005393203426842e-9 + 4.668569931423814e-9im, -4.797906185183909e-6 - 4.861478378750427e-6im, -5.3885052291451446e-5 + 6.166062412740812e-5im, -0.0005027363476543462 - 0.005537075723460312im, 0.002120818709213199 - 0.010016770136799589im, 0.00422292569202661 - 0.024316063777112495im, 0.0038052584980460616 - 0.06868543197330915im, -0.14618346203126406 + 0.023616584014927198im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9823735352684296 + 0.0im, 0.18598336396687914 + 0.006487262500017674im, 0.015244346774341022 + 0.003897482728319796im, 0.0051779120599963905 + 0.002347969002700413im, 0.003543434004608061 + 0.0004779687882095981im, 0.00025563867362456247 - 0.0007411443576945029im, 0.0006067295522371036 + 0.0003118019862583614im, 0.000477318654245041 - 0.00010909207583169583im, 0.0 - 0.0im, 0.003802969609492099 + 0.0im … 1.2628407960755022e-6 + 0.0im, -5.033023903969593e-7 + 1.141821577124768e-6im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 7.407855486419706e-7 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9981095458657565 + 0.0im, 0.02979897130523628 - 0.04631870555591255im, 0.01130834095065361 + 0.01841050498295636im, 0.014684506085251412 - 0.006192155706925868im, 0.0024647707773581885 + 0.0007406212137874358im, 0.0006913464921597377 + 2.9557637504066838e-8im, 0.00046643596423072425 - 0.00028770906411203586im, 0.0003468124162925532 - 2.7890756521247594e-6im, 0.0 - 0.0im, 0.0035676799940323922 + 0.0im … 6.116478686543023e-7 + 0.0im, 2.483034392499222e-7 + 1.015763459081652e-6im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 4.555910882535991e-7 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5602029078235299 + 0.4062106665655462im, 0.037904998101149584 - 0.014476102369097316im, -0.0011744947261515348 + 0.014371952497640887im, 0.011395226333597448 + 0.003290006292202406im, 0.0010966473935043698 + 0.001474851006921981im, 0.0004294424183226845 + 0.00033804557827541137im, 0.00036592965389492836 + 5.487028815417242e-5im, 0.00016206188063244833 + 0.00012558201234064994im, 0.5752173409993816 + 0.4318549247781892im, 0.03496341903581997 - 0.013259826790164447im … 6.394586964054372e-10 - 1.3807902552537454e-8im, 1.6131360111130782e-8 - 8.513429581647696e-9im, 7.126806589974185e-10 + 2.031009807997055e-9im, -1.6327574775345666e-7 - 1.0713966676097877e-7im, -3.034698805017707e-8 + 1.3605410370064849e-7im, 2.061440244347309e-8 + 3.6128258997642653e-7im, 1.696706774359483e-8 + 5.305514516994084e-8im, 6.195216637312523e-8 - 1.7528536838570918e-8im, -3.166603102414842e-8 - 4.943514835669009e-9im, -9.246646444409571e-8 - 1.3934125451421201e-8im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.4337510984756329 + 0.5078966156092609im, 0.07863797933580784 + 0.09627178725277935im, 0.00524337883566987 + 0.008857573473404672im, 0.0011300498159404334 + 0.0034421412941542124im, 0.0013142880736604773 + 0.0018199319396011398im, 0.00045354262973507754 - 9.696952135492763e-5im, 6.839664697083845e-5 + 0.000463999833340487im, 0.00022237115875528728 + 0.0001572755465628215im, 0.46062520032165377 + 0.5538673136952187im, 0.08363121218168855 + 0.11044743063541479im … 8.258649034189083e-10 + 9.619122215356283e-8im, 4.5488919916939975e-8 - 9.458594168071285e-9im, 3.9347922740717285e-9 + 4.586279539650075e-9im, -1.7531641115500598e-8 - 1.7593794120978535e-8im, -1.7944525992366288e-8 + 1.125893903237181e-8im, -3.493832274660435e-8 - 3.1511916679300794e-7im, -5.819662730619718e-8 - 1.0721402512646094e-7im, -9.363930255160259e-9 - 4.033203245308251e-8im, 2.5308344766255354e-8 - 6.766962135133484e-8im, -1.5012164955944766e-8 + 1.635141888101773e-8im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)]), InfiniteMPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.3656584066874964 + 0.27351460664776095im, 0.010829194542113667 + 0.01862660409767297im, 0.000935064257637301 - 0.006164747325162237im, 0.010215262805408735 + 0.005593715239436867im, 0.00041529388107276413 + 0.0006779433851445436im, 0.0006618633007421759 - 3.099127364266215e-5im, 0.0002200465972037966 + 0.00016756846423663545im, 1.8503490758599593e-5 + 0.00021763749728141558im, 0.3888964737655344 + 0.7949670787192394im, -0.021126673036540616 + 0.06522717449704124im … 0.002726843114363475 - 0.021513975634850795im, 0.06768311986300923 + 0.04513457094696302im, 0.002491420206231526 + 0.014465634292747914im, 0.105380033615896 - 0.23336300013661426im, -0.20519953645822023 - 0.012655368500390299im, -0.00021684987963460634 + 0.0640979992293958im, 0.08777929946842522 - 0.10468205652898491im, 0.020033105604012145 - 0.06217176311732867im, -0.0402472867442094 + 0.0021492794336618474im, 0.04518078048356386 - 0.02384004669207472im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.4978854141715594 + 0.4509649951294848im, 0.15497308474931887 + 0.16237234353627333im, 0.006759138406026094 + 0.00377343881180034im, 0.0006992711922895389 + 0.0023812360795566214im, 0.0020738034512552232 + 0.0012594171538891853im, 0.0014876097304190735 + 0.0003236464867638393im, -0.0002745096591524157 - 0.00014064703051070161im, 8.696103177483389e-6 + 0.0005463442138840009im, 0.5740813227429736 + 0.3445832383119577im, 0.15271504161814398 + 0.16310524089660441im … 0.031779464276258065 + 0.13017654069289783im, 0.1268099313738893 - 0.04260046358515387im, -0.0033353098183145358 - 0.007072623252417726im, -0.011598567289820297 + 0.005158135861838997im, 0.2875183163581627 - 0.09626159031150713im, -0.022669328573660212 + 0.259462894351966im, 0.008283994503141656 - 0.22611231621348366im, 0.17650135133631253 + 0.15780165259333im, -0.14696049733577285 - 0.07529363871090462im, 0.03226221086355621 + 0.02632552101162043im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.41411931412965663 + 0.5389754312240458im, 0.3090370091108774 - 0.603587081181399im, 0.09925116681316942 + 0.11697201000833153im, 0.15403764266700068 - 0.17490600579496798im, 0.004737560698212462 + 0.009115954080517496im, -0.008692359084464819 - 0.005318597029767574im, -0.0014456232760340763 - 0.007378234278124142im, -0.0007322014047544672 + 0.006299067314300462im, 0.4048788855443774 + 0.6115868317626943im, -0.3268029176225394 + 0.5389111010713076im … 0.05361068027976171 + 0.03973250700492052im, 0.08019634001885723 + 0.03680210245598269im, 1.1010989948178156e-9 + 6.39317901464698e-9im, 3.053073427364768e-5 - 6.747206456860552e-5im, -0.0016428651458714797 - 0.0006421051622109483im, 8.767899754710115e-5 - 0.0009489709161786527im, 0.016764255259445266 - 0.01190560291717587im, 0.0013303646872512296 + 0.006489971659500555im, 0.03521277485559149 - 0.0013320916794043423im, 0.07715797112382958 + 0.009880137330832104im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5625923858197222 + 0.4287360783758201im, -0.6857504259021538 - 0.14479519587816692im, 0.06475452515955549 + 0.055287662210740676im, 0.0031723926557188573 + 0.001066808298961326im, -0.02675955096869483 - 0.0071458352814587275im, 0.01795512812706349 + 0.006112760816161099im, -0.005702229296039889 + 0.0017265592355461105im, -0.0029883969495155794 + 0.00332523650027458im, 0.5727309489953302 + 0.4143051875530899im, 0.6898076483588185 + 0.1277932322524994im … 0.07117867370739 + 0.03166169646038848im, -0.13108562622975328 + 0.015072700936458978im, -1.122165079358282e-9 - 2.3795842862152074e-9im, -5.18358868419963e-7 + 3.6870994054700267e-7im, 0.0011021492600713262 - 0.0003677604328996353im, -0.0034611054298784045 + 0.007076435143867759im, 0.000350088273635961 - 0.008082018858639153im, 0.004492652750555307 + 0.001586577015596345im, -0.05622466691441626 + 0.05929976620336408im, 0.08678826353070059 - 0.1814824564151652im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9458083388931668 + 0.0im, 0.319642612198596 + 0.05582002835856095im, 0.009810774121536503 - 0.0026364137949151205im, 0.0024798879151877243 + 0.0009627429100179119im, 0.0001364445826994341 + 0.0006833482164974907im, 0.0013519981786735368 - 0.0007793951881119566im, 0.00022662595314603437 + 0.0003714368018126635im, 0.000597950805409622 + 0.00010243611337063132im, 0.0 - 0.0im, 0.006684559643071107 + 0.0im … 5.659439253427463e-7 + 0.0im, 4.7032580048836067e-7 - 4.884275838628924e-7im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 0.0 + 0.0im, 4.404708554032703e-7 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9966388077480403 + 0.0im, 0.046827634614905016 + 0.04782372265213535im, -0.017720886254318002 - 0.009060991103562252im, 0.0424269187222809 - 0.004893029688894533im, 0.0019087644045742893 + 0.0002712440034743898im, 0.0007445937121970986 - 0.00026130050314472343im, 0.0007760442587874388 + 4.6069645882646786e-5im, 0.0005042392590524682 + 5.2280105481755106e-5im, 0.0 - 0.0im, 0.0015286568901213922 + 0.0im … 4.3269199797427914e-7 + 0.0im, 8.386946807898488e-8 - 3.2193825454462615e-8im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 0.0 - 0.0im, 3.182172414151439e-7 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.4127273794996171 + 0.5371638311806187im, -0.00591117205685532 + 0.04412099423316348im, -0.0019208913917746035 - 0.01277850259235401im, 0.01996622795958117 + 0.019815448116423825im, 0.0006222232191498009 + 0.001155929075052432im, 0.0004852781538283967 + 0.00029641782135044175im, 0.00028855913999899425 + 0.0004195826537259199im, 0.0001597003855887236 + 0.00031065282418774975im, 0.4035180097713034 + 0.6095311708423728im, -0.010788408036090661 + 0.04882579039086635im … 1.2010949191341975e-9 - 9.476279251007846e-9im, 2.981244170242175e-8 + 1.9880463073268395e-8im, 1.0973979894077925e-9 + 6.371690310877555e-9im, 4.6416833549219096e-8 - 1.0278960028964797e-7im, -9.038441535210683e-8 - 5.5743209888105175e-9im, -9.551605197675127e-11 + 2.8233300550210128e-8im, 3.866422312355709e-8 - 4.610939498469548e-8im, 8.823999161783278e-9 - 2.7384849682219253e-8im, -1.772775681988262e-8 + 9.466949506456902e-10im, 1.9900817027382754e-8 - 1.0500845759312057e-8im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5321045699060944 + 0.4055021581122078im, 0.15131250013097305 + 0.16747835084372106im, 0.006970154460915081 + 0.0028096856851506187im, 0.001245204636930347 + 0.0018765431224753548im, -0.00014763611009112996 + 5.4348953881145636e-5im, 0.001165002952963868 + 0.00018001526384588682im, -0.00014729021195973233 + 0.0003314484392154447im, 0.00031042007221464995 + 0.0003646111994253523im, 0.5416937075019816 + 0.39185330123440704im, 0.16455374967323783 + 0.16525369169461435im … 1.0112773455641955e-8 + 4.142441967626018e-8im, 4.035310654584276e-8 - 1.3556202005073956e-8im, -1.0613530896488963e-9 - 2.2506306609529718e-9im, -3.690864087334537e-9 + 1.6414077647989317e-9im, 9.149328548782119e-8 - 3.0632097723162545e-8im, -7.213771203443652e-9 + 8.256556649027155e-8im, 2.6361098786879536e-9 - 7.195283751544349e-8im, 5.61657731282865e-8 + 5.0215206579000365e-8im, -4.676536405918725e-8 - 2.395973400669256e-8im, 1.0266391742954546e-8 + 8.377234675134262e-9im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)])])5. States with symmetries
All constructors accept TensorKit graded spaces. Pass a Rep[G] physical space and a Rep[G] maximum virtual space; the constructor automatically selects the consistent fusion channels.
Finite MPS with U(1) symmetry
# U(1) spin-1/2: physical space = spin up (charge +1/2) + spin down (charge -1/2)
d_u1 = Rep[U₁](1 // 2 => 1, -1 // 2 => 1) # dim 2 total
# the virtual space must span both charge parities (integer and half-integer):
# with only ±1/2 on each site, the total charge alternates parity bond to bond,
# so a purely half-integer virtual space would starve every even bond
D_u1 = Rep[U₁](0 => 2, 1 // 2 => 2, -1 // 2 => 2, 1 => 1, -1 => 1)
ψ_u1 = FiniteMPS(rand, ComplexF64, L, d_u1, D_u1)
physicalspace(ψ_u1, 1)Rep[U₁](…) of dim 2:
1/2 => 1
-1/2 => 1dim(left_virtualspace(ψ_u1, 5)) # actual trimmed bond dimension ≤ dim(D_u1)4Note
The boundary virtual spaces default to oneunit(spacetype(d_u1)), i.e. the charge-0 sector. Use the left and right keywords to target a different total charge:
# state in total charge-sector +1 (one more up-spin than down-spin)
ψ_charged = FiniteMPS(rand, ComplexF64, L, d_u1, D_u1;
right = Rep[U₁](1 => 1))Infinite MPS with U(1) symmetry
ψ_inf_u1 = InfiniteMPS(d_u1, D_u1)
physicalspace(ψ_inf_u1, 1)Rep[U₁](…) of dim 2:
1/2 => 1
-1/2 => 1