Skip to content

Add quantum Ashkin-Teller model#67

Merged
lkdvos merged 4 commits intoQuantumKitHub:mainfrom
BramVancraeynest:main
Mar 31, 2026
Merged

Add quantum Ashkin-Teller model#67
lkdvos merged 4 commits intoQuantumKitHub:mainfrom
BramVancraeynest:main

Conversation

@BramVancraeynest
Copy link
Copy Markdown
Contributor

Add quantum Ashkin-Teller model to MPSKitModels.jl.
Currently only implemented with Z2Irrep ⊠ Z2Irrep symmetry. I've added one test that checks for a number of parameters for which the model is dual to the spin 1/2 XXZ chain, and thus integrable, the ground state energy density.

Copy link
Copy Markdown
Member

@lkdvos lkdvos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this! Out of curiosity, would it help you/make this kind of model easier to implement for arbitrary symmetries if we include a function for blocking sites?
I don't know that much about this model, but it looks to me like it could be realized with the deligneproduct from TensorKit, which works on tensors as well (somewhat not well-known feature)

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 9, 2026

Codecov Report

❌ Patch coverage is 81.81818% with 6 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/models/hamiltonians.jl 84.37% 5 Missing ⚠️
src/utility.jl 0.00% 1 Missing ⚠️
Files with missing lines Coverage Δ
src/MPSKitModels.jl 100.00% <ø> (ø)
src/utility.jl 55.55% <0.00%> (-3.27%) ⬇️
src/models/hamiltonians.jl 47.50% <84.37%> (+9.21%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@BramVancraeynest
Copy link
Copy Markdown
Contributor Author

BramVancraeynest commented Mar 10, 2026

Thanks for this! Out of curiosity, would it help you/make this kind of model easier to implement for arbitrary symmetries if we include a function for blocking sites? I don't know that much about this model, but it looks to me like it could be realized with the deligneproduct from TensorKit, which works on tensors as well (somewhat not well-known feature)

Yes, initially I was indeed trying to construct the local Hamiltonian terms with the deligneproduct implementation for TensorMaps before resorting to the current implementation. I agree that such an implementation would probably be preferable.
As far as I can tell, after invoking the deligneproduct for the on-site (nearest-neighbour) terms, this requires to fuse the (co)domain so as to obtain a rank 2 (rank 4) tensor? For the on-site operators something like:

using TensorKit

T = ComplexF64
S = Z2Irrep  Z2Irrep
V = Vect[S](c => 1 for c in values(S))

X = σˣ(T, Z2Irrep)
Id = one(X)

f = isometry(T, V, codomain(Id  Id))

@tensor XI[-1; -2] := f[-1; 1 2] * (X  Id)[1 2; 3 4] * conj(f[-2; 3 4])
@tensor IX[-1; -2] := f[-1; 1 2] * (Id  X)[1 2; 3 4] * conj(f[-2; 3 4])
@tensor XX[-1; -2] := f[-1; 1 2] * (X  X)[1 2; 3 4] * conj(f[-2; 3 4])

Copy link
Copy Markdown
Member

@lkdvos lkdvos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for taking a while to get to this, I made some small changes which I think makes it so it automatically works with a variety of symmetries, for most cases except for the additional Z2 you would have for interchanging the two Z2s, for which I am not convinced it actually leads to a speedup anyways.
Let me know what you think, I'll try and merge + tag something tomorrow.

@BramVancraeynest
Copy link
Copy Markdown
Contributor Author

Thanks so much! Looks great!

@lkdvos lkdvos merged commit 57dc354 into QuantumKitHub:main Mar 31, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants