Releases: Qiaoyi-Li/FiniteMPS.jl
v1.5.0
FiniteMPS v1.5.0
New Features
Support the computation of imaginary-time proxy (ITP)
ITP forms like
- A concrete type
ImagTimeProxyGraph
to describe the terms to be calculated. -
addITP2!
andaddITP4!
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
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
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
andKrylovKit.jl
.
Closed issues:
- ERROR: MethodError: Cannot
convert
an object of type ObservableTree{1} to an object of type Dict (#5)
v1.4.2
FiniteMPS v1.4.2
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)
withi > j
ork > 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
v1.4.0
FiniteMPS v1.4.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 inObservableTree
. 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
FiniteMPS v1.3.0
- 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
FiniteMPS v1.2.2
- 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
FiniteMPS v1.2.1
- fix some errors when there exist complex operators in Hamiltonian
v1.2.0
FiniteMPS v1.2.0
Merged pull requests:
- add U1 and no sym spin local space (#1) (@phyjswang)
- add no symm dmrg and tanTRG w and w/o CBE (#2) (@phyjswang)
v0.3.0
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
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.