Releases: Qiaoyi-Li/FiniteMPS.jl
v1.8.0
FiniteMPS v1.8.0
- support adaptive step length for tanTRG
- support effective temperature in 1-DMRG to support annealing method
- modify implementation of noise in
mulandaxpby - fix type mismatch error in spin-fermion mixed systems (e.g. Kondo lattice)
v1.7.2
FiniteMPS v1.7.2
- modify noise algorithm in
mul!andaxpby! - add spin bond operators in
U1SU2Fermionand corresponding tests - minor bug fix
Merged pull requests:
- add spin nematic correlator for U1Spin case S++-- (#14) (@phyjswang)
v1.7.1
FiniteMPS v1.7.1
- fix bug:
MethodErrorwhen adding 4-site correlations toObservableTree.
v1.7.0
FiniteMPS v1.7.0
A stable version after merging a sequence of commits in dev branch.
Closed issues:
- Unexpected Behavior in addIntr! When Handling Symmetric all-to-all Interactions (#11)
v1.6.1
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 becomes
addIntr!(Root, (Fdag, F), (i, j), (true, true), strength; Z = Z)where (true, true) means both operators are fermionic. Similarly,
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
$U_1 \times SU_2$ symmetry, the pairing correlation$\langle \Delta_{12}^\dagger \Delta_{23}\rangle$ can be simply calculated via
addObs!(Tree, U1SUFermions.ΔₛdagΔₛ, (1, 2, 2, 3), (true, true, true, true); Z = U1SUFermions.Z)- Support adding 3-site terms, e.g. chiral operator
$S_i \cdot (S_j \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₂ operatorSSS(#10) (@Asmendeus)
v1.5.0
FiniteMPS v1.5.0
New Features
Support the computation of imaginary-time proxy (ITP)
ITP forms like
- A concrete type
ImagTimeProxyGraphto 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.jlandKrylovKit.jl.
Closed issues:
- ERROR: MethodError: Cannot
convertan 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 > jork > lnow - add
U1U1tJFermionin LocalSpace, i.e.d=3physical 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
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 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.