Skip to content

Functions for finite size systems: Low level functions

kchabuda edited this page Jul 17, 2021 · 1 revision

Table of Contents

fin_create_channel

fin_create_channel(N, d, BC, so_list, tol=10**-10)

Creates MPO for a superoperator describing translationally invariant quantum channel from list of local superoperators. Function for finite size systems.

For OBC, tensor-network length N has to be at least 2k-1, where k is the correlation length (number of sites on which acts the biggest local superoperator). Local superoperators acting on more then 4 neighbouring sites are not currently supported.

Parameters:

  N: integer
    Number of sites in the chain of tensors (usually number of particles).
    For OBC tensor-network length N has to be at least 2k-1 where k is the correlation length (number of sites on which acts the biggest local superoperator).
  d: integer
    Dimension of local Hilbert space (dimension of physical index).
  BC: 'O' or 'P'
    Boundary conditions, 'O' for OBC, 'P' for PBC.
  so_list: list of ndarrays of a shape (d**(2*k),d**(2*k)) where k describes on how many sites a particular local superoperator acts
    List of local superoperators in order of their action on the system.
    Local superoperators acting on more then 4 neighbour sites are not currently supported.
  tol: float, optional
    Factor which after multiplication by the highest singular value gives a cutoff on singular values that are treated as nonzero.

Returns:

  ch: list of length N of ndarrays of shape (Dl_ch,Dr_ch,d**2,d**2) for OBC (Dl_ch, Dr_ch can vary between sites) or ndarray of shape (D_ch,D_ch,d**2,d**2,N) for PBC
    Quantum channel as a superoperator in the MPO representation.

fin_create_channel_derivative

fin_create_channel_derivative(N, d, BC, so_before_list, h, so_after_list)

Creates a MPO for the derivative (over estimated parameter) of the superoperator describing the quantum channel. Function for finite size systems.

Function for translationally invariant channels with unitary parameter encoding generated by h. Generator h has to be diagonal in the computational basis, or in other words it is assumed that local superoperators are expressed in the eigenbasis of h.

Parameters:

  N: integer
    Number of sites in the chain of tensors (usually number of particles).
  d: integer
    Dimension of local Hilbert space (dimension of physical index).
  BC: 'O' or 'P'
    Boundary conditions, 'O' for OBC, 'P' for PBC.
  so_before_list: list of ndarrays of a shape (d**(2*k),d**(2*k)) where k describes on how many sites particular local superoperator acts
    List of local superoperators (in order) which act before unitary parameter encoding.
  h: ndarray of a shape (d,d)
    Generator of unitary parameter encoding.
    Generator h have to be diagonal in computational basis, or in other words it is assumed that local superoperators are expressed in the eigenbasis of h.
  so_after_list: list of ndarrays of a shape (d**(2*k),d**(2*k)) where k describes on how many sites particular local superoperator acts
    List of local superoperators (in order) which act after unitary parameter encoding.

Returns:

  chd: list of length N of ndarrays of a shape (Dl_chd,Dr_chd,d**2,d**2) for OBC (Dl_chd, Dr_chd can vary between sites) or ndarray of a shape (D_chd,D_chd,d**2,d**2,N) for PBC
    Derivative of superoperator describing quantum channel in MPO representation.

fin_commutator

fin_commutator(N, d, BC, a, h, c)

Calculate MPO for commutator b = [a,] of MPO a with sum of local generators h and with arbitrary multiplicative scalar factor c.

Generator h have to be diagonal in computational basis, or in other words it is assumed that a is expressed in the eigenbasis of h.

Parameters:

  N: integer
    Number of sites in the chain of tensors (usually number of particles).
  d: integer
    Dimension of local Hilbert space (dimension of physical index).
  BC: 'O' or 'P'
    Boundary conditions, 'O' for OBC, 'P' for PBC.
  a: list of length N of ndarrays of a shape (Dl_a,Dr_a,d,d) for OBC (Dl_a, Dr_a can vary between sites) or ndarray of a shape (D_a,D_a,d,d,N) for PBC
    MPO.
  h: ndarray of a shape (d,d)
    Generator of unitary parameter encoding.
    Generator h have to be diagonal in computational basis, or in other words it is assumed that a is expressed in the eigenbasis of h.
  c: complex
    Scalar factor which multiplies sum of local generators.

Returns:

  b: list of length N of ndarrays of a shape (Dl_b,Dr_b,d,d) for OBC (Dl_b, Dr_b can vary between sites) or ndarray of a shape (D_b,D_b,d,d,N) for PBC
    Commutator [a, c*sum{h}] in MPO representation.

fin_enlarge_bdl

fin_enlarge_bdl(cold,factor)

Enlarge bond dimension of SLD MPO. Function for finite size systems.

Parameters:

  cold: SLD MPO, expected list of length n of ndarrays of a shape (bd,bd,d,d) for OBC (bd can vary between sites), or ndarray of a shape (bd,bd,d,d,n) for PBC
  factor: factor which determine on average relation between old and newly added values of SLD MPO

Returns:

  c: SLD MPO with bd += 1

fin_enlarge_bdpsi

fin_enlarge_bdpsi(a0old,factor)

Enlarge bond dimension of wave function MPS. Function for finite size systems.

Parameters:

  a0old: wave function MPS, expected list of length n of ndarrays of a shape (bd,bd,d) for OBC (bd can vary between sites), or ndarray of a shape (bd,bd,d,n) for PBC
  ratio: factor which determine on average relation between last and next to last values of diagonals of wave function MPS

Returns:

  a0: wave function MPS with bd += 1