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.48501675810814504 + 0.5731126436777181im, 0.08933646107713768 - 0.020948773315990148im, 0.01377634202461489 + 0.0024404973830072334im, 0.008823956854031631 + 5.748132396112297e-5im, -0.001142561061583685 + 0.002536908478316167im, 0.000247980737842828 + 0.0008246909932509584im, 0.0003644360376795267 - 0.00011526359179561324im, 0.00015210709497265603 + 7.713351516411572e-5im, 0.5010572386257608 + 0.41149694011139726im, 0.0807252664158554 - 0.02117603034489953im … -0.2661887676112995 - 0.03935520793087025im, 0.045242571721660685 + 0.0008874667256588684im, -0.0010487851219224686 + 0.005360531574106233im, 0.0027105425840741604 - 0.02168923300683373im, 0.2534141967212782 + 0.03574045685772992im, -0.5174123690869563 + 0.014371158547127637im, 0.197153516344929 + 0.15184273995492106im, -0.02729532623331422 - 0.12723221098842633im, -0.0484061530353143 - 0.16705343937701864im, -0.035755446400321064 + 0.0747199726613896im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5167782178794831 + 0.4912321932223086im, -0.3322086203907655 - 0.6095138994809259im, -0.03892938700014459 + 0.07126951976220124im, -0.03172275209608831 + 0.04558339317162215im, 0.004715768475230919 + 0.0017939778905405723im, -0.00254306513440464 - 0.0016136065344747159im, -0.0022127490573292503 - 0.0011141553603486595im, -0.0026211057805129597 + 0.005706625417629355im, 0.48243428520363374 + 0.5085663994986035im, 0.3055064927239579 + 0.6363850927699256im … -0.06680292934896069 - 0.07534588381212845im, -0.01998995063181397 + 0.02243975727415677im, -4.429532919155177e-10 + 2.264014865900205e-9im, 5.907271683156466e-8 - 5.909494687846413e-7im, 0.000495881388938951 + 7.507788650758049e-5im, -0.003988282410201097 + 0.00044351313027538687im, -0.007852319309065063 + 0.05280661613418992im, 0.031010286589386385 + 0.018430187437930824im, -0.04735118226649065 - 0.012363602597871254im, -0.013028825593430623 - 0.0141419909676196im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.990881745428078 + 0.0im, 0.07875643417749231 - 0.10573591023159151im, 0.016495370942397985 - 0.009915244984273321im, 0.009526340582440332 - 0.006603710824401609im, 0.00034011304559081705 + 0.0033262787573138373im, 0.0009342680022905138 + 0.00031803631616526845im, 0.0002779306071036652 - 0.00040092487679266407im, 0.00031140862444411696 + 4.13311102748866e-5im, 0.0 + 0.0im, 0.01574083730770774 + 0.0im … 9.899010396612523e-7 + 0.0im, -4.727532519985733e-7 + 8.302972373249084e-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, 4.184978618230013e-7 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5120661025316339 + 0.48675301303058405im, 0.08741125094042004 - 0.025548578492484705im, 0.013382488237247704 + 0.0015357154745259693im, 0.008358911521761346 + 0.0005777640208124206im, -0.0016200232151263017 + 0.0019404200264260545im, 0.00035666960747464697 + 0.0006867334883237594im, 0.0003757535159166887 - 4.4677116553158854e-5im, 0.00012204213898170533 + 0.00015220486675314253im, 0.47803532657692344 + 0.5039291616012493im, 0.09657746319020975 - 0.0009405178955955389im … -1.1139943008662863e-7 - 1.6470070370668825e-8im, 1.893391952888878e-8 + 3.7140292712729655e-10im, -4.389143310363289e-10 + 2.243371001998146e-9im, 1.134356275815229e-9 - 9.076897637940782e-9im, 1.0605329948344835e-7 + 1.4957304775537196e-8im, -2.165359701436648e-7 + 6.014299123892266e-9im, 8.250832504123893e-8 + 6.354586200448048e-8im, -1.1423035666403277e-8 - 5.324640825366939e-8im, -2.025787154435602e-8 - 6.991150718946067e-8im, -1.4963577867061294e-8 + 3.127014879426466e-8im], (ℂ^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.48501675810814504 + 0.5731126436777181im, 0.08933646107713768 - 0.020948773315990148im, 0.01377634202461489 + 0.0024404973830072334im, 0.008823956854031631 + 5.748132396112297e-5im, -0.001142561061583685 + 0.002536908478316167im, 0.000247980737842828 + 0.0008246909932509584im, 0.0003644360376795267 - 0.00011526359179561324im, 0.00015210709497265603 + 7.713351516411572e-5im, 0.5010572386257608 + 0.41149694011139726im, 0.0807252664158554 - 0.02117603034489953im … -0.2661887676112995 - 0.03935520793087025im, 0.045242571721660685 + 0.0008874667256588684im, -0.0010487851219224686 + 0.005360531574106233im, 0.0027105425840741604 - 0.02168923300683373im, 0.2534141967212782 + 0.03574045685772992im, -0.5174123690869563 + 0.014371158547127637im, 0.197153516344929 + 0.15184273995492106im, -0.02729532623331422 - 0.12723221098842633im, -0.0484061530353143 - 0.16705343937701864im, -0.035755446400321064 + 0.0747199726613896im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48501675810814504 + 0.5731126436777181im, 0.08933646107713768 - 0.020948773315990148im, 0.01377634202461489 + 0.0024404973830072334im, 0.008823956854031631 + 5.748132396112297e-5im, -0.001142561061583685 + 0.002536908478316167im, 0.000247980737842828 + 0.0008246909932509584im, 0.0003644360376795267 - 0.00011526359179561324im, 0.00015210709497265603 + 7.713351516411572e-5im, 0.5010572386257608 + 0.41149694011139726im, 0.0807252664158554 - 0.02117603034489953im … -0.2661887676112995 - 0.03935520793087025im, 0.045242571721660685 + 0.0008874667256588684im, -0.0010487851219224686 + 0.005360531574106233im, 0.0027105425840741604 - 0.02168923300683373im, 0.2534141967212782 + 0.03574045685772992im, -0.5174123690869563 + 0.014371158547127637im, 0.197153516344929 + 0.15184273995492106im, -0.02729532623331422 - 0.12723221098842633im, -0.0484061530353143 - 0.16705343937701864im, -0.035755446400321064 + 0.0747199726613896im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48501675810814504 + 0.5731126436777181im, 0.08933646107713768 - 0.020948773315990148im, 0.01377634202461489 + 0.0024404973830072334im, 0.008823956854031631 + 5.748132396112297e-5im, -0.001142561061583685 + 0.002536908478316167im, 0.000247980737842828 + 0.0008246909932509584im, 0.0003644360376795267 - 0.00011526359179561324im, 0.00015210709497265603 + 7.713351516411572e-5im, 0.5010572386257608 + 0.41149694011139726im, 0.0807252664158554 - 0.02117603034489953im … -0.2661887676112995 - 0.03935520793087025im, 0.045242571721660685 + 0.0008874667256588684im, -0.0010487851219224686 + 0.005360531574106233im, 0.0027105425840741604 - 0.02168923300683373im, 0.2534141967212782 + 0.03574045685772992im, -0.5174123690869563 + 0.014371158547127637im, 0.197153516344929 + 0.15184273995492106im, -0.02729532623331422 - 0.12723221098842633im, -0.0484061530353143 - 0.16705343937701864im, -0.035755446400321064 + 0.0747199726613896im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48501675810814504 + 0.5731126436777181im, 0.08933646107713768 - 0.020948773315990148im, 0.01377634202461489 + 0.0024404973830072334im, 0.008823956854031631 + 5.748132396112297e-5im, -0.001142561061583685 + 0.002536908478316167im, 0.000247980737842828 + 0.0008246909932509584im, 0.0003644360376795267 - 0.00011526359179561324im, 0.00015210709497265603 + 7.713351516411572e-5im, 0.5010572386257608 + 0.41149694011139726im, 0.0807252664158554 - 0.02117603034489953im … -0.2661887676112995 - 0.03935520793087025im, 0.045242571721660685 + 0.0008874667256588684im, -0.0010487851219224686 + 0.005360531574106233im, 0.0027105425840741604 - 0.02168923300683373im, 0.2534141967212782 + 0.03574045685772992im, -0.5174123690869563 + 0.014371158547127637im, 0.197153516344929 + 0.15184273995492106im, -0.02729532623331422 - 0.12723221098842633im, -0.0484061530353143 - 0.16705343937701864im, -0.035755446400321064 + 0.0747199726613896im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48501675810814504 + 0.5731126436777181im, 0.08933646107713768 - 0.020948773315990148im, 0.01377634202461489 + 0.0024404973830072334im, 0.008823956854031631 + 5.748132396112297e-5im, -0.001142561061583685 + 0.002536908478316167im, 0.000247980737842828 + 0.0008246909932509584im, 0.0003644360376795267 - 0.00011526359179561324im, 0.00015210709497265603 + 7.713351516411572e-5im, 0.5010572386257608 + 0.41149694011139726im, 0.0807252664158554 - 0.02117603034489953im … -0.2661887676112995 - 0.03935520793087025im, 0.045242571721660685 + 0.0008874667256588684im, -0.0010487851219224686 + 0.005360531574106233im, 0.0027105425840741604 - 0.02168923300683373im, 0.2534141967212782 + 0.03574045685772992im, -0.5174123690869563 + 0.014371158547127637im, 0.197153516344929 + 0.15184273995492106im, -0.02729532623331422 - 0.12723221098842633im, -0.0484061530353143 - 0.16705343937701864im, -0.035755446400321064 + 0.0747199726613896im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.48501675810814504 + 0.5731126436777181im, 0.08933646107713768 - 0.020948773315990148im, 0.01377634202461489 + 0.0024404973830072334im, 0.008823956854031631 + 5.748132396112297e-5im, -0.001142561061583685 + 0.002536908478316167im, 0.000247980737842828 + 0.0008246909932509584im, 0.0003644360376795267 - 0.00011526359179561324im, 0.00015210709497265603 + 7.713351516411572e-5im, 0.5010572386257608 + 0.41149694011139726im, 0.0807252664158554 - 0.02117603034489953im … -0.2661887676112995 - 0.03935520793087025im, 0.045242571721660685 + 0.0008874667256588684im, -0.0010487851219224686 + 0.005360531574106233im, 0.0027105425840741604 - 0.02168923300683373im, 0.2534141967212782 + 0.03574045685772992im, -0.5174123690869563 + 0.014371158547127637im, 0.197153516344929 + 0.15184273995492106im, -0.02729532623331422 - 0.12723221098842633im, -0.0484061530353143 - 0.16705343937701864im, -0.035755446400321064 + 0.0747199726613896im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5167782178794831 + 0.4912321932223086im, -0.3322086203907655 - 0.6095138994809259im, -0.03892938700014459 + 0.07126951976220124im, -0.03172275209608831 + 0.04558339317162215im, 0.004715768475230919 + 0.0017939778905405723im, -0.00254306513440464 - 0.0016136065344747159im, -0.0022127490573292503 - 0.0011141553603486595im, -0.0026211057805129597 + 0.005706625417629355im, 0.48243428520363374 + 0.5085663994986035im, 0.3055064927239579 + 0.6363850927699256im … -0.06680292934896069 - 0.07534588381212845im, -0.01998995063181397 + 0.02243975727415677im, -4.429532919155177e-10 + 2.264014865900205e-9im, 5.907271683156466e-8 - 5.909494687846413e-7im, 0.000495881388938951 + 7.507788650758049e-5im, -0.003988282410201097 + 0.00044351313027538687im, -0.007852319309065063 + 0.05280661613418992im, 0.031010286589386385 + 0.018430187437930824im, -0.04735118226649065 - 0.012363602597871254im, -0.013028825593430623 - 0.0141419909676196im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5167782178794831 + 0.4912321932223086im, -0.3322086203907655 - 0.6095138994809259im, -0.03892938700014459 + 0.07126951976220124im, -0.03172275209608831 + 0.04558339317162215im, 0.004715768475230919 + 0.0017939778905405723im, -0.00254306513440464 - 0.0016136065344747159im, -0.0022127490573292503 - 0.0011141553603486595im, -0.0026211057805129597 + 0.005706625417629355im, 0.48243428520363374 + 0.5085663994986035im, 0.3055064927239579 + 0.6363850927699256im … -0.06680292934896069 - 0.07534588381212845im, -0.01998995063181397 + 0.02243975727415677im, -4.429532919155177e-10 + 2.264014865900205e-9im, 5.907271683156466e-8 - 5.909494687846413e-7im, 0.000495881388938951 + 7.507788650758049e-5im, -0.003988282410201097 + 0.00044351313027538687im, -0.007852319309065063 + 0.05280661613418992im, 0.031010286589386385 + 0.018430187437930824im, -0.04735118226649065 - 0.012363602597871254im, -0.013028825593430623 - 0.0141419909676196im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5167782178794831 + 0.4912321932223086im, -0.3322086203907655 - 0.6095138994809259im, -0.03892938700014459 + 0.07126951976220124im, -0.03172275209608831 + 0.04558339317162215im, 0.004715768475230919 + 0.0017939778905405723im, -0.00254306513440464 - 0.0016136065344747159im, -0.0022127490573292503 - 0.0011141553603486595im, -0.0026211057805129597 + 0.005706625417629355im, 0.48243428520363374 + 0.5085663994986035im, 0.3055064927239579 + 0.6363850927699256im … -0.06680292934896069 - 0.07534588381212845im, -0.01998995063181397 + 0.02243975727415677im, -4.429532919155177e-10 + 2.264014865900205e-9im, 5.907271683156466e-8 - 5.909494687846413e-7im, 0.000495881388938951 + 7.507788650758049e-5im, -0.003988282410201097 + 0.00044351313027538687im, -0.007852319309065063 + 0.05280661613418992im, 0.031010286589386385 + 0.018430187437930824im, -0.04735118226649065 - 0.012363602597871254im, -0.013028825593430623 - 0.0141419909676196im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5167782178794831 + 0.4912321932223086im, -0.3322086203907655 - 0.6095138994809259im, -0.03892938700014459 + 0.07126951976220124im, -0.03172275209608831 + 0.04558339317162215im, 0.004715768475230919 + 0.0017939778905405723im, -0.00254306513440464 - 0.0016136065344747159im, -0.0022127490573292503 - 0.0011141553603486595im, -0.0026211057805129597 + 0.005706625417629355im, 0.48243428520363374 + 0.5085663994986035im, 0.3055064927239579 + 0.6363850927699256im … -0.06680292934896069 - 0.07534588381212845im, -0.01998995063181397 + 0.02243975727415677im, -4.429532919155177e-10 + 2.264014865900205e-9im, 5.907271683156466e-8 - 5.909494687846413e-7im, 0.000495881388938951 + 7.507788650758049e-5im, -0.003988282410201097 + 0.00044351313027538687im, -0.007852319309065063 + 0.05280661613418992im, 0.031010286589386385 + 0.018430187437930824im, -0.04735118226649065 - 0.012363602597871254im, -0.013028825593430623 - 0.0141419909676196im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5167782178794831 + 0.4912321932223086im, -0.3322086203907655 - 0.6095138994809259im, -0.03892938700014459 + 0.07126951976220124im, -0.03172275209608831 + 0.04558339317162215im, 0.004715768475230919 + 0.0017939778905405723im, -0.00254306513440464 - 0.0016136065344747159im, -0.0022127490573292503 - 0.0011141553603486595im, -0.0026211057805129597 + 0.005706625417629355im, 0.48243428520363374 + 0.5085663994986035im, 0.3055064927239579 + 0.6363850927699256im … -0.06680292934896069 - 0.07534588381212845im, -0.01998995063181397 + 0.02243975727415677im, -4.429532919155177e-10 + 2.264014865900205e-9im, 5.907271683156466e-8 - 5.909494687846413e-7im, 0.000495881388938951 + 7.507788650758049e-5im, -0.003988282410201097 + 0.00044351313027538687im, -0.007852319309065063 + 0.05280661613418992im, 0.031010286589386385 + 0.018430187437930824im, -0.04735118226649065 - 0.012363602597871254im, -0.013028825593430623 - 0.0141419909676196im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5167782178794831 + 0.4912321932223086im, -0.3322086203907655 - 0.6095138994809259im, -0.03892938700014459 + 0.07126951976220124im, -0.03172275209608831 + 0.04558339317162215im, 0.004715768475230919 + 0.0017939778905405723im, -0.00254306513440464 - 0.0016136065344747159im, -0.0022127490573292503 - 0.0011141553603486595im, -0.0026211057805129597 + 0.005706625417629355im, 0.48243428520363374 + 0.5085663994986035im, 0.3055064927239579 + 0.6363850927699256im … -0.06680292934896069 - 0.07534588381212845im, -0.01998995063181397 + 0.02243975727415677im, -4.429532919155177e-10 + 2.264014865900205e-9im, 5.907271683156466e-8 - 5.909494687846413e-7im, 0.000495881388938951 + 7.507788650758049e-5im, -0.003988282410201097 + 0.00044351313027538687im, -0.007852319309065063 + 0.05280661613418992im, 0.031010286589386385 + 0.018430187437930824im, -0.04735118226649065 - 0.012363602597871254im, -0.013028825593430623 - 0.0141419909676196im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5120661025316339 + 0.48675301303058405im, 0.08741125094042004 - 0.025548578492484705im, 0.013382488237247704 + 0.0015357154745259693im, 0.008358911521761346 + 0.0005777640208124206im, -0.0016200232151263017 + 0.0019404200264260545im, 0.00035666960747464697 + 0.0006867334883237594im, 0.0003757535159166887 - 4.4677116553158854e-5im, 0.00012204213898170533 + 0.00015220486675314253im, 0.47803532657692344 + 0.5039291616012493im, 0.09657746319020975 - 0.0009405178955955389im … -1.1139943008662863e-7 - 1.6470070370668825e-8im, 1.893391952888878e-8 + 3.7140292712729655e-10im, -4.389143310363289e-10 + 2.243371001998146e-9im, 1.134356275815229e-9 - 9.076897637940782e-9im, 1.0605329948344835e-7 + 1.4957304775537196e-8im, -2.165359701436648e-7 + 6.014299123892266e-9im, 8.250832504123893e-8 + 6.354586200448048e-8im, -1.1423035666403277e-8 - 5.324640825366939e-8im, -2.025787154435602e-8 - 6.991150718946067e-8im, -1.4963577867061294e-8 + 3.127014879426466e-8im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5120661025316339 + 0.48675301303058405im, 0.08741125094042004 - 0.025548578492484705im, 0.013382488237247704 + 0.0015357154745259693im, 0.008358911521761346 + 0.0005777640208124206im, -0.0016200232151263017 + 0.0019404200264260545im, 0.00035666960747464697 + 0.0006867334883237594im, 0.0003757535159166887 - 4.4677116553158854e-5im, 0.00012204213898170533 + 0.00015220486675314253im, 0.47803532657692344 + 0.5039291616012493im, 0.09657746319020975 - 0.0009405178955955389im … -1.1139943008662863e-7 - 1.6470070370668825e-8im, 1.893391952888878e-8 + 3.7140292712729655e-10im, -4.389143310363289e-10 + 2.243371001998146e-9im, 1.134356275815229e-9 - 9.076897637940782e-9im, 1.0605329948344835e-7 + 1.4957304775537196e-8im, -2.165359701436648e-7 + 6.014299123892266e-9im, 8.250832504123893e-8 + 6.354586200448048e-8im, -1.1423035666403277e-8 - 5.324640825366939e-8im, -2.025787154435602e-8 - 6.991150718946067e-8im, -1.4963577867061294e-8 + 3.127014879426466e-8im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5120661025316339 + 0.48675301303058405im, 0.08741125094042004 - 0.025548578492484705im, 0.013382488237247704 + 0.0015357154745259693im, 0.008358911521761346 + 0.0005777640208124206im, -0.0016200232151263017 + 0.0019404200264260545im, 0.00035666960747464697 + 0.0006867334883237594im, 0.0003757535159166887 - 4.4677116553158854e-5im, 0.00012204213898170533 + 0.00015220486675314253im, 0.47803532657692344 + 0.5039291616012493im, 0.09657746319020975 - 0.0009405178955955389im … -1.1139943008662863e-7 - 1.6470070370668825e-8im, 1.893391952888878e-8 + 3.7140292712729655e-10im, -4.389143310363289e-10 + 2.243371001998146e-9im, 1.134356275815229e-9 - 9.076897637940782e-9im, 1.0605329948344835e-7 + 1.4957304775537196e-8im, -2.165359701436648e-7 + 6.014299123892266e-9im, 8.250832504123893e-8 + 6.354586200448048e-8im, -1.1423035666403277e-8 - 5.324640825366939e-8im, -2.025787154435602e-8 - 6.991150718946067e-8im, -1.4963577867061294e-8 + 3.127014879426466e-8im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5120661025316339 + 0.48675301303058405im, 0.08741125094042004 - 0.025548578492484705im, 0.013382488237247704 + 0.0015357154745259693im, 0.008358911521761346 + 0.0005777640208124206im, -0.0016200232151263017 + 0.0019404200264260545im, 0.00035666960747464697 + 0.0006867334883237594im, 0.0003757535159166887 - 4.4677116553158854e-5im, 0.00012204213898170533 + 0.00015220486675314253im, 0.47803532657692344 + 0.5039291616012493im, 0.09657746319020975 - 0.0009405178955955389im … -1.1139943008662863e-7 - 1.6470070370668825e-8im, 1.893391952888878e-8 + 3.7140292712729655e-10im, -4.389143310363289e-10 + 2.243371001998146e-9im, 1.134356275815229e-9 - 9.076897637940782e-9im, 1.0605329948344835e-7 + 1.4957304775537196e-8im, -2.165359701436648e-7 + 6.014299123892266e-9im, 8.250832504123893e-8 + 6.354586200448048e-8im, -1.1423035666403277e-8 - 5.324640825366939e-8im, -2.025787154435602e-8 - 6.991150718946067e-8im, -1.4963577867061294e-8 + 3.127014879426466e-8im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5120661025316339 + 0.48675301303058405im, 0.08741125094042004 - 0.025548578492484705im, 0.013382488237247704 + 0.0015357154745259693im, 0.008358911521761346 + 0.0005777640208124206im, -0.0016200232151263017 + 0.0019404200264260545im, 0.00035666960747464697 + 0.0006867334883237594im, 0.0003757535159166887 - 4.4677116553158854e-5im, 0.00012204213898170533 + 0.00015220486675314253im, 0.47803532657692344 + 0.5039291616012493im, 0.09657746319020975 - 0.0009405178955955389im … -1.1139943008662863e-7 - 1.6470070370668825e-8im, 1.893391952888878e-8 + 3.7140292712729655e-10im, -4.389143310363289e-10 + 2.243371001998146e-9im, 1.134356275815229e-9 - 9.076897637940782e-9im, 1.0605329948344835e-7 + 1.4957304775537196e-8im, -2.165359701436648e-7 + 6.014299123892266e-9im, 8.250832504123893e-8 + 6.354586200448048e-8im, -1.1423035666403277e-8 - 5.324640825366939e-8im, -2.025787154435602e-8 - 6.991150718946067e-8im, -1.4963577867061294e-8 + 3.127014879426466e-8im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5120661025316339 + 0.48675301303058405im, 0.08741125094042004 - 0.025548578492484705im, 0.013382488237247704 + 0.0015357154745259693im, 0.008358911521761346 + 0.0005777640208124206im, -0.0016200232151263017 + 0.0019404200264260545im, 0.00035666960747464697 + 0.0006867334883237594im, 0.0003757535159166887 - 4.4677116553158854e-5im, 0.00012204213898170533 + 0.00015220486675314253im, 0.47803532657692344 + 0.5039291616012493im, 0.09657746319020975 - 0.0009405178955955389im … -1.1139943008662863e-7 - 1.6470070370668825e-8im, 1.893391952888878e-8 + 3.7140292712729655e-10im, -4.389143310363289e-10 + 2.243371001998146e-9im, 1.134356275815229e-9 - 9.076897637940782e-9im, 1.0605329948344835e-7 + 1.4957304775537196e-8im, -2.165359701436648e-7 + 6.014299123892266e-9im, 8.250832504123893e-8 + 6.354586200448048e-8im, -1.1423035666403277e-8 - 5.324640825366939e-8im, -2.025787154435602e-8 - 6.991150718946067e-8im, -1.4963577867061294e-8 + 3.127014879426466e-8im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], Union{Missing, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.990881745428078 + 0.0im, 0.07875643417749231 - 0.10573591023159151im, 0.016495370942397985 - 0.009915244984273321im, 0.009526340582440332 - 0.006603710824401609im, 0.00034011304559081705 + 0.0033262787573138373im, 0.0009342680022905138 + 0.00031803631616526845im, 0.0002779306071036652 - 0.00040092487679266407im, 0.00031140862444411696 + 4.13311102748866e-5im, 0.0 + 0.0im, 0.01574083730770774 + 0.0im … 9.899010396612523e-7 + 0.0im, -4.727532519985733e-7 + 8.302972373249084e-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, 4.184978618230013e-7 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.990881745428078 + 0.0im, 0.07875643417749231 - 0.10573591023159151im, 0.016495370942397985 - 0.009915244984273321im, 0.009526340582440332 - 0.006603710824401609im, 0.00034011304559081705 + 0.0033262787573138373im, 0.0009342680022905138 + 0.00031803631616526845im, 0.0002779306071036652 - 0.00040092487679266407im, 0.00031140862444411696 + 4.13311102748866e-5im, 0.0 + 0.0im, 0.01574083730770774 + 0.0im … 9.899010396612523e-7 + 0.0im, -4.727532519985733e-7 + 8.302972373249084e-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, 4.184978618230013e-7 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.990881745428078 + 0.0im, 0.07875643417749231 - 0.10573591023159151im, 0.016495370942397985 - 0.009915244984273321im, 0.009526340582440332 - 0.006603710824401609im, 0.00034011304559081705 + 0.0033262787573138373im, 0.0009342680022905138 + 0.00031803631616526845im, 0.0002779306071036652 - 0.00040092487679266407im, 0.00031140862444411696 + 4.13311102748866e-5im, 0.0 + 0.0im, 0.01574083730770774 + 0.0im … 9.899010396612523e-7 + 0.0im, -4.727532519985733e-7 + 8.302972373249084e-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, 4.184978618230013e-7 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.990881745428078 + 0.0im, 0.07875643417749231 - 0.10573591023159151im, 0.016495370942397985 - 0.009915244984273321im, 0.009526340582440332 - 0.006603710824401609im, 0.00034011304559081705 + 0.0033262787573138373im, 0.0009342680022905138 + 0.00031803631616526845im, 0.0002779306071036652 - 0.00040092487679266407im, 0.00031140862444411696 + 4.13311102748866e-5im, 0.0 + 0.0im, 0.01574083730770774 + 0.0im … 9.899010396612523e-7 + 0.0im, -4.727532519985733e-7 + 8.302972373249084e-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, 4.184978618230013e-7 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.990881745428078 + 0.0im, 0.07875643417749231 - 0.10573591023159151im, 0.016495370942397985 - 0.009915244984273321im, 0.009526340582440332 - 0.006603710824401609im, 0.00034011304559081705 + 0.0033262787573138373im, 0.0009342680022905138 + 0.00031803631616526845im, 0.0002779306071036652 - 0.00040092487679266407im, 0.00031140862444411696 + 4.13311102748866e-5im, 0.0 + 0.0im, 0.01574083730770774 + 0.0im … 9.899010396612523e-7 + 0.0im, -4.727532519985733e-7 + 8.302972373249084e-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, 4.184978618230013e-7 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.990881745428078 + 0.0im, 0.07875643417749231 - 0.10573591023159151im, 0.016495370942397985 - 0.009915244984273321im, 0.009526340582440332 - 0.006603710824401609im, 0.00034011304559081705 + 0.0033262787573138373im, 0.0009342680022905138 + 0.00031803631616526845im, 0.0002779306071036652 - 0.00040092487679266407im, 0.00031140862444411696 + 4.13311102748866e-5im, 0.0 + 0.0im, 0.01574083730770774 + 0.0im … 9.899010396612523e-7 + 0.0im, -4.727532519985733e-7 + 8.302972373249084e-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, 4.184978618230013e-7 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.990881745428078 + 0.0im, 0.07875643417749231 - 0.10573591023159151im, 0.016495370942397985 - 0.009915244984273321im, 0.009526340582440332 - 0.006603710824401609im, 0.00034011304559081705 + 0.0033262787573138373im, 0.0009342680022905138 + 0.00031803631616526845im, 0.0002779306071036652 - 0.00040092487679266407im, 0.00031140862444411696 + 4.13311102748866e-5im, 0.0 + 0.0im, 0.01574083730770774 + 0.0im … 9.899010396612523e-7 + 0.0im, -4.727532519985733e-7 + 8.302972373249084e-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, 4.184978618230013e-7 + 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.48501675810814504 + 0.5731126436777181im, 0.08933646107713768 - 0.020948773315990148im, 0.01377634202461489 + 0.0024404973830072334im, 0.008823956854031631 + 5.748132396112297e-5im, -0.001142561061583685 + 0.002536908478316167im, 0.000247980737842828 + 0.0008246909932509584im, 0.0003644360376795267 - 0.00011526359179561324im, 0.00015210709497265603 + 7.713351516411572e-5im, 0.5010572386257608 + 0.41149694011139726im, 0.0807252664158554 - 0.02117603034489953im … -0.2661887676112995 - 0.03935520793087025im, 0.045242571721660685 + 0.0008874667256588684im, -0.0010487851219224686 + 0.005360531574106233im, 0.0027105425840741604 - 0.02168923300683373im, 0.2534141967212782 + 0.03574045685772992im, -0.5174123690869563 + 0.014371158547127637im, 0.197153516344929 + 0.15184273995492106im, -0.02729532623331422 - 0.12723221098842633im, -0.0484061530353143 - 0.16705343937701864im, -0.035755446400321064 + 0.0747199726613896im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5167782178794831 + 0.4912321932223086im, -0.3322086203907655 - 0.6095138994809259im, -0.03892938700014459 + 0.07126951976220124im, -0.03172275209608831 + 0.04558339317162215im, 0.004715768475230919 + 0.0017939778905405723im, -0.00254306513440464 - 0.0016136065344747159im, -0.0022127490573292503 - 0.0011141553603486595im, -0.0026211057805129597 + 0.005706625417629355im, 0.48243428520363374 + 0.5085663994986035im, 0.3055064927239579 + 0.6363850927699256im … -0.06680292934896069 - 0.07534588381212845im, -0.01998995063181397 + 0.02243975727415677im, -4.429532919155177e-10 + 2.264014865900205e-9im, 5.907271683156466e-8 - 5.909494687846413e-7im, 0.000495881388938951 + 7.507788650758049e-5im, -0.003988282410201097 + 0.00044351313027538687im, -0.007852319309065063 + 0.05280661613418992im, 0.031010286589386385 + 0.018430187437930824im, -0.04735118226649065 - 0.012363602597871254im, -0.013028825593430623 - 0.0141419909676196im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.990881745428078 + 0.0im, 0.07875643417749231 - 0.10573591023159151im, 0.016495370942397985 - 0.009915244984273321im, 0.009526340582440332 - 0.006603710824401609im, 0.00034011304559081705 + 0.0033262787573138373im, 0.0009342680022905138 + 0.00031803631616526845im, 0.0002779306071036652 - 0.00040092487679266407im, 0.00031140862444411696 + 4.13311102748866e-5im, 0.0 + 0.0im, 0.01574083730770774 + 0.0im … 9.899010396612523e-7 + 0.0im, -4.727532519985733e-7 + 8.302972373249084e-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, 4.184978618230013e-7 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5120661025316339 + 0.48675301303058405im, 0.08741125094042004 - 0.025548578492484705im, 0.013382488237247704 + 0.0015357154745259693im, 0.008358911521761346 + 0.0005777640208124206im, -0.0016200232151263017 + 0.0019404200264260545im, 0.00035666960747464697 + 0.0006867334883237594im, 0.0003757535159166887 - 4.4677116553158854e-5im, 0.00012204213898170533 + 0.00015220486675314253im, 0.47803532657692344 + 0.5039291616012493im, 0.09657746319020975 - 0.0009405178955955389im … -1.1139943008662863e-7 - 1.6470070370668825e-8im, 1.893391952888878e-8 + 3.7140292712729655e-10im, -4.389143310363289e-10 + 2.243371001998146e-9im, 1.134356275815229e-9 - 9.076897637940782e-9im, 1.0605329948344835e-7 + 1.4957304775537196e-8im, -2.165359701436648e-7 + 6.014299123892266e-9im, 8.250832504123893e-8 + 6.354586200448048e-8im, -1.1423035666403277e-8 - 5.324640825366939e-8im, -2.025787154435602e-8 - 6.991150718946067e-8im, -1.4963577867061294e-8 + 3.127014879426466e-8im], (ℂ^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.48501675810814504 + 0.5731126436777181im, 0.08933646107713768 - 0.020948773315990148im, 0.01377634202461489 + 0.0024404973830072334im, 0.008823956854031631 + 5.748132396112297e-5im, -0.001142561061583685 + 0.002536908478316167im, 0.000247980737842828 + 0.0008246909932509584im, 0.0003644360376795267 - 0.00011526359179561324im, 0.00015210709497265603 + 7.713351516411572e-5im, 0.5010572386257608 + 0.41149694011139726im, 0.0807252664158554 - 0.02117603034489953im … -0.2661887676112995 - 0.03935520793087025im, 0.045242571721660685 + 0.0008874667256588684im, -0.0010487851219224686 + 0.005360531574106233im, 0.0027105425840741604 - 0.02168923300683373im, 0.2534141967212782 + 0.03574045685772992im, -0.5174123690869563 + 0.014371158547127637im, 0.197153516344929 + 0.15184273995492106im, -0.02729532623331422 - 0.12723221098842633im, -0.0484061530353143 - 0.16705343937701864im, -0.035755446400321064 + 0.0747199726613896im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5167782178794831 + 0.4912321932223086im, -0.3322086203907655 - 0.6095138994809259im, -0.03892938700014459 + 0.07126951976220124im, -0.03172275209608831 + 0.04558339317162215im, 0.004715768475230919 + 0.0017939778905405723im, -0.00254306513440464 - 0.0016136065344747159im, -0.0022127490573292503 - 0.0011141553603486595im, -0.0026211057805129597 + 0.005706625417629355im, 0.48243428520363374 + 0.5085663994986035im, 0.3055064927239579 + 0.6363850927699256im … -0.06680292934896069 - 0.07534588381212845im, -0.01998995063181397 + 0.02243975727415677im, -4.429532919155177e-10 + 2.264014865900205e-9im, 5.907271683156466e-8 - 5.909494687846413e-7im, 0.000495881388938951 + 7.507788650758049e-5im, -0.003988282410201097 + 0.00044351313027538687im, -0.007852319309065063 + 0.05280661613418992im, 0.031010286589386385 + 0.018430187437930824im, -0.04735118226649065 - 0.012363602597871254im, -0.013028825593430623 - 0.0141419909676196im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.990881745428078 + 0.0im, 0.07875643417749231 - 0.10573591023159151im, 0.016495370942397985 - 0.009915244984273321im, 0.009526340582440332 - 0.006603710824401609im, 0.00034011304559081705 + 0.0033262787573138373im, 0.0009342680022905138 + 0.00031803631616526845im, 0.0002779306071036652 - 0.00040092487679266407im, 0.00031140862444411696 + 4.13311102748866e-5im, 0.0 + 0.0im, 0.01574083730770774 + 0.0im … 9.899010396612523e-7 + 0.0im, -4.727532519985733e-7 + 8.302972373249084e-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, 4.184978618230013e-7 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5120661025316339 + 0.48675301303058405im, 0.08741125094042004 - 0.025548578492484705im, 0.013382488237247704 + 0.0015357154745259693im, 0.008358911521761346 + 0.0005777640208124206im, -0.0016200232151263017 + 0.0019404200264260545im, 0.00035666960747464697 + 0.0006867334883237594im, 0.0003757535159166887 - 4.4677116553158854e-5im, 0.00012204213898170533 + 0.00015220486675314253im, 0.47803532657692344 + 0.5039291616012493im, 0.09657746319020975 - 0.0009405178955955389im … -1.1139943008662863e-7 - 1.6470070370668825e-8im, 1.893391952888878e-8 + 3.7140292712729655e-10im, -4.389143310363289e-10 + 2.243371001998146e-9im, 1.134356275815229e-9 - 9.076897637940782e-9im, 1.0605329948344835e-7 + 1.4957304775537196e-8im, -2.165359701436648e-7 + 6.014299123892266e-9im, 8.250832504123893e-8 + 6.354586200448048e-8im, -1.1423035666403277e-8 - 5.324640825366939e-8im, -2.025787154435602e-8 - 6.991150718946067e-8im, -1.4963577867061294e-8 + 3.127014879426466e-8im], (ℂ^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.318552243293285 + 0.2088535897679822im, 0.0284139648190921 + 0.0026323971356361654im, 0.10006834963889863 + 0.23274938549135518im, 0.18644826427408376 + 0.1871581471582612im, 0.313143722301232 + 0.16601339320442732im, 0.0739696484522929 + 0.11413162323222371im, 0.24840162504401586 + 0.07659845405951243im, 0.06257433113843625 + 0.11850461611592128im, 0.13742253900258222 + 0.12953683245124573im, 0.20998219115424935 + 0.03639144467061506im … 0.0874341646780079 - 0.29401007921348826im, 0.1533509002800375 + 0.0838117474739678im, -0.03962991212091384 - 0.03852903844015659im, -0.06237981402511272 + 0.2627671940616333im, 0.010673585373540437 - 0.08547882266009987im, 0.33500782565807313 - 0.05913639637494198im, -0.13804119929617004 + 0.16153356304125854im, 0.18338352165906302 - 0.15503375076170858im, -0.03218735371665755 - 0.12621830366134856im, -0.00036369530755657464 - 0.04810291110762993im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.3777617706233958 + 0.4266165365527228im, 0.14866888188653973 + 0.10336309702599533im, 0.1413013378374405 + 0.13313263485858806im, 0.05563268829548611 + 0.08758705636597831im, 0.054846003995096225 + 0.06923046987932381im, 0.06020954026843033 + 0.07149499455309144im, 0.03605769711290473 + 0.017388774674446005im, 0.03443665323178986 + 0.00673985016784097im, 0.41061541775656096 + 0.5361015509752501im, 0.19176257703404329 + 0.13768474098691189im … -0.05084630796891806 + 0.016513291287659264im, 0.04771831993352249 + 0.0825707978909212im, 0.12035059206415386 - 0.1045982397629483im, -0.15181602057861515 + 0.014400548100259477im, -0.04726175728384496 + 0.15337243979292964im, 0.15346247463974402 + 0.18063993661315747im, -0.0358049749130942 + 0.15067110351426527im, 0.3462877864524977 + 0.1966051018299097im, 0.01951900045766102 + 0.16192882682984566im, -0.20584833125770305 + 0.01785085780691812im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.2967655773510067 + 0.4784370812018029im, 0.018933782181850066 + 0.0591445815511784im, 0.010618008046520192 + 0.020100732018135038im, 0.008727711895711358 + 0.006666946443204019im, 0.0038192936431403063 + 0.008490646023173435im, 0.002154973082093003 + 0.00429147146001266im, 0.010870781243520866 - 0.0016000316801320887im, 0.0009800059436943062 + 0.007150713006508553im, 0.35887974484254637 + 0.7349576646382738im, 0.041730117523796594 + 0.07549747880137457im … 0.04569465945246277 - 0.11296626116301788im, 0.02165276156196605 + 0.12490796004525943im, 0.0060870108512012105 - 0.02310173809002379im, -0.04813743271188197 + 0.23149596571911807im, -0.3033458702675111 + 0.15942907900093595im, 0.2791748001078903 - 0.2834720454888829im, 0.017696652612913512 - 0.01000242161825328im, 0.06924261309082119 - 0.48942607896257045im, 0.030449492771776096 + 0.14779158008110477im, 0.15710015060515686 + 0.09046499397785315im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5944462017952472 + 0.38434797154393807im, 0.11163097099842517 + 0.037920326256291145im, 0.018302053003402437 + 0.0029515143516556886im, 0.008197145219342613 + 0.0027585939018361927im, 0.0030286598366342857 - 0.00045624830427058846im, 0.0010842672613105321 + 0.0015835744079940193im, -0.0003989855331715007 + 0.0002985526115087629im, 0.0013649091885953066 + 0.0008440520317197584im, 0.4727851752616788 + 0.47793343534552724im, 0.14635775224012285 + 0.1031980384732919im … -0.16829310659961672 - 0.03999348107231458im, 0.2121809870211877 + 0.09813439065675253im, 0.0008774249581381399 + 0.006578736707191078im, -0.034345958424655154 - 0.01284336348155761im, 0.270884737579106 - 0.16382669117338702im, -0.3939468972429322 - 0.009407035422664944im, -0.26738374672215837 - 0.05682225622843169im, 0.13382002448438765 - 0.11141468958468037im, -0.11748602934222305 + 0.01885742545349442im, 0.13154604178829646 - 0.007565302463724298im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.3552153706353687 + 0.5133019441160224im, -0.009448114785634704 + 0.0591087862042692im, 0.017600911773251234 + 0.0028477412607177755im, -0.0014706899093283885 + 0.001997051679214046im, 0.0014739739744917208 + 0.000823990307804341im, -0.00017234614173634692 + 0.0010138637243660366im, 4.5952066166324e-5 + 0.00036699791482203256im, 0.0004674573977331441 + 0.00012524839103791288im, 0.551525544488244 + 0.547929305004638im, -0.011334658514064766 + 0.031361444872069565im … 0.1599338326855883 + 0.014573741119617012im, 0.11131251486936322 + 0.051441642487843796im, -0.0017783681719820974 - 0.001114756891808455im, 0.02037775352399293 - 0.003350892961369152im, -0.08774539688785916 + 0.03062685983934489im, -0.3937365174657883 + 0.18182735517849805im, -0.0797424446217525 + 0.05398371054172056im, 0.03618432994713692 + 0.13293326381526088im, -0.1808383201098914 - 0.2899089261476731im, -0.05732555070745106 - 0.00862083843922349im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5271104381481875 + 0.5508534032558338im, 0.0445046100788565 - 0.052612361183518364im, 0.030076969715440504 + 0.03216889726974202im, 0.009529898681733302 - 0.0014756863055830909im, -0.00035943327823149203 - 0.001469627877124421im, 0.0019694092926044434 + 0.0006846747104673636im, 0.0001903383674606669 + 0.00019123633328980004im, 0.00012020139040519122 + 7.887532281556015e-5im, 0.5417421469589894 + 0.3356867378534827im, 0.007255483445247957 - 0.05973695399580353im … -0.08544309113203757 - 0.26919172794436735im, -0.005743791365548034 - 0.0002009501124099252im, 0.0025065228083082647 + 0.001527114913667471im, 0.034344015983388626 + 0.029776208541805987im, 0.06459059970089306 - 0.0712018976748307im, 0.1740797299288077 + 0.10222784839288715im, 0.07240906380618467 + 0.5000131729791071im, -0.3972267390949842 - 0.2568942051472364im, -0.17258809017207583 - 0.13539982667967376im, 0.060345093429957586 + 0.0023817554659131303im], (ℂ^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.36477278651442996 + 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.36712106782534826 - 0.04322122682199897im, 0.01304802942666682 + 0.0im … 0.0010693089699770296 + 0.0im, 0.0 + 0.0im, 0.37798223993350966 + 0.038372193395955705im, 0.007403792369676543 - 0.016341910858962645im, 0.02020967813023656 + 0.0007762947765452095im, 0.001099640768593293 + 0.0023506104119054303im, 0.0011429019167614805 + 0.0014133166167780876im, 0.000778022905533198 + 0.0006979357363636235im, 0.00025944463395260564 - 0.000795543305611475im, 0.0005718892388532331 + 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.48501675810814504 + 0.5731126436777181im, 0.08933646107713768 - 0.020948773315990148im, 0.01377634202461489 + 0.0024404973830072334im, 0.008823956854031631 + 5.748132396112297e-5im, -0.001142561061583685 + 0.002536908478316167im, 0.000247980737842828 + 0.0008246909932509584im, 0.0003644360376795267 - 0.00011526359179561324im, 0.00015210709497265603 + 7.713351516411572e-5im, 0.5010572386257608 + 0.41149694011139726im, 0.0807252664158554 - 0.02117603034489953im … -0.2661887676112995 - 0.03935520793087025im, 0.045242571721660685 + 0.0008874667256588684im, -0.0010487851219224686 + 0.005360531574106233im, 0.0027105425840741604 - 0.02168923300683373im, 0.2534141967212782 + 0.03574045685772992im, -0.5174123690869563 + 0.014371158547127637im, 0.197153516344929 + 0.15184273995492106im, -0.02729532623331422 - 0.12723221098842633im, -0.0484061530353143 - 0.16705343937701864im, -0.035755446400321064 + 0.0747199726613896im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5167782178794831 + 0.4912321932223086im, -0.3322086203907655 - 0.6095138994809259im, -0.03892938700014459 + 0.07126951976220124im, -0.03172275209608831 + 0.04558339317162215im, 0.004715768475230919 + 0.0017939778905405723im, -0.00254306513440464 - 0.0016136065344747159im, -0.0022127490573292503 - 0.0011141553603486595im, -0.0026211057805129597 + 0.005706625417629355im, 0.48243428520363374 + 0.5085663994986035im, 0.3055064927239579 + 0.6363850927699256im … -0.06680292934896069 - 0.07534588381212845im, -0.01998995063181397 + 0.02243975727415677im, -4.429532919155177e-10 + 2.264014865900205e-9im, 5.907271683156466e-8 - 5.909494687846413e-7im, 0.000495881388938951 + 7.507788650758049e-5im, -0.003988282410201097 + 0.00044351313027538687im, -0.007852319309065063 + 0.05280661613418992im, 0.031010286589386385 + 0.018430187437930824im, -0.04735118226649065 - 0.012363602597871254im, -0.013028825593430623 - 0.0141419909676196im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.990881745428078 + 0.0im, 0.07875643417749231 - 0.10573591023159151im, 0.016495370942397985 - 0.009915244984273321im, 0.009526340582440332 - 0.006603710824401609im, 0.00034011304559081705 + 0.0033262787573138373im, 0.0009342680022905138 + 0.00031803631616526845im, 0.0002779306071036652 - 0.00040092487679266407im, 0.00031140862444411696 + 4.13311102748866e-5im, 0.0 + 0.0im, 0.01574083730770774 + 0.0im … 9.899010396612523e-7 + 0.0im, -4.727532519985733e-7 + 8.302972373249084e-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, 4.184978618230013e-7 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5120661025316339 + 0.48675301303058405im, 0.08741125094042004 - 0.025548578492484705im, 0.013382488237247704 + 0.0015357154745259693im, 0.008358911521761346 + 0.0005777640208124206im, -0.0016200232151263017 + 0.0019404200264260545im, 0.00035666960747464697 + 0.0006867334883237594im, 0.0003757535159166887 - 4.4677116553158854e-5im, 0.00012204213898170533 + 0.00015220486675314253im, 0.47803532657692344 + 0.5039291616012493im, 0.09657746319020975 - 0.0009405178955955389im … -1.1139943008662863e-7 - 1.6470070370668825e-8im, 1.893391952888878e-8 + 3.7140292712729655e-10im, -4.389143310363289e-10 + 2.243371001998146e-9im, 1.134356275815229e-9 - 9.076897637940782e-9im, 1.0605329948344835e-7 + 1.4957304775537196e-8im, -2.165359701436648e-7 + 6.014299123892266e-9im, 8.250832504123893e-8 + 6.354586200448048e-8im, -1.1423035666403277e-8 - 5.324640825366939e-8im, -2.025787154435602e-8 - 6.991150718946067e-8im, -1.4963577867061294e-8 + 3.127014879426466e-8im], (ℂ^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.48501675810814504 + 0.5731126436777181im, 0.08933646107713768 - 0.020948773315990148im, 0.01377634202461489 + 0.0024404973830072334im, 0.008823956854031631 + 5.748132396112297e-5im, -0.001142561061583685 + 0.002536908478316167im, 0.000247980737842828 + 0.0008246909932509584im, 0.0003644360376795267 - 0.00011526359179561324im, 0.00015210709497265603 + 7.713351516411572e-5im, 0.5010572386257608 + 0.41149694011139726im, 0.0807252664158554 - 0.02117603034489953im … -0.2661887676112995 - 0.03935520793087025im, 0.045242571721660685 + 0.0008874667256588684im, -0.0010487851219224686 + 0.005360531574106233im, 0.0027105425840741604 - 0.02168923300683373im, 0.2534141967212782 + 0.03574045685772992im, -0.5174123690869563 + 0.014371158547127637im, 0.197153516344929 + 0.15184273995492106im, -0.02729532623331422 - 0.12723221098842633im, -0.0484061530353143 - 0.16705343937701864im, -0.035755446400321064 + 0.0747199726613896im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5167782178794831 + 0.4912321932223086im, -0.3322086203907655 - 0.6095138994809259im, -0.03892938700014459 + 0.07126951976220124im, -0.03172275209608831 + 0.04558339317162215im, 0.004715768475230919 + 0.0017939778905405723im, -0.00254306513440464 - 0.0016136065344747159im, -0.0022127490573292503 - 0.0011141553603486595im, -0.0026211057805129597 + 0.005706625417629355im, 0.48243428520363374 + 0.5085663994986035im, 0.3055064927239579 + 0.6363850927699256im … -0.06680292934896069 - 0.07534588381212845im, -0.01998995063181397 + 0.02243975727415677im, -4.429532919155177e-10 + 2.264014865900205e-9im, 5.907271683156466e-8 - 5.909494687846413e-7im, 0.000495881388938951 + 7.507788650758049e-5im, -0.003988282410201097 + 0.00044351313027538687im, -0.007852319309065063 + 0.05280661613418992im, 0.031010286589386385 + 0.018430187437930824im, -0.04735118226649065 - 0.012363602597871254im, -0.013028825593430623 - 0.0141419909676196im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.990881745428078 + 0.0im, 0.07875643417749231 - 0.10573591023159151im, 0.016495370942397985 - 0.009915244984273321im, 0.009526340582440332 - 0.006603710824401609im, 0.00034011304559081705 + 0.0033262787573138373im, 0.0009342680022905138 + 0.00031803631616526845im, 0.0002779306071036652 - 0.00040092487679266407im, 0.00031140862444411696 + 4.13311102748866e-5im, 0.0 + 0.0im, 0.01574083730770774 + 0.0im … 9.899010396612523e-7 + 0.0im, -4.727532519985733e-7 + 8.302972373249084e-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, 4.184978618230013e-7 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5120661025316339 + 0.48675301303058405im, 0.08741125094042004 - 0.025548578492484705im, 0.013382488237247704 + 0.0015357154745259693im, 0.008358911521761346 + 0.0005777640208124206im, -0.0016200232151263017 + 0.0019404200264260545im, 0.00035666960747464697 + 0.0006867334883237594im, 0.0003757535159166887 - 4.4677116553158854e-5im, 0.00012204213898170533 + 0.00015220486675314253im, 0.47803532657692344 + 0.5039291616012493im, 0.09657746319020975 - 0.0009405178955955389im … -1.1139943008662863e-7 - 1.6470070370668825e-8im, 1.893391952888878e-8 + 3.7140292712729655e-10im, -4.389143310363289e-10 + 2.243371001998146e-9im, 1.134356275815229e-9 - 9.076897637940782e-9im, 1.0605329948344835e-7 + 1.4957304775537196e-8im, -2.165359701436648e-7 + 6.014299123892266e-9im, 8.250832504123893e-8 + 6.354586200448048e-8im, -1.1423035666403277e-8 - 5.324640825366939e-8im, -2.025787154435602e-8 - 6.991150718946067e-8im, -1.4963577867061294e-8 + 3.127014879426466e-8im], (ℂ^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.11125906328505764 + 0.2550510759898386im, 0.28762450188383376 + 0.0809082895389609im, 0.035694918144105886 + 0.026926041091612552im, 0.24363856390395125 + 0.10857147908270011im, 0.16583338947496462 + 0.13264125899334042im, 0.26534701571143104 + 0.22639908855593935im, 0.2508610402287447 + 0.2746885466096476im, 0.2267287142000796 + 0.052215800915650014im, 0.056863988205994274 + 0.00799642007921487im, 0.08132446098628164 + 0.10366407548222963im … -0.029653060835852906 + 0.3882600723773481im, -0.05568387011609066 + 0.32521907833114544im, 0.17513748515946911 + 0.02656911345454693im, 0.2085115273840148 + 0.12789003015828604im, -0.26477971337488587 + 0.03135808092509426im, 0.22580642874840048 + 0.05444074468174086im, -0.12637271880285225 - 0.1586486395735462im, -0.06805582702949564 - 0.20476607928656979im, 0.2589377291874611 - 0.1280965452286006im, -0.01876866592262566 - 0.21226536407535482im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.4314307719054318 + 0.5274470858780805im, 0.16093305301444893 + 0.1831124813011617im, 0.09756552520244408 + 0.09160641425449169im, 0.02718795307654594 + 0.015868911240062088im, 0.03209740529476535 + 0.046025339624391357im, 0.028046850872965292 + 0.019463862374328133im, 0.011295483214701797 + 0.05085349556199449im, 0.006961444378302192 + 0.012338107550767927im, 0.3489650622565417 + 0.5020839619412585im, 0.13105457657495026 + 0.15847131209878704im … -0.01636364980966483 - 0.042522377163980135im, 0.3870133387043342 + 0.07161062293898668im, 0.0022892345706838624 - 0.10195251090725871im, 0.005286047200548705 + 0.21879467301536668im, -0.00023784268333346473 + 0.07787732225140165im, 0.2619985132049152 + 0.21048112455902943im, -0.41249745293122647 - 0.21738373973829783im, 0.13002922417434448 - 0.22013987774923008im, -0.34264175364709504 + 0.13273965453206948im, 0.01696588038065909 - 0.27918065483196675im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.6049858782149311 + 0.5544586628347584im, 0.024000567988010122 - 0.006193183013557732im, 0.027664844644721152 + 0.04225324926474918im, 0.03308373528648394 + 0.02435792533942754im, 0.005360921560548451 + 0.020518286815355072im, 0.016144836176727476 + 0.00502044396506301im, 0.013706533909026267 + 0.004449696367403198im, 0.005042383785990472 + 0.004149256407205837im, 0.4039376815443852 + 0.39209445396849235im, 0.037476053527581515 - 0.0016227853774663686im … 0.4732276045177898 + 0.09414735068613997im, 0.11280860317188357 - 0.130893166395741im, -0.013011778212449199 + 0.004682392304376171im, -0.20553541180703078 - 0.15281596638057243im, 0.08454097049440346 - 0.11185141050209906im, 0.04632401037307082 - 0.12790654269032192im, 0.14085583200229546 + 0.003901605001061126im, 0.21662064498325465 + 0.19486901748335073im, -0.10868885579800192 + 0.029779605153841582im, -0.028139091467695214 - 0.0822092480320789im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.32264732864262324 + 0.6419044528611433im, 0.10033212167239958 + 0.018669660780714654im, 0.012809668010793694 + 0.004101240117805925im, 0.0038006028308524304 + 0.007376913897303614im, 0.0027696206826578577 + 0.005244171245975997im, 9.358639466273955e-5 + 0.0019084070489041143im, 0.0014942498553740355 + 0.0005716241736640623im, 1.8207971062602138e-5 + 0.0008205231574431141im, 0.4519295308770395 + 0.5109580516773375im, 0.08747015052207853 - 0.00133175179043947im … 0.178508166273153 - 0.06800822698707609im, 0.2379984887233122 - 0.057121538721790446im, -0.00017291299750156475 - 0.016828915346597334im, 0.0006313542968070102 + 0.0742264506949023im, 0.4834312753753868 + 0.14911052410579703im, -0.004313413270220438 + 0.08690802497597863im, -0.29197267650215497 - 0.2361754850201645im, -0.3701818912964176 - 0.04999398851769876im, 0.07362012888439282 - 0.16367302996138283im, -0.06187499995305122 - 0.13234518344600282im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.42278282650572163 + 0.4392758502101009im, 0.022018954360798752 + 0.04456641400310954im, -0.0029039821076467546 + 0.008529656877477422im, 0.0010699784904931436 + 0.0010842985466613113im, 0.0020971358982619574 - 0.0005515255834280863im, 0.0007905674408241473 + 0.0005954750135990371im, 0.00026462117054726504 + 0.000211977443784767im, 0.00016152867934248724 + 0.00025403039211237515im, 0.6041774213641101 + 0.5078755785246368im, 0.0378860212393424 + 0.03249136954382855im … -0.09697997624472383 + 0.004384815924202377im, -0.002792911058282721 - 0.006292732431568109im, -0.0004111932036494903 + 0.019258021708443582im, 0.08322765609327717 - 0.21874935435616805im, -0.3341376904467737 - 0.13946829734929267im, -0.2003169770219111 + 0.7190285287458095im, 0.15993819357756225 + 0.23180310514765326im, 0.03987721289168848 - 0.06382910979459362im, -0.057759093133919685 + 0.09207363489466672im, 0.04944858884652493 + 0.08434791265929734im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.556443314701796 + 0.5126885707591298im, 0.0898580029485712 + 0.05462752260508219im, 0.010942448156136495 + 0.013943050838794015im, 0.009396972016057745 + 0.0036987141592682155im, 0.0014207965726043467 + 0.002858904718045091im, 0.0007195894174128015 + 0.0005617116845018559im, 0.00028663013601217544 + 0.00030088421920665415im, 3.649948929171035e-5 + 9.879489483717527e-6im, 0.5034695724972017 + 0.3923243775535108im, 0.08761590581567899 + 0.025738060304536018im … -0.0501785888074161 + 0.004719253388217604im, -0.02745838399521361 - 0.004854912492594986im, -0.0008745619806267979 - 0.0018163932459695949im, -0.04994558189544135 - 0.07864326177751667im, 0.1240337598254728 + 0.3837760077985656im, 0.44607982164483645 + 0.17492985897988236im, -0.185975349383471 + 0.23416594252175096im, 0.0997970324705142 + 0.0038602856772990543im, -0.0031487420579199986 + 0.007818272460149434im, -0.038460303874794904 + 0.004654780434208534im], (ℂ^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.29957211096473757 + 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.34560292507667334 - 0.04428973057057472im, 0.06953408105332205 + 0.0im … 0.0024006399328761617 + 0.0im, 0.0 + 0.0im, 0.38175149431116445 + 0.022843161402178597im, -0.016203671840932823 - 0.052622863748065914im, 0.013698753484296878 + 0.002511070106852463im, 0.014336361313609212 - 0.016423099906736984im, 0.00439260415985588 - 0.0010455017277028907im, 0.0023170754631646967 - 0.0015819393431024445im, -0.0002096384748274391 - 0.0002230930771149058im, 0.001323083843626118 + 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.48501675810814504 + 0.5731126436777181im, 0.08933646107713768 - 0.020948773315990148im, 0.01377634202461489 + 0.0024404973830072334im, 0.008823956854031631 + 5.748132396112297e-5im, -0.001142561061583685 + 0.002536908478316167im, 0.000247980737842828 + 0.0008246909932509584im, 0.0003644360376795267 - 0.00011526359179561324im, 0.00015210709497265603 + 7.713351516411572e-5im, 0.5010572386257608 + 0.41149694011139726im, 0.0807252664158554 - 0.02117603034489953im … -0.2661887676112995 - 0.03935520793087025im, 0.045242571721660685 + 0.0008874667256588684im, -0.0010487851219224686 + 0.005360531574106233im, 0.0027105425840741604 - 0.02168923300683373im, 0.2534141967212782 + 0.03574045685772992im, -0.5174123690869563 + 0.014371158547127637im, 0.197153516344929 + 0.15184273995492106im, -0.02729532623331422 - 0.12723221098842633im, -0.0484061530353143 - 0.16705343937701864im, -0.035755446400321064 + 0.0747199726613896im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5167782178794831 + 0.4912321932223086im, -0.3322086203907655 - 0.6095138994809259im, -0.03892938700014459 + 0.07126951976220124im, -0.03172275209608831 + 0.04558339317162215im, 0.004715768475230919 + 0.0017939778905405723im, -0.00254306513440464 - 0.0016136065344747159im, -0.0022127490573292503 - 0.0011141553603486595im, -0.0026211057805129597 + 0.005706625417629355im, 0.48243428520363374 + 0.5085663994986035im, 0.3055064927239579 + 0.6363850927699256im … -0.06680292934896069 - 0.07534588381212845im, -0.01998995063181397 + 0.02243975727415677im, -4.429532919155177e-10 + 2.264014865900205e-9im, 5.907271683156466e-8 - 5.909494687846413e-7im, 0.000495881388938951 + 7.507788650758049e-5im, -0.003988282410201097 + 0.00044351313027538687im, -0.007852319309065063 + 0.05280661613418992im, 0.031010286589386385 + 0.018430187437930824im, -0.04735118226649065 - 0.012363602597871254im, -0.013028825593430623 - 0.0141419909676196im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.990881745428078 + 0.0im, 0.07875643417749231 - 0.10573591023159151im, 0.016495370942397985 - 0.009915244984273321im, 0.009526340582440332 - 0.006603710824401609im, 0.00034011304559081705 + 0.0033262787573138373im, 0.0009342680022905138 + 0.00031803631616526845im, 0.0002779306071036652 - 0.00040092487679266407im, 0.00031140862444411696 + 4.13311102748866e-5im, 0.0 + 0.0im, 0.01574083730770774 + 0.0im … 9.899010396612523e-7 + 0.0im, -4.727532519985733e-7 + 8.302972373249084e-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, 4.184978618230013e-7 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5120661025316339 + 0.48675301303058405im, 0.08741125094042004 - 0.025548578492484705im, 0.013382488237247704 + 0.0015357154745259693im, 0.008358911521761346 + 0.0005777640208124206im, -0.0016200232151263017 + 0.0019404200264260545im, 0.00035666960747464697 + 0.0006867334883237594im, 0.0003757535159166887 - 4.4677116553158854e-5im, 0.00012204213898170533 + 0.00015220486675314253im, 0.47803532657692344 + 0.5039291616012493im, 0.09657746319020975 - 0.0009405178955955389im … -1.1139943008662863e-7 - 1.6470070370668825e-8im, 1.893391952888878e-8 + 3.7140292712729655e-10im, -4.389143310363289e-10 + 2.243371001998146e-9im, 1.134356275815229e-9 - 9.076897637940782e-9im, 1.0605329948344835e-7 + 1.4957304775537196e-8im, -2.165359701436648e-7 + 6.014299123892266e-9im, 8.250832504123893e-8 + 6.354586200448048e-8im, -1.1423035666403277e-8 - 5.324640825366939e-8im, -2.025787154435602e-8 - 6.991150718946067e-8im, -1.4963577867061294e-8 + 3.127014879426466e-8im], (ℂ^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.46012225644996696 + 0.5377055406061437im, 0.026666079160420447 + 0.050355225023174265im, 0.005759811795650602 + 0.008504622590908659im, -0.0050507686116162825 + 0.0029528542072904938im, -0.0018901432631729395 + 0.002756422945808837im, 0.0011715375674512772 - 0.00014976321600251597im, 0.0004316473574077134 + 0.0004275785776844794im, 0.0003143533369647941 + 0.00015954637983570905im, 0.5423973533388323 + 0.4431512044243317im, 0.06064395954083651 + 0.03668279151024505im … 0.0135951772068386 + 0.1555186383063532im, 0.07827246378057984 + 0.028384505062107553im, -0.009603423842534431 - 0.019744036784669794im, 0.011870386596942464 + 0.0022005148391383428im, 0.4398295486394154 + 0.19755254032352232im, -0.289860830482592 - 0.21681793585073406im, -0.3393140115758584 + 0.04329816840087134im, 0.10563800219086299 - 0.05013870251265734im, 0.04100347369106832 + 0.04725467338073591im, 0.03385263378934583 - 0.020613200577034668im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.4984961054673889 + 0.5011752196704636im, -0.49762447107613345 + 0.4672698939497609im, 0.03760983764976879 - 0.1653272211591515im, -0.07108917721031624 + 0.00020730519505913515im, -0.020622819499279223 - 0.008678585963597484im, 0.0028726661458254718 + 0.0028174816210349155im, -7.1561005973794635e-6 + 0.0049066224566813345im, 0.0009333639990658182 + 0.0006583877291904461im, 0.5136289455778765 + 0.48629733683921406im, 0.48411738728308795 - 0.48098831200136355im … -0.007784350815949067 - 0.008486377755031903im, 0.04486514695525745 - 0.017882580731191318im, -3.3932835071854235e-9 - 6.976377954906672e-9im, 8.624973966086515e-7 + 2.7025620422428197e-7im, 0.00044665611526092957 + 0.0001990955011749928im, -0.0006884141430072641 - 0.0006939075939481268im, -0.005805210337322479 + 0.0016761217066416632im, -0.004952108420654696 - 0.010527276161389716im, 0.00823823009369269 - 0.017245486218450484im, 0.027832503487377765 - 0.053306252391703515im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.996849938939486 + 0.0im, 0.07545058981303955 + 0.01592950831527427im, 0.015936797835917643 + 0.0019450362524992475im, -0.003153815824974385 + 0.005162761467531207im, -0.00047122500657485863 + 0.0041679981124274615im, 0.0015437201401740197 - 0.0012806247116554316im, 0.001024632198604222 + 0.0002079209211752549im, 0.0004280791951789001 - 7.035763034168358e-5im, 0.0 + 0.0im, 0.005015640774953445 + 0.0im … 1.7285871237807796e-6 + 0.0im, -5.276301143137757e-7 - 1.628302590401542e-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.522279670634617e-7 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.4969258122967381 + 0.4995964871264852im, 0.0271324447601235 + 0.048098421713993374im, 0.006897859498867793 + 0.008422689085086197im, -0.004566375054215993 + 0.001159871481858021im, -0.002575458685945847 + 0.0019158936354137358im, 0.0015123394625137388 + 0.00012376293767339918im, 0.0004018943607688393 + 0.0006952029995502864im, 0.000279102991299974 + 0.00018030185297741524im, 0.512010983036859 + 0.4847654705346053im, 0.033435288325545376 + 0.04246081285862736im … 4.788601629432271e-9 + 5.4778013811124584e-8im, 2.756975079448207e-8 + 9.99781651412868e-9im, -3.3825944569046802e-9 - 6.954401938290448e-9im, 4.181082139298407e-9 + 7.750828682826789e-10im, 1.5492026777170123e-7 + 6.95835296663768e-8im, -1.0209709105221006e-7 - 7.63693407676001e-8im, -1.195158844935125e-7 + 1.5250825833410327e-8im, 3.720865875633318e-8 - 1.7660253257232973e-8im, 1.4442570180745129e-8 + 1.664441753914449e-8im, 1.1923844379365134e-8 - 7.260545733920297e-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.61416111865256 + 0.4710912114915472im, 0.07839916879093949 + 0.08786969106637137im, 0.014181065970142204 + 0.004399188169087199im, 0.0016723384247553554 + 0.0006860121952222334im, 0.0012288423478786052 + 0.003036155662251106im, 0.0015812693384112814 + 0.00040151681165311715im, 3.265505108095465e-5 + 0.00014865885461951253im, 0.0003585443640761819 + 0.00022029805302135072im, 0.3997214649658365 + 0.4674772519096743im, 0.03796490149142479 + 0.08328507028153641im … 0.00023723659335920632 + 0.051840777200141235im, 0.09722059520487436 - 0.04065033958944673im, -0.005566739901915682 + 0.005093249757148005im, 0.08946768556975579 - 0.023733907813178093im, -0.09604446811296731 + 0.31434434101215075im, -0.1627864039804799 - 0.2802147204500842im, 0.3649995035167514 - 0.2598216398072737im, 0.044801816605913106 - 0.10669405160349076im, -0.022634755361372313 + 0.040721414975218924im, -0.02074928500054647 + 0.034978613874353234im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5196346113796075 + 0.4517880631524239im, 0.5016521778056557 + 0.3295212811447278im, 0.015246757367223206 + 0.39429429427370605im, -0.011680129575107341 - 0.0778548615233281im, 0.048633137840746146 + 0.035813427011527975im, -0.0007000861235209586 - 0.0029486986894670096im, 0.0040781026042397825 - 0.006853842714022232im, 0.0013526837857038717 + 0.0007151519086656686im, 0.5103879607608939 + 0.5151404097213723im, -0.4519232088256741 - 0.34780032954482637im … 0.015420783082827861 + 0.01640784216182778im, 0.041344288839641585 - 0.12192292490965286im, -2.1212590884680773e-9 + 1.940831173640791e-9im, 2.366039829395194e-5 - 6.357139767599405e-6im, -0.00013273735249880658 + 0.00029398216473157867im, -0.0027698044494391784 - 0.006557606080545877im, -0.01102124356895784 - 0.002268692549481931im, -0.007282789266382232 + 0.009029071775905072im, -0.0063326086714040435 + 0.00532401862259419im, 0.009599922667385968 + 0.010784475188576205im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9878898382459256 + 0.0im, 0.15027129307498577 + 0.03457522236933139im, 0.01578963194537596 - 0.00502791771770662im, 0.0012940742359206718 - 0.0006733670330747072im, 0.00289311101046294 + 0.0014346250490481075im, 0.002562960596517823 - 4.316916613853309e-5im, 0.0003087892930461083 + 0.0001599289226762842im, 0.0004489851873628832 - 3.096319135747275e-6im, 0.0 - 0.0im, 0.0014397692605952288 + 0.0im … 4.798460183601047e-7 + 0.0im, -2.530985761816671e-7 - 2.676259442989286e-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.764448015729923e-7 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.513341752182785 + 0.4463168366290882im, 0.063187755616342 + 0.08633169329631327im, 0.01059440281966655 + 0.005039832675102661im, 0.0008793733591216811 + 0.0002512678587428198im, 0.0009264035243420227 + 0.0020472890889387703im, 0.001452585484256887 + 0.0010107800218297374im, 9.722883414410481e-5 + 0.00020853220517351058im, 0.000253006506848867 + 0.0002213307513942578im, 0.5042070799987473 + 0.5089019760335864im, 0.058234899471682915 + 0.09455684049864255im … 8.930648231295909e-11 + 1.951519108649687e-8im, 3.6598187670707136e-8 - 1.5302609020624027e-8im, -2.095570297785108e-9 + 1.9173273941912722e-9im, 3.367964514150159e-8 - 8.934506217283519e-9im, -3.615544074096957e-8 + 1.1833329307791212e-7im, -6.128009554521272e-8 - 1.0548537483766347e-7im, 1.374021656756042e-7 - 9.780850564161862e-8im, 1.6865410962322553e-8 - 4.016442108489468e-8im, -8.520735990665024e-9 + 1.5329364980117766e-8im, -7.810960474812182e-9 + 1.316751735922922e-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.460122+0.537706im … -0.00418846+0.0183712im
0.0266661+0.0503552im -0.0128468-0.0733765im
0.00575981+0.00850462im 0.172325-0.0646778im
-0.00505077+0.00295285im -0.465859+0.265069im
-0.00189014+0.00275642im -0.208945+0.142188im
0.00117154-0.000149763im … 0.212395-0.17983im
0.000431647+0.000427579im 0.0135952+0.155519im
0.000314353+0.000159546im 0.0782725+0.0283845im
0.542397+0.443151im -0.00960342-0.019744im
0.060644+0.0366828im 0.0118704+0.00220051im
0.00775182+0.0092139im … 0.43983+0.197553im
-0.000189179+0.0035431im -0.289861-0.216818im
0.00036993+0.00127407im -0.339314+0.0432982im
0.000368744+9.36584e-7im 0.105638-0.0501387im
0.000186543+0.000167358im 0.0410035+0.0472547im
7.77935e-5+5.35101e-5im … 0.0338526-0.0206132imFrom 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.5357871450225753 + 0.3759164196094501im, 0.07273028294572469 + 0.03750389174353286im, 0.013166463111036985 + 0.020297718630622463im, 0.008198627845572248 + 0.00019997248838953983im, 0.00224980743118979 - 0.0010970339425122333im, 0.0007125034527714957 + 0.0003450989040860027im, 0.0004907745332594491 - 1.3247646137048668e-5im, 0.00025267623352317434 + 0.00012505870452211265im, 0.6246062278864095 + 0.40455088064847294im, 0.07374307870612945 + 0.06712416542266249im … -0.03486109373133978 - 0.11333948233942992im, 0.0067046227175584505 + 0.045648261071844214im, 0.011937467460452643 + 0.004715700995271521im, -0.12107797582314386 - 0.03767068350066656im, 0.055757272668066946 + 0.15206131518790672im, -0.466196320090047 + 0.4720504977408131im, -0.08043552656073666 - 0.0585066185899079im, 0.212292799557538 - 0.18356718753947202im, 0.007390374524083972 + 0.012836412758581214im, -0.046790357828063074 - 0.018656122958464066im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.3841298395796575 + 0.6227190304132115im, 0.0897890719931789 + 0.04883572517273757im, 0.00246991995331489 + 0.01233821410972935im, 0.010323101180959367 - 0.00677409966749443im, 0.0017851936258475917 + 0.003644599063968206im, 0.00011238437369124937 + 0.0006732917020113853im, 0.0005636162771100974 + 0.0006435095218871882im, 0.0001334118334259942 + 0.00011366393357310412im, 0.4706840786550208 + 0.4765158324443544im, 0.05698095244308084 + 0.04330499007603499im … -0.05382151600507421 - 0.05568096928033869im, 0.02959815431091606 + 0.05123919246272155im, -0.01514775738577312 - 0.01123024611977333im, 0.04585396820825305 + 0.044831724977255336im, 0.6130939391863254 - 0.05459944446074172im, 0.3149136339436394 - 0.19680876134728148im, -0.07354296964864503 - 0.09332904773284913im, 0.026427716981796964 + 0.04608593864142583im, -0.09776988371974045 - 0.03191727487350831im, 0.008399714823342331 - 0.005435718274325349im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.6105411676097343 + 0.3915914976458368im, 0.5360857853651453 + 0.42687011622003823im, -0.030674733204948602 - 0.009275877209564907im, -0.04908386732818514 + 0.01111213895975213im, -0.01423430808203406 + 0.014291469412538511im, -0.010780716447842965 + 0.008648056098323706im, -0.007486900529436466 + 0.005683511428738098im, 0.006309055173779047 - 0.00044636338265769846im, 0.5618798692414342 + 0.3976518546075867im, -0.5437267445244309 - 0.4751087038645349im … -0.006107221333768108 + 0.002867318573234585im, 0.01602056958079645 - 0.024781954849164557im, 3.948705128738585e-9 + 1.559871284869684e-9im, -4.059499165052095e-6 - 1.263559230066083e-6im, 0.00018680306728398685 + 0.0005207149934319241im, -0.001602636203878629 + 0.0016624734576461406im, 0.0052082821225930675 - 0.014707934806229677im, 0.028462411709803105 - 0.016937152168604027im, -0.036133649412559546 + 0.015016970918984745im, 0.021396889678427643 - 0.005206830701768214im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.4639617195190544 + 0.586665667141158im, 0.6506107903287689 + 0.09207612902172398im, -0.011175318836485338 - 0.056660448966462im, 0.06012479612711886 + 0.02786875326217174im, 0.00560309567466501 + 0.021557225786840512im, -0.013237268981412847 + 0.00906389816720565im, -0.011548745714145993 + 0.01070250812448579im, -0.001699112102832731 - 0.0039955601903046535im, 0.39466396655862207 + 0.5335646589605355im, -0.730244137048857 - 0.12683242266561212im … -0.08147341769130434 - 0.07157852708415104im, -0.0026703745409051294 - 0.11531806110411967im, -2.125776992785667e-8 - 1.5760087923745288e-8im, 8.655314624465799e-6 + 8.249973337338247e-6im, 0.009341454976325384 - 0.0007997104980341669im, -0.0036919002202511486 - 0.003041291653455622im, 0.027797162121306705 - 0.011659244486000538im, 0.06268138290234249 - 0.014420415656624695im, -0.13412610440034745 + 0.008264356205011642im, -0.032464180148042185 + 0.11219638685518775im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9946163255496736 + 0.0im, 0.09628846106633887 - 0.031340002243275926im, 0.015615050650188601 + 0.0010559584088903392im, -0.0010405808051925985 - 0.012316736271973841im, 0.004923631615389036 - 0.0007471793988292398im, 0.0007973801219978777 - 9.375906697426084e-5im, 0.0008857502030545378 - 0.00017574747457542125im, 0.00028742585891628354 - 2.9966180322165895e-5im, 0.0 + 0.0im, 0.007688227284000321 + 0.0im … 3.0681742781080096e-6 + 0.0im, 2.9151079024354934e-7 - 2.7005040217201772e-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.2791876313828935e-7 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9913425887756022 + 0.0im, 0.1259586754359114 - 0.008210974023377627im, 0.030050986584097154 + 0.012597856952653412im, 0.008239170717779246 - 0.007136668881382908im, 0.0017470971521033412 - 0.002877024117980946im, 0.0010675106935394473 + 3.2586036313847514e-5im, 0.00036731700779284225 - 0.00010830383146551796im, 0.00042824959514670705 - 8.474343981482498e-6im, 0.0 - 0.0im, 0.009906128852473788 + 0.0im … 1.0399662226830722e-6 + 0.0im, 2.4028932814362125e-7 - 4.05368701063213e-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.3958056283008616e-6 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.6052554616523129 + 0.38820132901873905im, 0.08542883925196916 + 0.04853983906253441im, 0.013290094992402935 + 0.022119963443103834im, 0.007994228169009037 - 0.0009478063188923665im, 0.0021032024212441925 - 0.0009861268508705757im, 0.000735718734199381 + 0.0003827939556829785im, 0.00025465890588207405 + 7.275211685616537e-5im, 0.0002523351813879685 + 0.00013606170848904308im, 0.5570154441547002 + 0.39420921897810435im, 0.06865252594048987 + 0.040767631840991116im … -1.1431606738028914e-8 - 3.716614286347985e-8im, 2.1985715888506433e-9 + 1.4968921310092877e-8im, 3.914519564635207e-9 + 1.5463668376994373e-9im, -3.970374007521304e-8 - 1.2352923940112543e-8im, 1.828385588927686e-8 + 4.9863758397599943e-8im, -1.5287452066355026e-7 + 1.5479421535798129e-7im, -2.6376318382173788e-8 - 1.9185418003406244e-8im, 6.961479225407265e-8 - 6.019512509071807e-8im, 2.42344247306634e-9 + 4.209300594926508e-9im, -1.5343436265776417e-8 - 6.11769276549538e-9im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.4614639006637525 + 0.5835072501780898im, 0.0680623069199102 + 0.042656475126307755im, 0.005999376697335341 + 0.00998748159304105im, 0.007023644501569586 - 0.006526712049043228im, 0.0027038254955961457 + 0.0026323392320916125im, 0.00037956459585867326 + 0.0004990337526118663im, 0.0004947863949731197 + 0.0005037467633100621im, 0.00015628019027535994 + 0.00018057589290920858im, 0.39253922424539256 + 0.5306921205384891im, 0.049109220688581715 + 0.03803223380097572im … -7.512437496356749e-8 - 7.771981031074412e-8im, 4.1313270374494046e-8 + 7.151995322905782e-8im, -2.1143325015198065e-8 - 1.5675240741183525e-8im, 6.400322690500838e-8 + 6.257637404968932e-8im, 8.557599709934191e-7 - 7.621021188040359e-8im, 4.3955822268720917e-7 - 2.747067767874565e-7im, -1.0265169095753816e-7 - 1.3026921010947057e-7im, 3.688795610633446e-8 + 6.432701254123033e-8im, -1.364677539743345e-7 - 4.4550311908468566e-8im, 1.1724369226543404e-8 - 7.587206161161169e-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.39335082932350596 + 0.5733208646925211im, 0.05576854837952619 + 0.04960748403791196im, -0.002889486473631886 - 0.0008058608078714417im, 0.0003399222655051475 + 0.0016805107700310377im, 0.0018189599124231277 + 0.00013832486354201404im, 0.00040878262983896235 + 0.0006872070747937173im, 0.0005831979593248238 + 0.00040746449904420257im, 0.00012200882642401123 + 0.00022667960114717168im, 0.48119141975831614 + 0.5217616834053493im, 0.06847692893869377 + 0.050057284488798426im … 0.3229197943411092 - 0.16864375351126398im, 0.16309615864752347 + 0.01852346860627494im, -0.004887127484170861 + 0.005664732344268536im, 0.03012593441997713 - 0.017811388607333473im, 0.25588076236157986 - 0.1546252635397239im, 0.3849530540550413 + 0.15513806651340442im, -0.2615141961722032 - 0.06101643651962609im, 0.11518188932343096 + 0.3065565580533473im, -0.017334517292020887 - 0.2544212301334364im, 0.1123247308436954 - 0.07585441263018843im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5290806439642732 + 0.34953951154259943im, 0.06262666401188548 + 0.018922715936046244im, 0.0015656335575819052 + 0.00026604184802013123im, 0.007311885239570986 + 0.0015131116488621425im, 0.00019419934155692764 - 0.00033096148235218im, 0.00047654964544449163 - 5.951483722391827e-5im, 0.0006414877344737247 + 0.000145370835002776im, 0.00018691087886052365 + 6.873735073577379e-5im, 0.5722078940754863 + 0.5117191115351413im, 0.05485394219899627 + 0.03519599931393306im … 0.14221644697059246 - 0.07693095492231532im, 0.11523387700248455 - 0.001984546513738714im, -0.0014409199593415911 + 0.003516247444462231im, 0.04422861001571213 - 0.002688627240966468im, 0.005478589753743032 + 0.06752884429594214im, 0.09757515171724038 - 0.291695698766473im, 0.4784394326445473 + 0.4672503298216528im, 0.05655119055046278 + 0.040645789489447914im, -0.0029283069504505927 + 0.17880225291881952im, -0.11430986133318356 + 0.020395401094474054im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.42091741509155534 + 0.5223908610759304im, 0.03177362408432294 - 0.7371223609037174im, -0.011109192127831565 - 0.0688300103813154im, -0.010353623515692946 + 0.0011627229541838334im, -0.016837385434058813 - 0.011409647813951792im, -0.004177377664534599 - 0.003560145241790859im, 0.008100796545089741 - 0.008513189132088338im, -0.0027600211530126447 - 0.0008567985335436324im, 0.4638095648646398 + 0.5785730735161189im, -0.030359586138618413 + 0.6676137461862387im … 0.014182208745635382 - 0.02049418895088765im, 0.03415757338382508 + 0.03172683305743644im, -1.5162388293142512e-9 + 1.7574919348578247e-9im, 1.235596112075758e-6 - 7.509574095788011e-7im, 0.0008936329089465147 - 0.0005130012288706182im, 0.002184179299262534 + 0.000996631480420227im, -0.0033224755568640988 - 0.0010808207750866163im, 0.014401874935794463 + 0.03622048578050356im, 0.025697849063547905 - 0.045686874342580515im, 0.037674126564289194 + 0.0034606856849999554im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5844418409991416 + 0.4041092099537297im, -0.3316276382929481 - 0.6173699656533832im, 0.055617676200904013 + 0.010703119971913103im, -0.009196324376393578 + 0.0011528635797071664im, -0.01800221870864111 - 0.014016432867433449im, -0.006841552154628987 + 0.001591268128547703im, -0.009761809058793805 + 0.0018194811356669447im, -0.002355141699386674 + 0.004637552403861985im, 0.5337997551577786 + 0.4583892203877792im, 0.26763629470592876 + 0.6552166521691671im … -0.008718798100504667 + 0.011212683265153381im, 0.11722231666367566 + 0.004600620398693649im, -3.4334271379132526e-10 + 8.378521874977177e-10im, 1.2910809398568374e-6 - 8.706682971262323e-8im, 9.671749668076686e-7 + 0.00011454483853036416im, 9.717749182427705e-5 - 0.001040529752145911im, 0.012685701571639157 + 0.012589049440221371im, -0.04171627713798186 + 0.03882973651803977im, 0.024483075186385827 - 0.001987055104220462im, -0.14513796863351158 + 0.035012207345882444im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9964028566521548 + 0.0im, 0.08379566956997216 - 0.003851582435124793im, -0.0009463895652321534 - 0.0011086606401193473im, 0.008304202530218175 - 0.000847719446411974im, 0.0007845146430790068 - 0.0003251424485306721im, 0.001212572213936633 - 0.0001812056940243511im, 0.0007229461350403193 - 5.107805619255018e-5im, 0.00022240687448737235 - 3.119602886066248e-5im, 0.0 - 0.0im, 0.008153196481087437 + 0.0im … 1.9276349974305877e-6 + 0.0im, 4.337478136272613e-7 - 3.494858961997397e-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.0858481165738143e-7 + 0.0im], ℂ^8 ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.9946278152832577 + 0.0im, 0.09920526523321573 - 0.027400586867997886im, 0.00011520035370912385 + 0.006695461096030661im, 0.0033109986554323663 + 5.5849716608620724e-5im, 0.0009208760812676939 - 0.0016233249969309965im, 0.0012146789617571542 - 0.00044108731709438363im, 0.0007207331374938704 - 0.0004039738456618499im, 0.00025008549697097586 - 4.695033054171011e-5im, 0.0 + 0.0im, 0.00760658622338167 + 0.0im … 2.691099223065976e-6 + 0.0im, 9.149892271336947e-7 + 5.282937406270284e-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, 2.374230841739328e-7 + 0.0im], ℂ^8 ← ℂ^8)], TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.4186561689871897 + 0.5195844808758923im, 0.05631272878462325 + 0.034683554936579535im, -0.004542895116444575 + 0.003482618104176338im, 0.0012931473879903702 + 0.0022263649818974017im, 0.0011543997532274543 - 0.0004721036316196441im, 0.0007747826545378303 + 0.0004844508869941639im, 0.0005480479412033293 + 0.00018464275181927534im, 0.00014307632244398377 + 0.00010107898595879362im, 0.46131789420879493 + 0.5754648720930569im, 0.0616346598507923 + 0.049767102466961984im … 9.964814391719152e-8 - 5.2040900914467256e-8im, 5.0328997398288434e-8 + 5.71606107110877e-9im, -1.5080933142484776e-9 + 1.748050363545583e-9im, 9.296405798991268e-9 - 5.496323998750429e-9im, 7.89609168600953e-8 - 4.7715007826878665e-8im, 1.187906656825087e-7 + 4.787325103592922e-8im, -8.069930897153082e-8 - 1.8828745571413387e-8im, 3.5543381623212295e-8 + 9.45986977292273e-8im, -5.349168753729887e-9 - 7.851052738236577e-8im, 3.466170591186781e-8 - 2.340751963486799e-8im], (ℂ^8 ⊗ ℂ^2) ← ℂ^8), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 1, Vector{ComplexF64}}(ComplexF64[0.5823395199185757 + 0.4026555711973427im, 0.04782633003259905 + 0.02657803726683265im, 0.0005352805148392338 - 0.0020175494270222956im, 0.005448433523366349 + 0.0023131506216437785im, 0.0005095587836552124 + 0.0003707453614656409im, 0.0007183268079136717 + 0.00033711461393393127im, 0.0004073672399347485 + 0.00023272158381528452im, 0.0001254083092185062 + 7.633287716999816e-5im, 0.5318796009194435 + 0.45674032865293873im, 0.048677723065639146 + 0.04169716798802788im … 3.3765467460016624e-8 - 1.8265184586101898e-8im, 2.735918247924951e-8 - 4.711771539784716e-10im, -3.421076607946584e-10 + 8.348383129829324e-10im, 1.0500892998656468e-8 - 6.383421717443104e-10im, 1.3007436762573777e-9 + 1.603290648344387e-8im, 2.3166593459446626e-8 - 6.925529244140647e-8im, 1.1359256568889501e-7 + 1.1093601438754414e-7im, 1.3426558074198638e-8 + 9.650248699269145e-9im, -6.952476675839435e-10 + 4.245178234523371e-8im, -2.7139799829219026e-8 + 4.842339030814434e-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