Transfer Matrices

ctm.one_site_c4v.transferops_c4v.get_EH_spec_Ttensor(n, L, state, env_c4v, verbosity=0)[source]
Parameters
  • n (int) – number of leading eigenvalues of a transfer operator to compute

  • L (int) – width of the cylinder

  • state (IPEPS_C4V) – wavefunction

  • env_c4v (ENV_C4V) – corresponding environment

Returns

leading n-eigenvalues, returned as n x 2 tensor with first and second column encoding real and imaginary part respectively.

Return type

torch.Tensor

Compute the leading part of spectrum of \(exp(EH)\), where EH is boundary Hamiltonian. Exact \(exp(EH)\) is given by the leading eigenvector of a transfer matrix

 ...         PBC                          /
  |           |                  |     --a*--
--A--       --A(0)--           --A-- =  /|
--A--       --A(1)--             |       |/
--A--        ...                       --a--
  |         --A(L-1)--                  /
 ...          |
             PBC

infinite exact TM; exact TM of L-leg cylinder

The \(exp(EH)\) is then given by reshaping the \((D^2)^L\) leading eigenvector of transfer matrix into \(D^L \times D^L\) operator.

We approximate the \(exp(EH)\) of L-leg cylinder as MPO formed by T-tensors of the CTM environment. Then, the spectrum of this approximate \(exp(EH)\) is obtained through iterative solver using matrix-vector product:

  0
  |            __
--T(0)----  --|  |
--T(1)----  --|v0|
 ...       ...|  |
--T(L-1)--  --|__|
  0(PBC)
ctm.one_site_c4v.transferops_c4v.get_Top2_spec_c4v(n, state, env_c4v, verbosity=0)[source]
Parameters
  • n (int) – number of leading eigenvalues of a transfer operator to compute

  • state (IPEPS_C4V) – wavefunction

  • env_c4v (ENV_C4V) – corresponding environment

Returns

leading n-eigenvalues, returned as n x 2 tensor with first and second column encoding real and imaginary part respectively.

Return type

torch.Tensor

Compute the leading n eigenvalues of width-2 transfer operator of 1-site C4v symmetric iPEPS:

--T--          --\               /---
--A--          --\               /---
--A-- = \sum_i ---v_i \lambda_i v_i--
--T--          --/               \---

where A is a double-layer tensor.

ctm.one_site_c4v.transferops_c4v.get_Top_spec_c4v(n, state, env_c4v, normalize=True, eigenvectors=False, verbosity=0)[source]
Parameters
  • n (int) – number of leading eigenvalues of a transfer operator to compute

  • state (IPEPS_C4V) – wavefunction

  • env_c4v (ENV_C4V) – corresponding environment

  • normalize (bool) – normalize eigenvalues such that \(\lambda_0=1\)

  • eigenvectors (bool) – compute eigenvectors

Returns

leading n-eigenvalues, returned as n x 2 tensor with first and second column encoding real and imaginary part respectively.

Return type

torch.Tensor

Compute the leading n eigenvalues of width-1 transfer operator of 1-site C4v symmetric iPEPS:

--T--          --\               /---
--A-- = \sum_i ---v_i \lambda_i v_i--
--T--          --/               \---

where A is a double-layer tensor.