Skip to content

v1.5.0

Compare
Choose a tag to compare
@github-actions github-actions released this 21 Oct 15:01
· 22 commits to main since this release

FiniteMPS v1.5.0

Diff since v1.4.2

New Features

Support the computation of imaginary-time proxy (ITP)

ITP forms like $\langle A(\beta/2) B\rangle_\beta = Z^{-1}{\rm Tr}\{e^{-\beta H/2} A e^{-\beta H/2} B\}$, which can be directly obtained with the thermal density operator $e^{-\beta H/2}$ represented as MPO. We provide the following interfaces for users.

  • A concrete type ImagTimeProxyGraph to describe the terms to be calculated.
  • addITP2! and addITP4! for adding terms like $\langle A_i(\beta/2) B_j\rangle_\beta$ and $\langle A_i(\beta/2) B_j(\beta/2) C_k D_l \rangle_\beta$, respectively.
  • merge! to compress the graph partially.
  • calITP! for in-place calculation.

Detailed usage please see the documentation via ? in REPL.

Example

The following shows a sample code for the calculation of the single particle Green's function $\langle c_i^\dagger(\beta/2) c_j\rangle_\beta$ with $U_1\times SU_2$ symmetry.

G = ImagTimeProxyGraph(L)
for i in 1:L, j in i:L
    addITP2!(G, U1SU2Fermion.FdagF, (i, j), (:Fdag, :F); Z=U1SU2Fermion.Z)
end
merge!(G)
calITP!(G, rho)

where rho is a length-L MPO that represents $Z^{-1/2}e^{-\beta H/2}$. After this, the value of $\langle c_i^\dagger(\beta/2) c_j\rangle_\beta$ is stored at

G.Refs["FdagF"][(i, j)][]

There may exist bugs that have not yet been discovered, please check carefully with the results.

Other changes

  • Update dependent packages such as TensorKit.jl and KrylovKit.jl.

Closed issues:

  • ERROR: MethodError: Cannot convert an object of type ObservableTree{1} to an object of type Dict (#5)