Recent Releases of FiniteMPS
FiniteMPS - v1.6.0
FiniteMPS v1.6.0
Breaking changes
- Rewrite
addIntr!andaddObs!and change the interface. For example, consider a hopping term, now the usage becomesjulia addIntr!(Root, (Fdag, F), (i, j), (true, true), strength; Z = Z)where(true, true)means both operators are fermionic. Similarly,julia addObs!(Tree, (Fdag, F), (i, j), (true, true); Z = Z)for the calculation of single-particle correlations. - Now a multi-site correlation with duplicated site indices can automatically reduce to a shorter term. For example, in the case of $U1 \times SU2$ symmetry, the pairing correlation $\langle \Delta{12}^\dagger \Delta{23}\rangle$ can be simply calculated via
julia addObs!(Tree, U1SUFermions.ΔₛdagΔₛ, (1, 2, 2, 3), (true, true, true, true); Z = U1SUFermions.Z) - Support adding 3-site terms, e.g. chiral operator $Si \cdot (Sj \times S_k)$ pinning field, to the Hamiltonian.
Merged pull requests:
- ensure MPS used in calObs! is canonicalized at the first site (#7) (@phyjswang)
- Add addIntr3! and U₁SU₂ operator SSS (#10) (@Asmendeus)
- Julia
Published by github-actions[bot] about 1 year ago
FiniteMPS - v1.5.0
FiniteMPS v1.5.0
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
ImagTimeProxyGraphto describe the terms to be calculated. addITP2!andaddITP4!for adding terms like $\langle Ai(\beta/2) Bj\rangle\beta$ and $\langle Ai(\beta/2) Bj(\beta/2) Ck Dl \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 ci^\dagger(\beta/2) cj\rangle\beta$ with $U1\times SU2$ symmetry.
julia
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 ci^\dagger(\beta/2) cj\rangle\beta$ is stored at
julia
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.jlandKrylovKit.jl.
Closed issues:
- ERROR: MethodError: Cannot convert an object of type ObservableTree{1} to an object of type Dict (#5)
- Julia
Published by github-actions[bot] over 1 year ago
FiniteMPS - 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 > jork > lnow - add
U1U1tJFermionin LocalSpace, i.e.d=3physical space in tJ model with $U1$ (charge) $\times U1$ (spin) symmetry
- Julia
Published by github-actions[bot] almost 2 years ago
FiniteMPS - v1.4.0
FiniteMPS v1.4.0
- fix the bug in
ObservableTreewhich may give an incorrect sign for some 4-site fermionic correlations. - note the type parameter of the tree nodes in
ObservableTreeis different from old versions. - rewrite the implementation (method
convert) for extracting the values stored inObservableTree. The usage changes fromjulia convert(Type, Tree::ObservableTree, name::NTuple{N, String})to
julia convert(Type, Tree::ObservableTree)where the supportedTypecontainsDictandNamedTuple. Passing in the name that corresponds to the correlation is no long needed.
- Julia
Published by github-actions[bot] almost 2 years ago
FiniteMPS - 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
InteractionTreewhich may prevent some possible merges - add an example: triangular Heisenberg DMRG with $U1$ or $SU2$ symmetry
- Julia
Published by github-actions[bot] almost 2 years ago
FiniteMPS - 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)
- Julia
Published by Qiaoyi-Li over 2 years ago
FiniteMPS - v0.2.0
v0.2.0
New features
- Support poor man's multi-processing together with a demo in the
examplefolder. - 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.
- Julia
Published by Qiaoyi-Li over 2 years ago