Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New version: FiniteMPS v1.5.0 #117755

Merged

Conversation

JuliaRegistrator
Copy link
Contributor

@JuliaRegistrator JuliaRegistrator commented Oct 21, 2024

## 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.
```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 c_i^\dagger(\beta/2) c_j\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.jl` and `KrylovKit.jl`.

Copy link
Contributor

github-actions bot commented Oct 21, 2024

Hello, I am an automated registration bot. I help manage the registration process by checking your registration against a set of AutoMerge guidelines. If all these guidelines are met, this pull request will be merged automatically, completing your registration. It is strongly recommended to follow the guidelines, since otherwise the pull request needs to be manually reviewed and merged by a human.

1. AutoMerge Guidelines are all met! ✅

Your new version registration met all of the guidelines for auto-merging and is scheduled to be merged in the next round.

2. To pause or stop registration

If you want to prevent this pull request from being auto-merged, simply leave a comment. If you want to post a comment without blocking auto-merging, you must include the text [noblock] in your comment.

Tip: You can edit blocking comments to add [noblock] in order to unblock auto-merging.

UUID: 6b572690-f317-4dad-a5fe-5fe73a0b7d42
Repo: https://github.com/Qiaoyi-Li/FiniteMPS.jl.git
Tree: 38807fb169367b5283c180fcb0171f28a4db3481

Registrator tree SHA: 17aec322677d9b81cdd6b9b9236b09a3f1374c6a
@JuliaRegistrator JuliaRegistrator force-pushed the registrator-finitemps-6b572690-v1.5.0-63d53449fe branch from c02294b to 8375967 Compare October 21, 2024 14:47
JuliaRegistrator referenced this pull request in Qiaoyi-Li/FiniteMPS.jl Oct 21, 2024
@JuliaTagBot JuliaTagBot merged commit 89fe3f5 into master Oct 21, 2024
9 checks passed
@JuliaTagBot JuliaTagBot deleted the registrator-finitemps-6b572690-v1.5.0-63d53449fe branch October 21, 2024 14:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants