Boundary MPS contractions of 2D networks
Instead of using CTMRG to contract the network encoding the norm of an infinite PEPS, one can also use so-called boundary MPS methods to contract this network. In this example, we will demonstrate how to use the VUMPS algorithm to do so.
Before we start, we'll fix the random seed for reproducability:
using Random
Random.seed!(29384293742893);Besides TensorKit and PEPSKit, here we also need to load the MPSKit.jl package which implements a host of tools for working with 1D matrix product states (MPS), including the VUMPS algorithm:
using TensorKit, PEPSKit, MPSKitComputing a PEPS norm
We start by initializing a random infinite PEPS. Let us use normally distributed complex entries using randn:
ψ = InfinitePEPS(randn, ComplexF64, ComplexSpace(2), ComplexSpace(2))InfinitePEPS{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 4, Vector{ComplexF64}}}(TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 4, Vector{ComplexF64}}[TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 4, Vector{ComplexF64}}(ComplexF64[-0.5524390176345264 - 0.07357188568178248im, -0.5455245317233405 + 0.8946618856309984im, 0.34014501646081047 - 0.7552574870030472im, 1.249282911658007 + 0.45352274131986825im, 0.33621043661988675 + 0.4400876608299719im, -0.0077250067072679235 + 1.7380910495900947im, -0.9866664087107284 - 0.28688827761325675im, -0.19071062901939098 - 1.1367500834118434im, -0.09149850722392933 + 0.3560942836258964im, -0.19309251474097275 - 0.32363899914302613im, 1.6255618447281441 - 0.5689426732891244im, -0.025356816648697236 + 0.5632279168368712im, 0.07675114584269166 - 0.011479824536308164im, -1.0116302866282385 - 0.9253070687198848im, -0.17779977372973318 + 1.1379201927122535im, 1.1649047337212566 + 0.9936369101208083im, 0.2510676919806213 - 0.182052326055189im, 0.04501645227038913 - 0.8140971172854408im, -0.5792402993550532 - 0.4309109406268341im, -0.5608346802110794 + 0.21262550530307248im, 1.5061767210554262 + 0.17190948125245623im, -0.8176938467062373 - 0.40919675695722396im, -0.8001234458239143 + 0.6764943808639017im, -0.6692181340575689 + 0.6923370271564298im, -0.16556382071485704 + 0.2540132491548349im, -0.29883021417599165 - 0.07229462525164528im, 0.05546115732751907 + 0.3723175507964387im, -1.200173153698329 - 0.45509299328832953im, 0.289873563752043 + 0.44718981087960125im, 0.5128282969211142 - 0.2865462937979091im, 0.018357838612906643 + 0.9634127683557584im, -0.44278618042821827 + 0.2612084385439659im], ℂ^2 ← (ℂ^2 ⊗ ℂ^2 ⊗ (ℂ^2)' ⊗ (ℂ^2)'));;])To compute its norm, we have to contract a double-layer network which encodes the bra-ket PEPS overlap $\langle ψ | ψ \rangle$:
In PEPSKit.jl, this structure is represented as an InfiniteSquareNetwork object, whose effective local rank-4 constituent tensor is given by the contraction of a pair of bra and ket PEPSKit.PEPSTensors across their physical legs. Until now, we have always contracted such a network using the CTMRG algorithm. Here however, we will use another approach.
If we take out a single row of this infinite norm network, we can interpret it as a 1D row-to-row transfer operator $\mathbb{T}$,
This transfer operator can be seen as an infinite chain of the effective local rank-4 tensors that make up the PEPS norm network. Since the network we want to contract can be interpreted as the infinite power of $\mathbb{T}$, we can contract it by finding its leading eigenvector as a 1D MPS $| \psi_{\text{MPS}} \rangle$, which we call the boundary MPS. This boundary MPS should satisfy the eigenvalue equation $\mathbb{T} | \psi_{\text{MPS}} \rangle \approx \Lambda | \psi_{\text{MPS}} \rangle$, or diagrammatically:
Note that if $\mathbb{T}$ is Hermitian, we can formulate this eigenvalue equation in terms of a variational problem for the free energy,
\[\begin{align} f &= \lim_{N \to ∞} - \frac{1}{N} \log \left( \frac{\langle \psi_{\text{MPS}} | \mathbb{T} | \psi_{\text{MPS}} \rangle}{\langle \psi_{\text{MPS}} | \psi_{\text{MPS}} \rangle} \right), \\ &= -\log(\lambda) \end{align}\]
where $\lambda = \Lambda^{1/N}$ is the 'eigenvalue per site' of $\mathbb{T}$, giving $f$ the meaning of a free energy density.
Since the contraction of a PEPS norm network is in essence exactly the same problem as the contraction of a 2D classical partition function, we can directly use boundary MPS algorithms designed for 2D statistical mechanics models in this context. In particular, we'll use the the VUMPS algorithm to perform the boundary MPS contraction, and we'll call it through the leading_boundary method from MPSKit.jl. This method precisely finds the MPS fixed point of a 1D transfer operator.
Boundary MPS contractions with PEPSKit.jl
To use leading_boundary, we first need to contruct the transfer operator $\mathbb{T}$ as an MPSKit.InfiniteMPO object. In PEPSKit.jl, we can directly construct the transfer operator corresponding to a PEPS norm network from a given infinite PEPS as an InfiniteTransferPEPS object, which is a specific kind of MPSKit.InfiniteMPO.
To construct a 1D transfer operator from a 2D PEPS state, we need to specify which direction should be facing north (dir=1 corresponding to north, counting clockwise) and which row of the network is selected from the north - but since we have a trivial unit cell there is only one row here:
dir = 1 ## does not rotate the partition function
row = 1
T = InfiniteTransferPEPS(ψ, dir, row)single site MPSKit.InfiniteMPO{Tuple{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 4, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 4, Vector{ComplexF64}}}}:
╷ ⋮
┼ O[1]: (TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 4, Vector{ComplexF64}}(ComplexF64[-0.552439-0.0735719im, -0.545525+0.894662im, 0.340145-0.755257im, 1.24928+0.453523im, 0.33621+0.440088im, -0.00772501+1.73809im, -0.986666-0.286888im, -0.190711-1.13675im, -0.0914985+0.356094im, -0.193093-0.323639im, 1.62556-0.568943im, -0.0253568+0.563228im, 0.0767511-0.0114798im, -1.01163-0.925307im, -0.1778+1.13792im, 1.1649+0.993637im, 0.251068-0.182052im, 0.0450165-0.814097im, -0.57924-0.430911im, -0.560835+0.212626im, 1.50618+0.171909im, -0.817694-0.409197im, -0.800123+0.676494im, -0.669218+0.692337im, -0.165564+0.254013im, -0.29883-0.0722946im, 0.0554612+0.372318im, -1.20017-0.455093im, 0.289874+0.44719im, 0.512828-0.286546im, 0.0183578+0.963413im, -0.442786+0.261208im], ℂ^2 ← (ℂ^2 ⊗ ℂ^2 ⊗ (ℂ^2)' ⊗ (ℂ^2)')), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 4, Vector{ComplexF64}}(ComplexF64[-0.552439-0.0735719im, -0.545525+0.894662im, 0.340145-0.755257im, 1.24928+0.453523im, 0.33621+0.440088im, -0.00772501+1.73809im, -0.986666-0.286888im, -0.190711-1.13675im, -0.0914985+0.356094im, -0.193093-0.323639im, 1.62556-0.568943im, -0.0253568+0.563228im, 0.0767511-0.0114798im, -1.01163-0.925307im, -0.1778+1.13792im, 1.1649+0.993637im, 0.251068-0.182052im, 0.0450165-0.814097im, -0.57924-0.430911im, -0.560835+0.212626im, 1.50618+0.171909im, -0.817694-0.409197im, -0.800123+0.676494im, -0.669218+0.692337im, -0.165564+0.254013im, -0.29883-0.0722946im, 0.0554612+0.372318im, -1.20017-0.455093im, 0.289874+0.44719im, 0.512828-0.286546im, 0.0183578+0.963413im, -0.442786+0.261208im], ℂ^2 ← (ℂ^2 ⊗ ℂ^2 ⊗ (ℂ^2)' ⊗ (ℂ^2)')))
╵ ⋮
Since we'll find the leading eigenvector of $\mathbb{T}$ as a boundary MPS, we first need to construct an initial guess to supply to our algorithm. We can do this using the initialize_mps function, which constructs a random MPS with a specific virtual space for a given transfer operator. Here, we'll build an initial guess for the boundary MPS with a bond dimension of 20:
mps₀ = initialize_mps(T, [ComplexSpace(20)])single site InfiniteMPS:
│ ⋮
│ C[1]: TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 1, Vector{ComplexF64}}(ComplexF64[0.234356+0.0im, 0.0212705-0.0337316im, 0.0318229-0.0172048im, 0.0106074+0.0220482im, -0.00928461-0.0147226im, 0.00853533-0.0306597im, 0.076569+0.0547854im, 0.0205662+0.0166832im, -0.0272919+0.0428239im, 0.0373934-0.0540907im, 0.0395844+0.0268069im, -0.0572591+0.0103843im, 0.0189073-0.0116517im, -0.0404962+0.0055653im, 0.00865115-0.0143122im, 0.00272997-0.0420196im, 0.00756212+0.021323im, -0.00240347+0.00300511im, 0.00234515-0.0216668im, 0.0238947-0.00850638im, 0.0+0.0im, 0.241372+0.0im, -0.0293692+0.00013492im, -0.0312148+0.0210993im, -0.0309568-0.00688094im, -0.0606888+0.0320187im, 0.0220294+0.0206023im, -0.0388606-0.00136903im, 0.0266348-0.00444296im, 0.0243917-0.0574445im, 0.0533777-0.0130581im, -0.0461265+0.025293im, 0.0411931+0.0403917im, 0.00720869-0.00549413im, 0.0172979+0.0114934im, 0.00775068+0.0561936im, -0.0337994+0.00860338im, 0.00282096+0.0049669im, 0.0063244+0.0142169im, -0.0370595-0.0043864im, 0.0+0.0im, 0.0+0.0im, 0.272375+0.0im, -0.048824+0.00149444im, 0.00988957+0.0642391im, -0.024105+0.00772899im, -0.0303077+0.00984222im, -0.0149384-0.0244885im, -0.000723504-0.0308744im, -0.0508001+0.0442191im, -0.0424463+0.00407236im, -0.00743337-0.0193087im, -0.00597474-0.0412327im, 0.00118366+0.0724807im, -0.00574401-0.00650947im, 0.0216742-0.0136799im, 0.00810018-0.00596335im, -0.0157738-0.00417548im, -0.0138594+0.0157553im, 0.0302553-0.0117907im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.23341+0.0im, -0.0632917+0.0224243im, -0.0341307-0.0254159im, 0.0330353-0.000259844im, 0.0358483-0.0211876im, -0.0164493+0.00592492im, -0.0276746-0.0306245im, 0.0189518-0.00194967im, 0.022369+0.0129794im, -0.0119318+0.0159589im, 0.00904637+0.0221428im, -0.0441081+0.00312597im, -0.0159461+0.0200282im, -0.00190887-0.0285507im, -0.0048005-0.00993945im, -0.0189977-0.0385335im, 0.00349792-0.0115025im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.221509+0.0im, -0.00167817-0.0146015im, -0.0348746-0.0127731im, 0.00154438+0.0441856im, 0.0170168-0.00928753im, -0.0252145+0.0211729im, 0.0114643+0.00155899im, -0.0370751-0.00604206im, 0.0302099-0.0336153im, 0.025502+0.0412864im, -0.010013+0.0516961im, -0.0256922-0.00445787im, -0.00820098-0.0177101im, 0.024666+0.0252654im, -0.016457+0.0186234im, -0.0107864-0.015864im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.206396+0.0im, 0.0326829+0.00467695im, -0.0214987+0.0286296im, 0.0265114+0.031677im, 0.00815375+0.0158525im, -0.0220433+0.0172381im, -0.0122144-0.00481985im, 0.0166439-0.0068873im, -0.0397734+0.0151648im, 0.0410901+0.0112302im, 0.0187203-0.0445942im, -0.0469279+0.0417944im, 0.0202793+0.0159603im, -0.0134442+0.00726213im, -0.00692071-0.00356056im, 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.213466+0.0im, -0.0091073+0.0218044im, 0.0290691+0.0275631im, -0.040523-0.0525484im, -0.00261252-0.00435689im, 0.0155879+0.00127739im, -0.00952859-0.0162637im, -0.00454054+0.0594829im, 0.00135532+0.00162318im, -0.014243-0.022403im, 0.0204494-0.00570079im, -0.0166214-0.0164334im, 0.00754371-0.00073282im, -0.0198283-0.00955622im, 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.219412+0.0im, -0.00725377+0.0238682im, -0.0018644+0.013657im, -0.0321184-0.0436818im, 0.00952698+0.0115205im, -0.0105352-0.0424367im, -0.00899687+0.0430853im, -0.0347616-0.0358782im, -0.0355974+0.0150113im, 0.0399695+0.0259441im, -0.030832-0.0317401im, 0.0262163+0.00624552im, 0.000846414-0.00450105im, 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.0+0.0im, 0.211231+0.0im, -0.0372715-0.0237126im, 0.00264774-0.0219736im, 0.00415091-0.00441262im, -0.0300395-0.0294876im, 0.0276463+0.00272891im, -0.0120474+0.014648im, 0.025048-0.00424904im, -0.0396437+0.00738125im, 0.0316558+0.0311111im, -0.0294062+0.00386465im, -0.0112709+0.00401856im, 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.0+0.0im, 0.0+0.0im, 0.187571+0.0im, -0.00719432-3.02588e-5im, 0.0257648-0.00686996im, 0.0325978+0.0153886im, 0.0375554-0.0192687im, -0.00892462-0.0177806im, -0.0255443-0.0129054im, 0.0273104+0.035986im, -0.0137+0.00935715im, 0.0282057-0.0247425im, 0.00118329-0.0216304im, 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.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.182919+0.0im, -0.0054585+0.03591im, 0.0120391+0.0281816im, -0.0394714-0.00493972im, 0.0180715+0.00872848im, 0.0188175+0.0334865im, 0.0138824+0.0180983im, 0.00585616-0.012408im, -0.0148048+0.0143228im, -0.00485632+0.017832im, 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.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.169948+0.0im, -0.00952592-0.0122069im, 0.0135961-0.00514806im, 0.0135423-0.0153646im, -0.0371089+0.0378614im, -0.0169651+0.00725948im, -0.00156704-0.00759768im, -0.040398-0.0082199im, 0.00265136-0.00773181im, 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.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.197798+0.0im, -0.0616662-0.00139262im, 0.00476274-0.0438607im, -0.0276238+0.00758475im, 0.0308466-0.000113641im, -0.0123988-0.00954547im, 0.010847+0.0029771im, 0.0287164-0.0179098im, 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.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.184957+0.0im, 0.0226279-2.57053e-5im, -0.00381893+0.000511265im, 0.0290302-0.0133475im, 0.0299231-0.0226597im, 0.0237424-0.0242994im, 0.00172352+0.0477789im, 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.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.1569+0.0im, 0.00297201+0.0126363im, -0.0147574+0.0312698im, 0.0116013-0.00562576im, -0.0136585+0.00240712im, 0.00625334+0.022438im, 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.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.0+0.0im, 0.163084+0.0im, 0.0049925+0.012133im, -0.0272941+0.0219257im, -0.00964102-0.00836637im, 0.00482696-0.00613394im, 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.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.0+0.0im, 0.0+0.0im, 0.14448+0.0im, 0.0154471+0.0102336im, -0.00351024-0.00280969im, 0.0191697-0.0089761im, 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.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.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.126016+0.0im, -0.00797107+0.044782im, -0.0205783-0.015416im, 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.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.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.143035+0.0im, -0.0132998-0.00532042im, 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.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.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.0+0.0im, 0.144245+0.0im], ℂ^20 ← ℂ^20)
├── AL[1]: TensorMap{ComplexF64, TensorKit.ComplexSpace, 3, 1, Vector{ComplexF64}}(ComplexF64[0.136121+0.121588im, 0.129565+0.200169im, 0.196963-0.135323im, -0.103459-0.0439544im, -0.0267959+0.15836im, -0.0130199+0.0943586im, -0.00055985+0.0403018im, -0.0934598+0.0562789im, -0.0742595+0.0812902im, 0.0536027+0.00516228im, -0.0188773+0.149846im, -0.0341851-0.078553im, 0.0123726+0.0854757im, -0.0280237+0.0937505im, -0.0219633+0.0618633im, -0.0600852-0.0244291im, -0.0475104-0.00689539im, 0.0332424+0.189458im, 0.0540062+0.0435577im, 0.0154707-0.153004im, 0.00731152-0.0181676im, -0.0261214+0.051512im, 0.062349+0.0794917im, -0.0965706-0.0192423im, -0.0127447+0.0565506im, 0.0638949+0.0162237im, 0.025105-0.108424im, -0.0844481-0.102096im, -0.109341-0.037054im, 0.0107094-0.0288857im, 0.0814537+0.0547293im, 0.00993496+0.0228078im, 0.0645924-0.113238im, -0.102067-0.0381104im, -0.0378216+0.0883587im, -0.0149486+0.117237im, -0.0779578-0.0690837im, -0.102296-0.031384im, 0.0579677-0.07035im, -0.0325416-0.000772604im, -0.0217208+0.106833im, 0.0775837-0.0311124im, -0.0548127+0.147616im, 0.147883+0.111194im, -0.0433126-0.118141im, -0.0350337+0.0857993im, -0.0633134+0.00897624im, 0.0112788-0.086397im, -0.067359-0.0357909im, -0.0500186-0.181712im, 0.143795+0.118604im, -0.0510529+0.0589775im, 0.0252804-0.0108538im, 0.0216257-0.0264792im, -0.0459039+0.101508im, -0.0708778+0.140022im, 0.039813-0.150282im, 0.0700008+0.00609571im, -0.0227728-0.0746765im, -0.0788683+0.026972im, 0.0470769-0.106324im, -0.0140349-0.0161587im, 0.131865+0.00326561im, -0.0663706+0.00326447im, 0.0531021+0.00487155im, -0.0576585+0.115006im, -0.0291557+0.0106906im, 0.0783453-0.0191098im, 0.0130691+0.10668im, -0.124198+0.0730588im, -0.102578-0.0691656im, 0.03281+0.0345717im, 0.0421396-0.162899im, 0.00950283+0.0909844im, 0.0758152+0.0823683im, 0.0686434+0.0838978im, -0.105403-0.0209511im, -0.00566482+0.0524887im, -0.0882759-0.0157131im, 0.0784434+0.0658953im, -0.0622392+0.104928im, 0.0369845+0.00116471im, 0.0815218-0.035597im, -0.00456557+0.12741im, 0.128576-0.0722572im, 0.0155183+0.0790375im, -0.117834-0.00762544im, -0.056875-0.0716231im, -0.160339-0.146179im, -0.0403135+0.0857976im, -0.0696323-0.0103795im, 0.144594+0.0274292im, -0.0775599+0.124597im, 0.0653955-0.0988792im, 7.74689e-5+0.0476693im, -0.0218756+0.00157479im, -0.0180254-0.140412im, -0.0253363-0.0956723im, 0.0140961-0.0660874im, 0.0579831+0.0594347im, 0.0782576-0.147247im, 0.106536-0.198978im, -0.0857864-0.07442im, -0.0035913+0.138125im, -0.136159-0.117562im, 0.149851+0.0891131im, 0.200985-0.00350447im, -0.0927866+0.157882im, -0.074548+0.0740528im, -0.00968871-0.0013758im, 0.17668-0.0921806im, 0.0855481+0.111574im, 0.0220163-0.00920673im, -0.0879432-0.0144397im, 0.107279-0.1571im, 0.0994006+0.0125916im, 0.0457038+0.180188im, -0.0451035-0.0375236im, -0.0903467-0.00913725im, -0.0121251+0.0347935im, -0.142264-0.0399194im, 0.0154336+0.0582933im, -0.0646604-0.125288im, 0.0109934-0.0719858im, 0.0372313-0.0876067im, 0.084785+0.0276929im, 0.0423528-0.0803034im, 0.00267026-0.00728417im, 0.0947477+0.0358154im, -0.00302778+0.0239072im, 0.052455-4.51049e-5im, 0.0307757+0.0746588im, 0.0437461-0.0214921im, 0.189779+0.0835625im, -0.00545052+0.0632426im, -0.0908948+0.159063im, 0.0426858+0.0307606im, 0.0519108-0.02311im, 0.0431396-0.00817234im, 0.0397973+0.0545551im, 0.0191049-0.0844964im, 0.0321359+0.0608174im, 0.0175393-0.0456315im, 0.0580713+0.0835083im, 0.0462935+0.0475345im, 0.0212552+0.0556412im, -0.0566776-0.0527798im, -0.0157422+0.0405767im, 0.0393994-0.0754984im, -0.00698292+0.0298164im, -0.0390893+0.0491533im, -0.0421489+0.0785483im, -0.0811594+0.000170636im, 0.0119335-0.075225im, -0.00973565+0.10678im, -0.0914461+0.063238im, -0.0689283-0.0305852im, 0.00307397-0.0206506im, -0.133615+0.0520854im, 0.0060538-0.104462im, -0.0967152+0.0109718im, 0.0809463+0.00551194im, 0.00608277-0.023301im, 0.0201883+0.0542852im, -0.0554329-0.0695084im, -0.054844+0.0211839im, -0.0819368+0.0274147im, 0.0651355-0.0717371im, 0.0349964+0.00565789im, 0.0588089-0.0802446im, -0.108756+0.030916im, -0.153786-0.091321im, -0.0102347-0.077196im, 0.139532-0.185833im, -0.0676648-0.00828499im, -0.114771+0.107609im, -0.14034-0.175392im, -0.023082-0.0390764im, -0.0175933+0.0191685im, -0.0277238-0.0555474im, -0.123633+0.0157432im, 0.0512383+0.122059im, -0.114523-0.270953im, -0.1338-0.0421874im, 0.126929-0.0832913im, 0.120424+0.0624917im, -0.132194-0.111638im, -0.0770991-0.0895976im, 0.0699247+0.104872im, 0.113051+0.175738im, -0.0308667-0.0503412im, 0.0147754-0.0661542im, 0.0175823-0.0233622im, 0.202616+0.0171092im, -0.00248315-0.0507743im, -0.0186058+0.0648304im, 0.0905077+0.00746546im, -0.0142987+0.155395im, 0.0383391-0.0228143im, 0.0120561-0.0882764im, -0.00948665-0.0581453im, -0.0982228-0.173377im, -0.106001+0.0597963im, 0.0723529+0.0196106im, 0.154882-0.0742821im, 0.059612+0.083792im, -0.0504204-0.0210319im, 0.1046+0.0198224im, -0.0919504+0.0361059im, -0.0765843+0.0367333im, 0.08498+0.004202im, 0.00330879+0.0370361im, 0.132509-0.0232631im, 0.0510136+0.0373242im, -0.0837453+0.0521214im, -0.0461358+0.030424im, 0.0966434-0.0483835im, 0.0513136+0.068im, 0.0131867+0.0141692im, 0.0370047+0.0756529im, -0.0045247+0.0968185im, 0.0316377+0.0302085im, -0.127987+0.122766im, 0.039216+0.0733804im, -0.0604436-0.145414im, 0.0529635+0.0242881im, -0.0481996+0.0549306im, 0.0312981+0.0745282im, -0.0231527+0.0101942im, 0.072139-0.0815798im, -0.0213344-0.0879556im, 0.0497902-0.0999376im, 0.101019-0.0399429im, -0.0777692-0.0750806im, 0.0118171-0.027244im, 0.0536269-0.0214749im, -0.0471118+0.0472983im, 0.00983723-0.0215002im, 0.0598448-0.0221455im, -0.0250992+0.000728288im, 0.0134307+0.0761422im, -0.0867809-0.0516863im, 0.0321746+0.102328im, -0.0773977+0.059573im, 0.0244424+0.0921522im, 0.115208+0.00736622im, -0.0399685+0.106923im, -0.0634704+0.00476423im, -0.115719-0.0451951im, 0.116843+0.100923im, 0.110973+0.0578862im, 0.0208319+0.0299472im, 0.253579-0.0312478im, -0.178354-0.0455164im, 0.0431898-0.226347im, -0.062517-0.0363316im, 0.0037473+0.00212674im, -0.0100546-0.0836843im, 0.0447706+0.0493907im, 0.0332812-0.0507339im, 0.0948693+0.171003im, 0.0356702+0.107119im, 0.0220471-0.105687im, -0.0967698-0.0301894im, 0.112821-0.00475466im, 0.125127-0.134142im, -0.00231742+0.0575692im, 0.0611259+0.00257386im, 0.0192213+0.106313im, 0.117859+0.10392im, 0.0531551+0.0038852im, 0.0119485-0.135029im, -0.00573654+0.0177191im, -0.0792038-0.00969129im, 0.117135-0.0534475im, -0.0386099-0.00936196im, -0.0453741+0.103915im, 0.00566532-0.0526106im, 0.0524397+0.0704171im, -0.0382117+0.0363844im, -0.108447-0.100257im, 0.0641702+0.0182156im, -0.193294-0.00903044im, -0.0115732+0.0139384im, -0.176352+0.0693249im, 0.0375038+0.191045im, 0.00925926+0.12229im, 0.0113023-0.100089im, -0.0845269+0.0620574im, 0.033678-0.0824803im, 0.0409774-0.0862845im, 0.0519996+0.0155625im, 0.00353965+0.0359159im, -0.111611-0.0129767im, -0.0130064-0.0490048im, 0.0390214-0.0536364im, -0.0848124-0.027034im, -0.00235352-0.108179im, 0.0591871+0.0372905im, -0.0186709+0.0413643im, 0.011448-0.00140967im, -0.0836851-0.173332im, 0.00823863+0.0428182im, 0.0811049+0.0471501im, 0.104284+0.0660792im, 0.0784551-0.0195788im, -0.0782944-0.0732636im, 0.00411921-0.038646im, -0.0952301-0.162194im, -0.0204142+0.0069206im, -0.0624585-0.0454288im, 0.00561928+0.0813569im, 0.0866678+0.0320534im, 0.0772012-0.103435im, -0.00959444+0.054921im, -0.106379-0.135619im, 0.0122919-0.0346968im, 0.0845378+0.0446448im, -0.0168043-0.0995741im, -0.0366889+0.0811924im, 0.182126-0.161951im, 0.0402423+0.0891302im, -0.104253+0.0648142im, -0.0572805+0.0222346im, 0.0964641-0.0172135im, -0.0193964-0.0124783im, 0.169345+0.11682im, -0.0842312-0.00881155im, 0.0708265+0.0674849im, -0.0379854-0.173469im, 0.0797922-0.0461901im, -0.0266188+0.0101328im, -0.0272302+0.0667105im, -0.0340988-0.0914786im, 0.00304034-0.0816693im, 0.0114041-0.0142944im, 0.0665099-0.100358im, -0.0489951-0.103699im, -0.0303548+0.0284112im, 0.0469004+0.0237189im, -0.114531+0.0161293im, -0.022628+0.0665752im, 0.151919-0.122561im, 0.0519022+0.145226im, 0.00771471-0.148861im, 0.067321+0.0528171im, -0.0742513+0.250292im, 0.0270765-0.0618182im, 0.00567576+0.0271672im, -0.0295294+0.0123182im, -0.0428096-0.0115194im, -0.0201587+0.00653922im, -0.0375943-0.0529894im, -0.089095+0.0368764im, -0.0135416-0.0940759im, 0.0435697-0.0570936im, 0.0368461-0.00106171im, 0.0265087-0.0724551im, 0.0474966+0.0476304im, -0.0357256-0.0554262im, -0.0212624+0.0703699im, 0.0872531-0.0155483im, 0.0244556-0.00890988im, -0.0756131+0.047555im, -0.0204828-0.0310491im, 0.0466734-0.00866986im, -0.156683-0.010445im, 0.0962959-0.0588334im, 0.0678649-0.148863im, 0.143063-0.0282788im, -0.0496124+0.0379076im, 0.0755446+0.0317511im, -0.0967567-0.0180501im, 0.00572981+0.128048im, 0.177703+0.0733563im, -0.116992-0.0442891im, -0.0333322+0.115112im, 0.0766081+0.0320741im, 0.00535986+0.0178018im, -0.0729475+0.00158409im, -0.0551832-0.12735im, 0.0804296-0.094026im, 0.026437+0.174838im, 0.0809253-0.0363533im, -0.148028-0.133563im, 0.00228319+0.13526im, -0.0458781-0.078951im, 0.0923514-0.0508595im, 0.00638747+0.10171im, 0.0693826-0.0848621im, 0.0200357-0.0740859im, 0.0967151+0.137467im, -0.0237326-0.0437519im, 0.0158092+0.0680226im, -0.00989236-0.0278492im, 0.0449316+0.141535im, -0.147279-0.0366814im, 0.080341+0.00537378im, -0.123682-0.031561im, -0.0753383-0.0305439im, -0.00843693+0.0332203im, 0.0258364-0.123487im, 0.0396043-0.0393723im, -0.002572-0.0572385im, 0.00429391+0.123347im, 0.102565+0.0401373im, -0.118241-0.118809im, 0.00342515+0.306623im, -0.073024-0.0785857im, -0.00304844+0.0822226im, 0.140584-0.0271434im, -0.0288731+0.0598339im, -0.0740575+0.0482932im, -0.065114-0.110342im, -0.0173803-0.0125349im, 0.0191775-0.0908261im, -0.065522+0.0227597im, 0.00167777-0.0358668im, 0.00796204-0.0666058im, 0.00483104-0.136588im, -0.0117982-0.011019im, 0.0313429+0.00786834im, 0.0432912-0.0440159im, 0.0717803+0.110949im, -0.0150037-0.0242573im, 0.113728+0.165805im, -0.0180208+0.00527089im, 0.136308-0.109875im, 0.0818345-0.0113036im, -0.115079+0.0234827im, -0.0419426-0.0898372im, -0.0466415+0.0572685im, -0.079375+0.0875054im, 0.00931198+0.0318451im, 0.0243048-0.0224237im, -0.00947168-0.0402674im, 0.0715374-0.095227im, -0.00276868-0.0279281im, -0.00982616+0.0126019im, 0.0899558-0.0233078im, -0.0357134-0.0227577im, -0.0817276+0.0603453im, 0.114869+0.214596im, 0.0868704+0.114749im, -0.0319138-0.0331764im, 0.0392746+0.0203226im, 0.113348+0.106159im, -0.0507514+0.056448im, 0.0520036-0.0270394im, 0.0156815-0.13488im, 0.0165172-0.0297204im, 0.0784883-0.152431im, 0.105479+0.061191im, -0.0890601-0.167215im, -0.0282722-0.0419026im, -0.116616+0.0176234im, 0.100147-0.00369469im, 0.0134313-0.045494im, 0.0112552+0.122847im, 0.0752651+0.0270074im, -0.0209449+0.0308648im, 0.0428358+0.121617im, -0.0740664+0.0212252im, -0.0419513+0.0675293im, 0.00149856-0.12756im, -0.071531+0.0240948im, 0.12924-0.0102448im, -0.147532-0.107234im, 0.0740611+0.0986942im, -0.0210485-0.186054im, -0.0501981+0.0667447im, -0.0196253+0.103502im, 0.0535151-0.0457582im, 0.038113-0.00181239im, -0.0167711+0.0453142im, -0.112703+0.0290827im, -0.0621266-0.12552im, 0.0842113-0.0200924im, 0.112236-0.0575981im, -0.0803796-0.163522im, -0.0762731+0.0661846im, 0.0275447-0.0732116im, 0.10717-0.0437862im, -0.115943-0.0506525im, 0.13994-0.0560268im, -0.0312019-0.104474im, 0.0602122+0.0308179im, 0.02897+0.0060575im, 0.123645-0.103956im, 0.0133279-0.0619474im, -0.118501+0.0273237im, -0.083673-0.0829617im, 0.0847105-0.00546149im, -0.00621092-0.107444im, 0.0366567-0.117013im, 0.102601-0.0811923im, 0.11854-0.0040393im, -0.0224398-0.0218506im, -0.0696161+0.0713786im, 0.0563076-0.0701702im, 0.000450243+0.130981im, 0.0400962-0.0186007im, -0.188096+0.164409im, 0.0533087-0.0664081im, -0.134121+0.0506188im, -0.011773+0.0110154im, 0.0271452+0.112599im, -0.0908915-0.045429im, -0.118984+0.175889im, -0.0489869-0.107941im, -0.0525498-0.00122892im, -0.0834965-0.0580809im, 0.0955521+0.129292im, -0.149409-0.0796943im, 0.0428166-0.0106288im, 0.137317+0.0358487im, 0.0810025-0.00935979im, -0.0466506+0.0156823im, -0.0476104-0.0169217im, 0.031555+0.0170822im, 0.0572224-0.0573579im, 0.043194+0.082992im, -0.0154804+0.158538im, 0.0802341-0.139046im, -0.0803701+0.0340056im, -0.0521298-0.038465im, -0.0332175-0.0277785im, 0.0824766-0.022828im, 0.0694248+0.00572241im, 0.0422335-0.11015im, 0.00442322-0.0688061im, 0.0181463+0.0512661im, 0.0230961+0.0118987im, -0.0957097+0.0232287im, -0.00985588-0.014989im, -0.0360041-0.0967843im, 0.158594+0.0144972im, 0.0449134+0.143058im, -0.0717116-0.0815677im, 0.0884862-0.100949im, -0.153791+0.04164im, -0.0604951+0.0805051im, 0.119604+0.0367098im, -0.120494+0.0923983im, 0.0213604-0.211073im, 0.0819287+0.068158im, -0.0592149+0.069867im, -0.0956807+0.124182im, -0.0482894-0.105284im, 0.13889+0.161949im, -0.0229008-0.0788255im, 0.0461142+0.0101835im, 0.00579128-0.00710336im, -0.0134669+0.00225621im, 0.0266202+0.0208569im, 0.0523386-0.018525im, -0.0447378-0.00828099im, -0.0863781-0.0307453im, 0.0980583-0.0253375im, -0.0269835-0.0768095im, 0.117815-0.0386499im, -0.0145818-0.0429678im, 0.0536352-0.058086im, -0.179699+0.0202838im, 0.101357-0.0872503im, -0.0583221+0.075152im, 0.00837273+0.147885im, 0.000468636-0.000302216im, -0.0909607-0.0321476im, 0.0431131+0.00394364im, -0.0335198-0.0409824im, -0.0339689-0.018396im, -0.138839-0.0026356im, 0.0501145+0.0395422im, -0.0218228+0.0934838im, 0.0539831-0.138537im, 0.0444583+0.0289353im, 0.0163758-0.0114982im, -0.00559761+0.0293179im, 0.0187958-0.0861902im, 0.0111142+0.0238012im, -0.036377-0.0269855im, -0.0930323-0.0074732im, 0.0353215+0.145208im, 0.0738496-0.107772im, 0.0346007-0.066535im, 0.0911522-0.0418556im, -0.0373848+0.102343im, 0.0511492-0.0367393im, -0.129438+0.0433452im, 0.0649868-0.0503467im, -0.0229191+0.0181313im, -0.174905-0.0944915im, 0.0776703+0.101035im, 0.132888+0.0718731im, -0.046455-0.0198464im, -0.0538066-0.0436773im, 0.0953285-0.0178212im, 0.0392972+0.0751331im, -0.0791452+0.0750643im, 0.0925067-0.154086im, 0.124461-0.0356566im, 0.0173818+0.022008im, -0.0408484+0.180551im, -0.105174+0.0923196im, -0.0621344-0.0362854im, -0.00484525+0.00159553im, -0.0796979+0.035978im, 0.0632068+0.130535im, -0.0211082+0.0942126im, 0.109812+0.055889im, 0.0473478+0.0835453im, 0.138562+0.0834065im, -0.0768235+0.0287545im, 0.0036574-0.00468405im, 0.0260099-0.030823im, -0.0355245+0.0131073im, -0.0265357-0.00349549im, 0.0505338-0.0109327im, -0.00786006-0.094351im, -0.0886392+0.00461305im, 0.150575-0.00280342im, 0.177109+0.212419im, -0.0363533-0.131572im, 0.112904+0.0931695im, 0.112503+0.0531413im, 0.0224843+0.061506im, -0.0459468+0.0697628im, -0.0252572-0.0283438im, -0.00812141-0.0838347im, 0.050774-0.00289918im, -0.113681-0.161724im, 0.262223+0.0477937im, -0.211324+0.0587953im, 0.0291384+0.0380081im, 0.0803005+0.023021im, 0.00659843+0.0862866im, 0.0248372-0.0162592im, 0.063644+0.0164165im, -0.047667-0.0504406im, 0.109122+0.035132im, 0.0167204+0.0327058im, -0.0685064+0.0952752im, -0.0140616-0.0915985im, 0.0404347-0.0722005im, 0.0979206-0.0370712im, 0.111754+0.0133351im, -0.0276243+0.0533232im, -0.0499487-0.0495468im, -0.0151069+0.0518184im, -0.0506178+0.0132652im, -0.239574+0.00148447im, -0.0258949-0.0867603im, 0.0807377+0.0343348im, 0.0681118+0.0856464im, 0.0544967-0.0541303im, 0.00489957+0.0799256im, 0.0207273-0.0424218im, 0.155874+0.0297386im, 0.0158097+0.0575619im, 0.00328446-0.0433359im, 0.0403053-0.213556im, -0.0790785+0.00824602im, 0.0152876-0.0795286im, -0.0292856+0.0637187im, 0.0577344+0.119863im, -0.00330911-0.103771im, 0.0643693-0.0179117im, -0.00479393-0.1435im, -0.0917115+0.0319294im, -0.0181537-0.114761im, -0.0421217+0.0499197im, 0.0778543-0.0724999im, 0.0201526-0.0996115im, 0.00308068+0.00775437im, 0.0557139-0.0158565im, -0.00243831-0.00992284im, -0.00385201-0.0813721im, -0.0287695+0.0206551im, 0.0745584+0.0732051im, 0.214065-0.10951im, -0.0259985-0.131859im, 0.0684753+0.0128642im, 0.0319276+0.0506201im, 0.144882-0.110464im, 0.0196663-0.0800981im, 0.0516149+0.0910129im, 0.0101349+0.00664052im, 0.0914119+0.0482539im, -0.0747527-0.165043im, 0.0413568-0.0635959im, -0.0693221+0.0657724im, 0.0365044-0.0251559im, -0.0174501+0.050913im, 0.024104+0.0724012im, 0.0527045-0.106462im, 0.130564+0.0430493im, 0.0759731+0.00204933im, -0.0276763+0.0223241im, -0.0490268+0.0493659im, -0.0225284-0.130815im, -0.154378-0.162012im, -0.0980248+0.0771599im, 0.141508-0.0374196im, 0.0319291+0.0623257im, 0.141194-0.0641872im, -0.0139239-0.105253im, 0.0357681+0.0335473im, 0.00159876-0.0426761im, -0.0411716-0.0253729im, 0.044012-0.0738854im, 0.178761+0.155179im, -0.0588981+0.0283419im, -0.0517148-0.0287977im, 0.082494-0.0137691im, -0.19455-0.135785im, -0.0377519+0.167077im, 0.0434685+0.0721958im, -0.0440632-0.117276im, -0.0210061+0.101583im, 0.0429303+0.0484166im, -0.00274968-0.0626113im, -0.0748755-0.111402im, 0.000734426-0.0178753im, -0.0220211+0.092239im, -0.0509642+0.143533im, 0.102485-0.0694067im, 0.0415428-0.160115im, -0.105056+0.168621im, 0.0266904+0.0705891im, 0.108392+0.0590784im, -0.0927721-0.0421773im, -0.0279278+0.0680865im, 0.177048+0.0374269im, -0.0162908+0.0735778im, 0.0645239+0.0948281im, 0.00708471-0.108708im, -0.0928881+0.0216634im, -0.0470189-0.0487427im, -0.0946236+0.068788im, 0.0628737+0.062084im, -0.0424965-0.0907549im, -0.035725-0.0111451im, 0.149341+0.0052956im, -0.070769-0.0644444im, -0.021404-0.0607889im, 0.00795954-0.0779723im, 0.112822-0.0934957im, 0.00201011+0.0692604im, 0.100613+0.155883im, 0.0534068+0.0368267im, -0.018529-0.0531643im, -0.0438211+0.0975749im, -0.0770061-0.0626689im, -0.00570978-0.0386191im, 0.114558-0.176309im, 0.0546771+0.116744im, -0.0302758+0.0347815im, -0.00514055-0.0618497im, 0.0144864+0.00753913im, 0.121036-0.0824888im, 0.0665328+0.121435im, -0.0223725+0.0378169im, 0.0374235+0.0432862im, -0.0116136-0.0224322im, -0.0347115-0.107482im, -0.0299541+0.0770057im, 0.0896431+0.0061141im, -0.0352181+0.116533im, 0.114917+0.0112533im, 0.0375288+0.0367915im, -0.0582873-0.0185945im, -0.0885866+0.11736im, 0.046199+0.0434253im, -0.146848+0.0882682im, -0.0952114-0.127975im, -0.0678608-0.0608908im, -0.00900662-0.016314im, -0.0618793+0.056113im, -0.0478155-0.106129im, -0.0404909+0.109243im, 0.0107292-0.00301157im, 0.06678+0.0408855im, -0.00121997-0.0432874im, 0.040371+0.0315523im, -0.0662414+0.0409993im, -0.00751288-0.0686733im, -0.195972-0.115568im, -0.0778745+0.0503254im, 0.0192884-0.100936im, -0.0459113+0.0955479im, 0.144969-0.215321im, -0.0959127-0.0230504im, 0.130197-0.118775im, 0.0507006+0.00149925im, 0.0300754+0.00589044im, -0.0598818-0.0775788im, -0.0722682+0.136642im, -0.0873939-0.148839im, -0.0191508+0.0396092im, 0.004516+0.169713im, 0.0458061+0.154222im, -0.0198695+0.106914im, -0.00328147-0.0752272im, -0.0155555-0.188056im, -0.151521-0.0845511im, -0.0228299+0.101521im, -0.0243559+0.0619144im, 0.0704148-0.179286im, 0.197352+0.0271561im, 0.109942+0.0298903im, -0.0290309-0.0509694im, 0.028198+0.0324967im, 0.122333+0.0112685im, 0.0205497+0.0331686im, 0.0132035-0.107072im, 0.022687+0.047982im, 0.000604315+0.0644997im, -0.114816-0.101267im, -0.0413324-0.0467389im, -0.099391-0.0990419im, 0.222213+0.0339075im, -0.0546666+0.0535118im, 0.0763893-0.0348949im, -0.0228747-0.0462767im, -0.0447951-0.105682im, -0.0478462-0.0100684im, -0.0491398+0.0425145im, 0.148614+0.136261im, -0.0223914-0.067844im, 0.187603-0.0284656im, -0.0914551+0.0781024im, 0.0896316+0.122213im, -0.0196933+0.120752im, -0.0156937+0.0194837im, -0.0417865+0.0245658im, -0.0814676+0.0902583im, 0.0132199+0.0780558im, -0.0099676+0.0726021im, 0.0600411+0.00459012im, -0.0313669-0.100018im, -0.130369-0.0386481im, 0.00419817+0.0576432im, 0.0818449-0.0561703im, 0.00220601-0.0618203im, -0.0276142+0.0262781im, -0.0746319-0.0839813im, -0.0190869+0.0841112im, -0.168781-0.12422im, -0.0462975+0.107479im, 0.0198956-0.068836im, 0.0594175-0.115992im, -0.126273-0.0121554im, 0.0133121-0.0166535im, 0.0491638-0.0749591im, 0.107217-0.016384im, -0.0145736-0.0127585im, 0.0525886+0.00373636im, 0.00332615+0.158625im, -0.17312+4.46685e-5im, 0.0576086-0.0273404im, -0.0029016-0.0185031im, 0.120417+0.0546914im, -0.0744195-0.207812im, 0.0327748-0.0824082im, -0.0603293-0.0800748im, -0.0535777-0.0817236im, -0.0659305-0.0593563im, 0.0433674+0.00699974im, -0.0965029-0.116328im, 0.00952819-0.0326506im, 0.0105464+0.0310237im, -0.0647358+0.0531076im, 0.0461136+0.00968873im, -0.0115091+0.0786816im, 0.0119265+0.00643264im, -0.0532156-0.0212529im, 0.0747181+0.10069im, -0.0606129-0.0255834im, -0.0267308+0.0360117im, -0.00946047-0.164767im, 0.0170594-0.0209667im, 0.0194056+0.0672492im, -0.123691-0.120165im, -0.0121613+0.0187102im, 0.0760317-0.00981902im, 0.0613454-0.0637694im, -0.123877-0.119134im, 0.0811609-0.00742241im, 0.130745-0.0100389im, 0.0258506-0.0189453im, 0.109916+0.0432379im, 0.0162442+0.0821948im, -0.00964092-0.0577976im, -0.0313349+0.0358982im, -0.000817394+0.103068im, 0.0181154-0.0292106im, -0.0736826-0.0815715im, 0.0222621-0.0437613im, 0.0363709-0.0986831im, 0.0730026-0.126787im, 0.0509459+0.0165747im, -0.0136663+0.0982626im, 0.00421537+0.00188139im, -0.00308776-0.0248862im, -0.118844-0.0882898im, 0.0773465-0.170176im, 0.0782814-0.0560999im, -0.00692755-0.176002im, -0.186197+0.0470085im, 0.134834-0.0389981im, 0.0466847+0.00414528im, -0.0927056+0.0524693im, 0.033935-0.0549405im, 0.0360669+0.00904688im, 0.024895-0.0778637im, -0.0756899-0.0358767im, -0.00766982-0.0358544im, -0.0702949+0.0277874im, -0.0537219+0.0683406im, 0.0783759+0.0992542im, -0.127843-0.0870881im, 0.120522+0.0870946im, -0.0037393-0.12883im, -0.00515096-0.117252im, 0.0154761+0.102037im, -0.101164+0.0265873im, 0.0290225-0.140136im, -0.119942-0.0267192im, 0.00430843+0.0298212im, -0.110827-0.0718523im, 0.0836798+0.0373784im, 0.00468031-0.0141144im, -0.00138537+0.0568525im, -0.00437132+0.0235935im, 0.0629288+0.0523523im, -0.0174544-0.0685309im, -0.0361392+0.0539268im, 0.00660456+0.0330314im, 0.0814231+0.109546im, 0.166141+0.206568im, -0.065441-0.0478511im, 0.135336+0.0892886im, 0.134855+0.140423im, 0.042035+0.0114177im, 0.0152053+0.115142im, -0.00210195-0.0309338im, 0.0108763+0.154465im, -0.0631565+0.00416921im, 0.0411764-0.0390842im, 0.0337171-0.0620698im, 0.0476954+0.00591305im, 0.0527243+0.169691im, 0.0827984-0.0730562im, 0.0967913-0.0167062im, 0.0094329+0.142115im, -0.0710893-0.121732im, -4.43318e-5-0.152883im, 0.153223-0.0851803im, 0.0949666-0.0136638im, 0.103427+0.102586im, 0.153926-0.0635286im, 0.133892-0.027164im, -0.259787+0.0265997im, 0.0430376+0.0811674im, 0.0466973+0.0456409im, 0.110704+0.0823017im, -0.0304521-0.00927444im, -0.0444833+0.00426235im, 0.0172522+0.144322im, -0.0353474+0.0561506im, -0.127581-0.0613638im, 0.0667089+0.0554852im, -0.158358-0.065111im, -0.0285889+0.0875474im, -0.0389161+0.054802im, 0.0131828-0.0209529im, -0.0898445+0.0516255im, 0.0278819+0.0137756im, 0.0423467-0.0078574im, -0.0215539+0.0855504im, 0.0618457+0.0629992im, -0.0947301-0.0888922im, -0.0319016-0.0728357im, 0.0946838+0.0653811im, -0.0119625+0.00330763im, 0.0562163-0.096052im, -0.0820455+0.0348451im, -0.0830852-0.0893763im, -0.0154527-0.0539474im, -0.0409809-0.0117935im, -0.0497225-0.2464im, 0.0108942+0.0447132im, -0.0320337+0.017428im, -0.0374812-0.00528305im, -0.0272174+0.101052im, -0.0469729-0.129575im, 0.00360156-0.0669703im, 0.0676662+0.104687im, -0.0988469-0.0296687im, 0.0468341-0.114423im, -0.107459-0.0319856im, 0.0524346-0.0929086im, -0.104586-0.0491357im, 0.161665+0.0495663im, 0.15206-0.10722im, 0.0537934-0.0828898im, 0.00788251+0.017027im, 0.101628+0.0195074im, 0.0175263+0.0705366im, -0.117743+0.0873234im, 0.0919411-0.0264841im, -0.0241814+0.0224235im, 0.108194+0.0444112im, 0.0559324+0.0596392im, -0.102732-0.0279905im, -0.0919905+0.0268679im, -0.000730433-0.0881709im, 0.0140116+0.0326803im, -0.10953+0.0455068im, -0.0180376+0.0915381im, 0.0589607+0.0647388im, 0.00564128-0.119918im, 0.011999-0.0676349im, 0.10275-0.14524im, -0.0620291-0.0997072im, 0.0766015+0.0837338im, -0.104327-0.0371957im, 0.149409-0.0105996im, 0.0708969-0.0188444im, 0.23614+0.0625001im, -0.00423922+0.0589502im, -0.0666584+0.0614651im, 0.183183+0.00223324im, -0.0602733-0.0194442im, 0.00544155+0.030675im, -0.0156288-0.0115694im, 0.0287274-0.065003im, -0.0526356+0.0548028im, -0.0562417+0.0544497im, 0.056754+0.0906549im, -0.077372-0.190497im, 0.115581+0.0537207im, 0.0793184-0.080259im, -0.0350692+0.0469529im, 0.0230836+0.00391291im, -0.0809289+0.0637254im, 0.0238897+0.0913539im, -0.0387112+0.0264699im, 0.0156235+0.0487373im, -0.0185544+0.110731im, 0.090857-0.102775im, 0.0214139-0.0800971im, 0.124212-0.0528931im, 0.035058-0.0761236im, -0.0614549+0.11989im, 0.0547782+0.0221399im, -0.0204425-0.0023309im, 0.00778212-0.0138763im, 0.0976933+0.0855575im, 0.0365164+0.0532888im, 0.0129082-0.0426026im, 0.180432-0.180927im, 0.0533053+0.137613im, 0.033217+0.183323im, 0.0613629+0.0171887im, -0.0500982+0.0338581im, -0.014486+0.18514im, -0.113669+0.0414819im, 0.0250356-0.0945137im, 0.114666+0.00351949im, -0.0996813+0.0204619im, 0.0903747-0.0342848im, -0.0542193+0.0136147im, -0.117442-0.11233im, -0.011029-0.100379im, 0.0580437-0.0577716im, -0.0166537+0.00513434im, 0.0106307-0.0153791im, 0.104666+0.109576im, 0.0134182-0.0156897im, -0.026806+0.0013132im, 0.152964+0.0413885im, 0.11216+0.0920126im, 0.00526826+0.125307im, -0.0939841-0.135582im, -0.104098+0.046267im, -0.0576456-0.100249im, -0.023317-0.0245573im, 0.066385+0.149158im, -0.0282577+0.089281im, 0.0268032+0.0219607im, 0.0912067+0.0109137im, 0.0097529+0.0730504im, -0.126139+0.0160488im, 0.00315709-0.0205391im, 0.0412333+0.0999581im, 0.00365228+0.0150248im, 0.110254+0.043868im, -0.0184878-0.00181269im, 0.158099+0.134406im, -0.106261-0.107095im, 0.100182+0.168076im, 0.00799026+0.0711195im, -0.0204227-0.132578im, 0.0357722-0.0720677im, 0.109351-0.0223455im, 0.0785847+0.0697237im, 0.0879005-0.0708231im, -0.136377+0.0335714im, -0.0342384-0.0057235im, 0.0494184-0.0799439im, -0.062825-0.0437784im, 0.0412695+0.118748im, -0.0424144-0.0544086im, 0.0742595+0.0356374im, -0.0222337+0.133022im, 0.0336556-0.0393512im, 0.0175612+0.0486668im, 0.145889-0.00779155im, -0.0174887-0.0348617im, 0.025985+0.0360603im, -0.0560355-0.0333359im, -0.0607733+0.00290881im, -0.0471807+0.0516779im, -0.0977819-0.104652im, -0.0185213-0.0152066im, 0.159321-0.0512277im, 0.0573831-0.0715353im, 0.108507+0.0569177im, -0.0983467+0.00407275im, -0.0650549+0.0703735im, -0.0430625-0.00686465im, -0.0269502-0.0224684im, -0.0836484-0.0771839im, -0.15604-0.0537287im, -0.103595+0.0367778im, -0.0426048-0.130919im, 0.0455122+0.0322225im, -0.0673913+0.0265597im, 0.0982261-0.192526im, -0.0143347-0.0695327im, 0.119039-0.0165666im, -0.0334985+0.111945im, -0.0539561+0.127739im, 0.0569568-0.0527582im, 0.0442672-0.0548046im, -0.0122073-0.209373im, 0.0479696-0.0160274im, -0.0729286-0.129151im, -0.0446814-0.045305im, -0.000411312-0.0399773im, -0.0776336+0.00992611im, -0.0148249+0.134183im, 0.0250636+0.0146705im, 0.093323+0.0541344im, 0.0609487-0.104966im, -0.0537268+0.074963im, -0.120556-0.233958im, -0.0163145+0.0805737im, -0.0822126-0.0552846im, -0.10436-0.0332525im, -0.0485247+0.0404692im, -0.0163212-0.045915im, -0.147902+0.00178979im, -0.0236093-0.0231905im, 0.0199996+0.00773647im, -0.00622368+0.0129235im, -0.00303668+0.165042im, 0.119311-0.0442418im, -0.108235+0.0646868im, 0.0660603+0.101669im, -0.00734277+0.0108686im, 0.103669-0.055437im, 0.0971067+0.0420306im, 0.0404368-0.191363im, 0.0849339+0.0627014im, -0.0475649-0.00500417im, 0.127037-0.156084im, 0.0373316+0.0192545im, 0.0258554+0.0578636im, 0.186986-0.163771im, 0.0447545-0.0337361im, 0.0412176-0.0269697im, 0.00988611-0.0620456im, -0.0175998-0.026089im, -0.017021-0.0868974im, 0.0702248-0.170512im, 0.132778-0.0161216im, -0.0639768+0.0583172im, 0.0542081-0.13128im, -0.0561658-0.0696575im, -0.00756474-0.00204209im, 0.00155534-0.0421im, -0.0835967+0.0826186im, 0.0260258-0.0233333im, -0.0399838-0.0119219im, -0.0809712+0.206339im, -0.0103236-0.0116514im, -0.0274254+0.061023im, -0.0779458-0.0450412im, -0.115179+0.0420439im, -0.13631+0.0432827im, 0.0813731-0.0647819im, 0.108568+0.170035im, 0.0749819+0.0298531im, 0.0629753-0.0175097im, -0.0758252-0.0648325im, -0.00995993-0.0623842im, -0.0157847-0.0159651im, -0.0915122+0.0303221im, -0.00457632+0.143937im, 0.150231+0.0913251im, 0.0176725-0.000508557im, -0.0688639-0.00250937im, -0.0543344-0.0639541im, 0.101345-0.0924622im, -0.000867179+0.0600427im, -0.0792119-0.152291im, -0.00489922-0.0815435im, 0.00296128+0.0493562im, 0.132485-0.203562im, 0.00320491+0.0148167im, -0.0671609+0.111791im, 0.16171+0.0597312im, -0.113323-0.00664944im, 0.0159766-0.0390203im, 0.0680829+0.0611434im, -0.0205688+0.0494396im, -0.0722061-0.0353941im, -0.0254179-0.13959im, 0.0725454+0.0832477im, 0.0893113-0.112083im, 0.0439896-0.117615im, -0.0578702-0.110613im, -0.0603567+0.0515276im, -0.00608919-0.0433999im, -0.0260507-0.0238291im, -0.0161631-0.112291im, -0.038429-0.0910551im, 0.100668-0.0731067im, -0.0190105-0.125359im, -0.198047-0.0213074im, 0.180133-0.103093im, -0.00536561+0.117191im, 0.0306217-0.0519232im, -0.0414228-0.136015im, -0.0944111+0.0107644im, 0.0308609-0.044829im, 0.00455384-0.0486866im, -0.0967659+0.0239484im, 0.0237444-0.0688754im, 0.00566481+0.133689im, -0.0435515-0.213024im, -0.0300393+0.00499907im, -0.0847932-0.0424023im, -0.16423-0.0567178im, 0.0612485-0.0512837im, 0.00769616-0.0954072im, -0.0323535-0.0440016im, -0.0465758+0.0925313im, 0.0715981+0.0118031im, -0.0410899+0.126184im, -0.0500004-0.198234im, -0.0725278+0.0437999im, 0.00425218+0.0314769im, -0.042919+0.0497673im, 0.0701138+0.10688im, 0.0742861+0.0683177im, 0.000628224+0.0416658im, -0.0686126+0.013528im, -0.0140564-0.00298845im, 0.0210836-0.114273im, 0.110126-0.0571059im, -0.014593-0.0451142im, -0.00917988+0.0225957im, -0.0504218+0.112055im, 0.0157514-0.0296851im, 0.0414414-0.0778665im, -0.0628899-0.0681091im, 0.0798988+0.0950401im, 0.101583-0.0300778im, -0.103102-0.0179237im, 0.134003-0.0832791im, -0.118035+0.064682im, 0.0873911-0.00917187im, -0.0141579+0.160579im, 0.0823546-0.00783807im, -0.00484082+0.0381508im, 0.0869804+0.00590079im, -0.0666201-0.121662im, 0.0100752+0.0284919im, 0.0673297-0.0451166im, -0.0138137-0.0594978im, 0.0306469-0.169904im, 0.172697-0.0392023im, -0.0221381+0.00242855im, -0.144653+0.0695113im, 0.0411052-0.0257288im, 0.0776596+0.0068487im, -0.0611206-0.0450027im, 0.00025795+0.101884im, 0.0244185+0.10742im, -0.0302722+0.0618293im, -0.00993234+0.0478885im, 0.0716344+0.0808434im, -0.100413-0.0598848im, -0.0229923+0.0515003im, 0.16837-0.192725im, -0.0761698+0.0798864im, 0.0317827-0.0872934im, 0.000845937-0.0257105im, -0.0461587-0.083864im, -0.0747325+0.0793035im, 0.0735808+0.0941808im, 0.0373852-0.051668im, -0.100113+0.00276281im, 0.0338373+0.042884im, -0.0193186-0.1437im, -0.0555462+0.0902977im, -0.0588708-0.042287im, -0.00612075+0.0339367im, -0.129065-0.182835im, 0.0547995+0.0456858im, 0.194943-0.0347294im, 0.0264871-0.0350993im, 0.145342+0.0108366im, -0.0570181+0.0433224im, -0.0158786-0.0264194im, -0.0251036-0.0477798im, -0.0329697-0.00411678im, 0.0521663-0.0483867im, -0.131154-0.0503362im, -0.0336515+0.103261im, 0.0279296-0.0748148im, -0.0642105+0.0713709im, 0.0784302+0.184505im, -0.00931179+0.0295768im, -0.116113+0.10958im, 0.0285452-0.202788im, 0.0270573+0.0674899im, 0.00973619-0.00511815im, 0.149072+0.0256126im, -0.119934+0.0763647im, -0.0337175+0.0173186im, 0.0611957+0.0667193im, -0.118615+0.119689im, 0.0352917-0.0348011im, 0.109264-0.0335443im, 0.105243+0.0546836im, -0.0894262+0.0515764im, 0.0132604-0.0666536im, 0.07711-0.125214im, 0.101916-0.132171im, 0.0257073+0.022287im, -0.0212378-0.00127077im, -0.0553621+0.0206289im, -0.0569328-0.0792201im, -0.0476411-0.0213706im, 0.121478+0.00818338im, 0.136992+0.152017im, 0.0393387+0.0104925im, 0.05765+0.0206792im, 0.029209-0.0855289im, 0.0720293+0.10617im, 0.0701985+0.0489428im, 0.0659623-0.192647im, 0.0576089-0.13248im, 0.0832965-0.0423453im, -0.0256126+0.0491606im, 0.017473+0.0701525im, -0.101663-0.152396im, 0.111556+0.0349384im, 0.0284788+0.113748im, -0.00520628+0.15787im, 0.0628546+0.0879789im, 0.0283635+0.0269754im, -0.0694347-0.0991681im, -0.0497524+0.0989392im, 0.0306496-0.105895im, 0.0357126+0.0298776im, 0.0634785+0.0783368im, 0.0876108-0.0704608im, 0.0172633+0.00746657im, -0.0107332+0.0634449im, -0.0447654+0.0286374im, -0.0262458+0.0500883im, -0.0518506-0.0751667im, 0.125284-0.0877061im, -0.0730235+0.0700323im, -0.0256927-0.0978621im, 0.0337742+0.116508im, -0.0179934+0.112328im, 0.055129-0.00675477im, 0.0564256+0.0537509im, 0.0543854+0.0203828im, -0.00922907+0.0292085im, -0.0354933+0.0246987im, -0.0328457-0.0733536im, 0.0841733-0.00259941im, -0.184393-0.100159im, 0.0686997+0.053948im, -0.105782+0.0310567im, -0.159519+0.00316541im, -0.00213402+0.0864275im, 0.0129428-0.00832078im, -0.0274385-0.0227082im, -0.0396212-0.138763im, 0.0119269-0.127239im, 0.00895317+0.100797im, 0.0372526-0.0607521im, -0.0162744+0.0527791im, 0.0178663+0.0185839im, 0.00564697-0.0670014im, -0.0281416-0.0636005im, 0.0963809+0.0655524im, -0.00905114+0.00499258im, -0.00266779-0.0558034im, -0.0584583-0.10366im, 0.118344-0.012135im, -0.21409-0.0980661im, -0.0881541+0.106951im, 0.0611682+0.0461859im, 0.032956+0.0500537im, -0.0763085-0.0185344im, 0.0251667-0.206239im, -0.0268402-0.238691im, 0.102487+0.0727793im, 0.118495-0.0534629im, -0.0332665-0.136389im, 0.0734709-0.0450135im, -0.157466-0.0889078im, -0.00699834-0.0944765im, -0.0361805-0.0363123im, 0.0735948-0.144617im, -0.0512486+0.123669im, 0.00114197-0.016737im, -0.0130169-0.0792839im, -0.0572994+0.00111762im, -0.00703507+0.019896im, -0.0476713+0.0391447im, -0.000775428-0.0243211im, -0.106688+0.0294989im, 0.0423524+0.0386274im, 0.0434548-0.0176571im, 0.0441892+0.00912353im, 0.0119184+0.0576632im, -0.0589524+0.15171im, -0.0808825-0.0462427im, -0.0412125-0.0577364im, 0.0186899+0.042064im, -0.0367806-0.0767961im, -0.052474-0.0354519im, -0.117596-0.0887002im, 0.097103+0.0280416im, -0.0259597+0.0587115im, -0.0379324+0.0726993im, 0.110697+0.011884im, 0.0198057+0.0348256im, 0.0461466-0.0186595im, 0.0545422-0.0863321im, 0.0369698+0.0416473im, 0.0709946+0.0636584im, -0.0441699-0.0821753im, 0.004255+0.0802688im, -0.0714121-0.0471197im, 0.0410587+0.0865044im, -0.0208919-0.0412997im, 0.0550552-0.179235im, -0.0135701-0.0324215im, -0.120309-0.0910153im, -0.0908864-0.0725798im, -0.0239568+0.124625im, 0.0552112+0.00268286im, -0.121937+0.046068im, -0.00384392+0.0299733im, -0.0278111+0.202089im, 0.0973334-0.0312862im, -0.0024491-0.0108565im, -0.0654712-0.0688608im, -0.0112541-0.0955502im, 0.00829179-0.020583im, 0.0960012-0.00811653im, -0.00434971+0.118824im, 0.00579137+0.140175im, -0.0661073-0.159932im, -0.173955-0.130367im, -0.0214125+0.0675277im, -0.0151831-0.0836164im, -0.0685982-0.0407133im, 0.144527-0.0510402im, -0.0660527+0.0667281im, 0.0786361-0.0274632im, 0.0819289+0.0760993im, -0.0352606-0.0413609im, -0.0653047+0.00679869im, 0.122089-0.0827175im, 0.0967344-0.0564285im, 0.138684-0.00301627im, 0.0939085+0.149375im, 0.0228594+0.0370641im, 0.0930201-0.0183889im, -0.0204029+0.0334299im, 0.0648964-0.114773im, 0.153606+0.083618im, -0.00168944+0.108863im, -0.173378-0.0800836im, 0.0309147-0.0186499im, -0.0965456-0.0859508im, 0.20051+0.0710254im, -0.124011+0.0665912im, -0.024537-0.14583im, -0.0980367-0.107693im, 0.142336-0.082105im, -0.149277-0.0141165im, 0.0260554+0.166735im, -0.0315023-0.0861793im, -0.00705525+0.0691362im, 0.072574-0.0633469im, 0.0431634-0.0509957im, 0.0388003-0.0150461im, -0.0585611-0.00704im, -0.0901109+0.00837279im, 0.00660596-0.0207768im, -0.0390746+0.0338752im, 0.037445-0.0138944im, -0.141138-0.112563im, 0.0242739+0.0102173im, 0.0944808-0.0525475im, 0.0769785+0.0600186im, 0.0429495+0.089042im, 0.00999755-0.00671487im, 0.0284344-0.0882847im, -0.0956292+0.0414517im, -0.0881605+0.0524004im, -0.128143+0.0249592im, -0.0268824-0.00353341im, 0.0119156+0.0483078im, 0.117372-0.0350251im, 0.00700126+0.123728im, 0.00379278-0.0353523im, -0.144743-0.00246152im, -0.11425-0.035922im, -0.0454338-0.137967im, 0.0478179-0.0114009im, 0.136513+0.176281im, -0.0625485+0.22181im, 0.00986813+0.168968im, -0.0281462-0.0312663im, -0.0579577+0.0203307im, 0.0765008-0.0291379im, 0.0187159-0.0531237im, -0.12115-0.0760885im, 0.00626209+0.0118326im, -0.0361448+0.0953545im, 0.0882767-0.0736592im, -0.0138081+0.0759061im, -0.0194953-0.0377505im, -0.0307651+0.0497302im, -0.0362985+0.121845im, -0.0367937-0.00512124im, -0.0936545+0.00191276im, -0.0969019-0.143509im, 0.046839-0.10804im, 0.0097094+0.192606im, 0.0690086-0.0406602im, -0.0660849-0.0749144im, -0.00662758-0.0628537im, -0.159391+0.127379im, 0.0272895-0.139751im, 0.0576204-0.0361384im, -0.0151528-0.11229im, 0.0549724-0.0410101im, 0.0117069-0.0393213im, -0.0114572+0.0444991im, 0.0968595-0.092635im, 0.0818253-0.0108363im, 0.0341584+0.0658961im, 0.0318812+0.0604239im, 0.0483003+0.0153555im, -0.131343-0.0329953im, -0.0152346-0.097279im, 0.152406-0.0267359im, -0.0113782-0.109233im, 0.0277511-0.0252882im, -0.17751+0.00178876im, 0.0628219+0.101292im, -0.0985323+0.183945im, -0.0690948+0.206687im, 0.0341112-0.0582558im, 0.0287655-0.0761894im, -0.0306304-0.0155873im, -0.0762069-0.00310996im, -0.0397226+0.128154im, 0.155668-0.0209513im, -0.00114456+0.109986im, -0.137565-0.0645391im, -0.101825+0.00521097im, -0.0692237-0.0139281im, -0.0785597-0.0384973im], (ℂ^20 ⊗ ℂ^2 ⊗ (ℂ^2)') ← ℂ^20)
│ ⋮
Note that this will just construct a MPS with random Gaussian entries based on the physical spaces of the supplied transfer operator. Of course, one might come up with a better initial guess (leading to better convergence) depending on the application. To find the leading boundary MPS fixed point, we call leading_boundary using the MPSKit.VUMPS algorithm:
mps, env, ϵ = leading_boundary(mps₀, T, VUMPS(; tol = 1.0e-6, verbosity = 2));[ Info: VUMPS init: obj = +1.674563752306e+00 +3.035692829590e+00im err = 7.5576e-01
[ Info: VUMPS conv 120: obj = +6.831610878310e+00 -9.694384440741e-09im err = 9.5145748817e-07 time = 7.86 sec
The norm of the state per unit cell is then given by the expectation value $\langle \psi_\text{MPS} | \mathbb{T} | \psi_\text{MPS} \rangle$ per site:
norm_vumps = abs(prod(expectation_value(mps, T)))6.831610878309688This can be compared to the result obtained using CTMRG, where we see that the results match:
env_ctmrg, = leading_boundary(CTMRGEnv(ψ, ComplexSpace(20)), ψ; tol = 1.0e-6, verbosity = 2)
norm_ctmrg = abs(norm(ψ, env_ctmrg))
@show abs(norm_vumps - norm_ctmrg) / norm_vumps;[ Info: CTMRG init: obj = -1.495741317009e+01 +3.091851579630e-01im err = 1.0000e+00
[ Info: CTMRG conv 30: obj = +6.831603585666e+00 err = 6.2262595352e-07 time = 6.44 sec
abs(norm_vumps - norm_ctmrg) / norm_vumps = 1.0674852567312514e-6
Working with unit cells
For PEPS with non-trivial unit cells, the principle is exactly the same. The only difference is that now the transfer operator of the PEPS norm partition function has multiple rows or 'lines', each of which can be represented by an InfiniteTransferPEPS object. Such a multi-line transfer operator is represented by a PEPSKit.MultilineTransferPEPS object. In this case, the boundary MPS is an MultilineMPS object, which should be initialized by specifying a virtual space for each site in the partition function unit cell.
First, we construct a PEPS with a $2 \times 2$ unit cell using the unitcell keyword argument and then define the corresponding transfer operator, where we again specify the direction which will be facing north:
ψ_2x2 = InfinitePEPS(rand, ComplexF64, ComplexSpace(2), ComplexSpace(2); unitcell = (2, 2))
T_2x2 = PEPSKit.MultilineTransferPEPS(ψ_2x2, dir);Now, the procedure is the same as before: We compute the norm once using VUMPS, once using CTMRG and then compare.
mps₀_2x2 = initialize_mps(T_2x2, fill(ComplexSpace(20), 2, 2))
mps_2x2, = leading_boundary(mps₀_2x2, T_2x2, VUMPS(; tol = 1.0e-6, verbosity = 2))
norm_2x2_vumps = abs(prod(expectation_value(mps_2x2, T_2x2)))
env_ctmrg_2x2, = leading_boundary(
CTMRGEnv(ψ_2x2, ComplexSpace(20)), ψ_2x2; tol = 1.0e-6, verbosity = 2
)
norm_2x2_ctmrg = abs(norm(ψ_2x2, env_ctmrg_2x2))
@show abs(norm_2x2_vumps - norm_2x2_ctmrg) / norm_2x2_vumps;[ Info: VUMPS init: obj = +8.149302834396e+02 -8.860408249120e+01im err = 8.6172e-01
┌ Warning: VUMPS cancel 200: obj = +1.041128719531e+05 -2.947417781828e+02im err = 4.9289102276e-02 time = 20.80 sec
└ @ MPSKit ~/.julia/packages/MPSKit/hiGZg/src/algorithms/groundstate/vumps.jl:76
[ Info: CTMRG init: obj = -1.240261729401e+02 -1.672150510263e+01im err = 1.0000e+00
[ Info: CTMRG conv 47: obj = +1.046633714846e+05 err = 1.6994291389e-07 time = 3.07 sec
abs(norm_2x2_vumps - norm_2x2_ctmrg) / norm_2x2_vumps = 0.005283497739358622
Again, the results are compatible. Note that for larger unit cells and non-Hermitian PEPS the VUMPS algorithm may become unstable, in which case the CTMRG algorithm is recommended.
Contracting PEPO overlaps
Using exactly the same machinery, we can contract 2D networks which encode the expectation value of a PEPO for a given PEPS state. As an example, we can consider the overlap of the PEPO correponding to the partition function of 3D classical Ising model with our random PEPS from before and evaluate the overlap $\langle \psi | T | \psi \rangle$.
The classical Ising PEPO is defined as follows:
function ising_pepo(β; unitcell = (1, 1, 1))
t = ComplexF64[exp(β) exp(-β); exp(-β) exp(β)]
q = sqrt(t)
O = zeros(2, 2, 2, 2, 2, 2)
O[1, 1, 1, 1, 1, 1] = 1
O[2, 2, 2, 2, 2, 2] = 1
@tensor o[-1 -2; -3 -4 -5 -6] :=
O[1 2; 3 4 5 6] * q[-1; 1] * q[-2; 2] * q[-3; 3] * q[-4; 4] * q[-5; 5] * q[-6; 6]
O = TensorMap(o, ℂ^2 ⊗ (ℂ^2)' ← ℂ^2 ⊗ ℂ^2 ⊗ (ℂ^2)' ⊗ (ℂ^2)')
return InfinitePEPO(O; unitcell)
end;To evaluate the overlap, we instantiate the PEPO and the corresponding InfiniteTransferPEPO in the right direction, on the right row of the partition function (trivial here):
T = ising_pepo(1)
transfer_pepo = InfiniteTransferPEPO(ψ, T, 1, 1)single site MPSKit.InfiniteMPO{Tuple{TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 4, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 4, Vector{ComplexF64}}, TensorKit.TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 4, Vector{ComplexF64}}}}:
╷ ⋮
┼ O[1]: (TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 4, Vector{ComplexF64}}(ComplexF64[-0.552439-0.0735719im, -0.545525+0.894662im, 0.340145-0.755257im, 1.24928+0.453523im, 0.33621+0.440088im, -0.00772501+1.73809im, -0.986666-0.286888im, -0.190711-1.13675im, -0.0914985+0.356094im, -0.193093-0.323639im, 1.62556-0.568943im, -0.0253568+0.563228im, 0.0767511-0.0114798im, -1.01163-0.925307im, -0.1778+1.13792im, 1.1649+0.993637im, 0.251068-0.182052im, 0.0450165-0.814097im, -0.57924-0.430911im, -0.560835+0.212626im, 1.50618+0.171909im, -0.817694-0.409197im, -0.800123+0.676494im, -0.669218+0.692337im, -0.165564+0.254013im, -0.29883-0.0722946im, 0.0554612+0.372318im, -1.20017-0.455093im, 0.289874+0.44719im, 0.512828-0.286546im, 0.0183578+0.963413im, -0.442786+0.261208im], ℂ^2 ← (ℂ^2 ⊗ ℂ^2 ⊗ (ℂ^2)' ⊗ (ℂ^2)')), TensorMap{ComplexF64, TensorKit.ComplexSpace, 1, 4, Vector{ComplexF64}}(ComplexF64[-0.552439-0.0735719im, -0.545525+0.894662im, 0.340145-0.755257im, 1.24928+0.453523im, 0.33621+0.440088im, -0.00772501+1.73809im, -0.986666-0.286888im, -0.190711-1.13675im, -0.0914985+0.356094im, -0.193093-0.323639im, 1.62556-0.568943im, -0.0253568+0.563228im, 0.0767511-0.0114798im, -1.01163-0.925307im, -0.1778+1.13792im, 1.1649+0.993637im, 0.251068-0.182052im, 0.0450165-0.814097im, -0.57924-0.430911im, -0.560835+0.212626im, 1.50618+0.171909im, -0.817694-0.409197im, -0.800123+0.676494im, -0.669218+0.692337im, -0.165564+0.254013im, -0.29883-0.0722946im, 0.0554612+0.372318im, -1.20017-0.455093im, 0.289874+0.44719im, 0.512828-0.286546im, 0.0183578+0.963413im, -0.442786+0.261208im], ℂ^2 ← (ℂ^2 ⊗ ℂ^2 ⊗ (ℂ^2)' ⊗ (ℂ^2)')), TensorMap{ComplexF64, TensorKit.ComplexSpace, 2, 4, Vector{ComplexF64}}(ComplexF64[19.8096+0.0im, 1.34669+0.0im, 1.34669+0.0im, 0.0919699+0.0im, 1.34669+0.0im, 0.0919699+0.0im, 0.0919699+0.0im, 0.0124468+0.0im, 1.34669+0.0im, 0.0919699+0.0im, 0.0919699+0.0im, 0.0124468+0.0im, 0.0919699+0.0im, 0.0124468+0.0im, 0.0124468+0.0im, 0.0919699+0.0im, 1.34669+0.0im, 0.0919699+0.0im, 0.0919699+0.0im, 0.0124468+0.0im, 0.0919699+0.0im, 0.0124468+0.0im, 0.0124468+0.0im, 0.0919699+0.0im, 0.0919699+0.0im, 0.0124468+0.0im, 0.0124468+0.0im, 0.0919699+0.0im, 0.0124468+0.0im, 0.0919699+0.0im, 0.0919699+0.0im, 1.34669+0.0im, 1.34669+0.0im, 0.0919699+0.0im, 0.0919699+0.0im, 0.0124468+0.0im, 0.0919699+0.0im, 0.0124468+0.0im, 0.0124468+0.0im, 0.0919699+0.0im, 0.0919699+0.0im, 0.0124468+0.0im, 0.0124468+0.0im, 0.0919699+0.0im, 0.0124468+0.0im, 0.0919699+0.0im, 0.0919699+0.0im, 1.34669+0.0im, 0.0919699+0.0im, 0.0124468+0.0im, 0.0124468+0.0im, 0.0919699+0.0im, 0.0124468+0.0im, 0.0919699+0.0im, 0.0919699+0.0im, 1.34669+0.0im, 0.0124468+0.0im, 0.0919699+0.0im, 0.0919699+0.0im, 1.34669+0.0im, 0.0919699+0.0im, 1.34669+0.0im, 1.34669+0.0im, 19.8096+0.0im], (ℂ^2 ⊗ (ℂ^2)') ← (ℂ^2 ⊗ ℂ^2 ⊗ (ℂ^2)' ⊗ (ℂ^2)')))
╵ ⋮
As before, we converge the boundary MPS using VUMPS and then compute the expectation value:
mps₀_pepo = initialize_mps(transfer_pepo, [ComplexSpace(20)])
mps_pepo, = leading_boundary(mps₀_pepo, transfer_pepo, VUMPS(; tol = 1.0e-6, verbosity = 2))
norm_pepo = abs(prod(expectation_value(mps_pepo, transfer_pepo)));
@show norm_pepo;[ Info: VUMPS init: obj = +2.655321432467e+01 +3.760603778362e-01im err = 8.9759e-01
┌ Warning: VUMPS cancel 200: obj = +9.094977761227e+01 -6.006566625488e+00im err = 3.5527156917e-01 time = 50.63 sec
└ @ MPSKit ~/.julia/packages/MPSKit/hiGZg/src/algorithms/groundstate/vumps.jl:76
norm_pepo = 91.14790667014051
These objects and routines can be used to optimize PEPS fixed points of 3D partition functions, see for example Vanderstraeten et al.
This page was generated using Literate.jl.