Skip to content

Releases: Qiaoyi-Li/FiniteMPS.jl

v1.5.0

21 Oct 15:01
Compare
Choose a tag to compare

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)

v1.4.2

17 May 17:49
Compare
Choose a tag to compare

FiniteMPS v1.4.2

Diff since v1.4.1

fixed bugs

  • throw an error when the step length in Krylov-based exponentiate is too large, which may lead to a dead loop in previous versions
  • force to normalize the output state after DMRG sweep

new features

  • add serial mode in calObs! for debugging
  • add auto swap in addIntr4!, with which we can compute the 4-site correlation (i, j, k, l) with i > j or k > l now
  • add U1U1tJFermion in LocalSpace, i.e. d=3 physical space in tJ model with $U_1$ (charge) $\times U_1$ (spin) symmetry

v1.4.1

23 Apr 05:12
Compare
Choose a tag to compare

FiniteMPS v1.4.1

Diff since v1.4.0

  • fix ambiguous method error of convert in Julia v1.9

v1.4.0

20 Apr 19:51
Compare
Choose a tag to compare

FiniteMPS v1.4.0

Diff since v1.3.0

  • fix the bug in ObservableTree which may give an incorrect sign for some 4-site fermionic correlations.
  • note the type parameter of the tree nodes in ObservableTree is different from old versions.
  • rewrite the implementation (method convert) for extracting the values stored in ObservableTree. The usage changes from
convert(Type, Tree::ObservableTree, name::NTuple{N, String})

to

convert(Type, Tree::ObservableTree)

where the supported Type contains Dict and NamedTuple. Passing in the name that corresponds to the correlation is no long needed.

v1.3.0

19 Apr 17:44
Compare
Choose a tag to compare

FiniteMPS v1.3.0

Diff since v1.2.2

  • support latest TensorKit.jl(v0.12.3) and KrylovKit.jl(v0.7.1)
  • complement two methods for some 4-site correlations
  • fix the bug in InteractionTree which may prevent some possible merges
  • add an example: triangular Heisenberg DMRG with $U_1$ or $SU_2$ symmetry

v1.2.2

04 Apr 15:07
Compare
Choose a tag to compare

FiniteMPS v1.2.2

Diff since v1.2.1

  • Prepare triplet pairing operators in local space U1SU2Fermion.
  • Fix the bug in calObs! which may cause dead loops. Now it will rethrow the error if any worker thread fails.

v1.2.1

26 Mar 13:39
Compare
Choose a tag to compare

FiniteMPS v1.2.1

Diff since v1.2.0

  • fix some errors when there exist complex operators in Hamiltonian

v1.2.0

27 Feb 08:47
Compare
Choose a tag to compare

FiniteMPS v1.2.0

Diff since v0.3.0

Merged pull requests:

v0.3.0

22 Nov 16:38
Compare
Choose a tag to compare

FiniteMPS.jl v0.3.0

The first stable version to support finite-temperature simulations.

main difference

  • write 1-site and 2-site TDVP
  • provide a template of SETTN and tanTRG
  • add localspace of U1 spinless fermion
  • write a preliminary CBE implementation (beta)

v0.2.0

13 Oct 22:59
Compare
Choose a tag to compare

v0.2.0

New features

  • Support poor man's multi-processing together with a demo in the example folder.
  • Modify mul! in TensorKit to support nested multi-threading for each worker.

Important changes

  • Update TensorKit to v0.12.0.
  • Rewrite multi-threading, some usages in old version become invalid.