ABSTRACT (original article): The one-dimensional - -state Potts model is solved exactly for arbitrary by introducing the maximally symmetric subspace (MSS) method to analytically block diagonalize the × transfer matrix to a simple matrix, based on using OpenAI’s latest reasoning model o3-mini-high to exactly solve the case. It is found that the model can be mapped to the 1D -state Potts model with acting as the nearest-neighbor interaction and as an effective magnetic field, extending the previous proof for , i.e., the Ising model. The exact results provide insights to outstanding physical problems such as the stacking of atomic or electronic orders in layered materials and the formation of a -dome-shaped phase often seen in unconventional superconductors. This work is anticipated to fuel both the research in one-dimensional frustrated magnets for recently discovered finite-temperature application potentials and the fast moving topic area of AI for sciences. CITATION (original article): Weiguo Yin, Exact Solution of the Frustrated Potts Model with Next-Nearest-Neighbor Interactions in One Dimension: An AI-Aided Discovery, arXiv:2503.23758. https://doi.org/10.48550/arXiv.2503.23758
J
1
J
2
q
q
2
q
2
q
2×2
q=3
q
J
2
J
1
q=2
T
c
Prompts and original code obtained by OpenAI’s o3-mini-high are found in the last part of the post
v0.0 2025-03-11 The zigzag ladder formulation of the 1D J1-J2 three-state Potts model. The transfer matrix formula generated by OpenAI's o3-mini-high reasoning model was correct but the explicit 9x9 matrix elements for q=3 were incorrect. The human researcher pointed out that T[[2,7]],T[[3,4]],T[[4,8]],T[[6,2]],T[[7,6]],T[[8,3]] and only them must be one. The AI now created the correct 9x9 matrix;
v1.0 2025-03-12 o3-mini-high used the symmetry group S3 to have block-diagonalized the 9x9 transfer matrix, showing that the largest eigenvalue of the 9x9 matrix is the same as the larger eigenvalue of a 2x2 matrix;
v1.1 2025-03-13 The human researcher was inspired to use the maximally symmetric subspace method (MSSM) to reduce the order of the transfer matrix from q^2 to 2 for arbitrary q. https://arxiv.org/abs/2503.23758v1
v1.3 2025-03-30 Added the overlapping-pairs formulation -> fixed bugs in o3-mini-high's code;
v1.4 2025-04-04 Added a theorem about the exact mapping to the standard 1D q-state Potts model with nearest-neighbor interaction J2 in a magnetic field J1;
see https://arxiv.org/abs/2503.23758v2
see https://arxiv.org/abs/2503.23758v2
Matrices (order)
Matrices (order)
1. zigzag-ladder formulation: TMatrix (q^2), Tblock22 (2);
2. overlapping-pairs formulation: TMatrixop (q^2), Tblock22op (2);
3. Potts model with nearest-neighbor interaction J2 in a magnetic field J1: TMatB (q), TblockB (2);
2. overlapping-pairs formulation: TMatrixop (q^2), Tblock22op (2);
3. Potts model with nearest-neighbor interaction J2 in a magnetic field J1: TMatB (q), TblockB (2);
Symmetry requires:
TMatrix = TMatrixop^2;
Tblock22= Tblock22op^2;
TMatrix = TMatrixop^2;
Tblock22= Tblock22op^2;
A theorem we proved:
Tblock22op = TblockB;
Tblock22op = TblockB;
Parameters and Basic Functions
Parameters and Basic Functions
In[]:=
ClearAll[q,delta,tol];q=3;Print["q= ",q]
q= 3
Kronecker delta
In[]:=
delta[x_,y_]:=If[x===y,1,0];
In[]:=
tol=1.*10^(-5);
2025-04-04 1D q - state Potts model with nearest - neighbor interaction J in a magnetic field h
2025-04-04 1D q - state Potts model with nearest - neighbor interaction J in a magnetic field h
1. Build the q x q transfer matrix Tmat
In[]:=
ClearAll[x,B,TMatB];(*x=Exp[J/T];B=Exp[h/T]*)TMatB[x_,B_]:=Table[Module[{bondTerm,fieldTerm},bondTerm=x^delta[i,j];fieldTerm=B^(delta[i,1]+delta[j,1]);bondTerm*fieldTerm],{i,1,q},{j,1,q}];If[q<5,TMatB[x,B]//MatrixForm]
Out[]//MatrixForm=
2 B | B | B |
B | x | 1 |
B | 1 | x |
2. Create two qx1 basis vectors that span the maximally symmetric subspace
In[]:=
ClearAll[e1,e2,V2q,Vq2,TblockB]e1=Normalize[Table[If[i==1,1,0],{i,1,q}]];e2=Normalize[Table[If[i!=1,1,0],{i,1,q}]];V2q={e1,e2};Vq2=Transpose[V2q];If[q<5,V2q//MatrixForm]
Out[]//MatrixForm=
1 | 0 | 0 |
0 | 1 2 | 1 2 |
3. The resulting 2 x2 matrix
In[]:=
TblockB[x_,y_]:=FullSimplify[V2q.TMatB[x,y].Vq2];MatrixForm[TblockB[x,y]]
Out[]//MatrixForm=
x 2 y | 2 y |
2 y | 1+x |
2025-03-13 The zigzag - ladder formulation of the 1D J1 - J2 q - state Potts model
2025-03-13 The zigzag - ladder formulation of the 1D J1 - J2 q - state Potts model
Two spins per unit cell
1. Construct the composite (rung) state space : states = {(a, b) | a, b in {1, ..., q}}
In[]:=
ClearAll[states,nStates];states=Flatten[Table[{a,b},{a,1,q},{b,1,q}],1];states//MatrixFormnStates=Length[states];(*nStates=q^2*)
Out[]//MatrixForm=
1 | 1 |
1 | 2 |
1 | 3 |
2 | 1 |
2 | 2 |
2 | 3 |
3 | 1 |
3 | 2 |
3 | 3 |
2. Build the q^2 x q^2 transfer matrix Tmatrix
In[]:=
ClearAll[x,y,z,t,TMatrix];(*x=Exp[j2/t];(*next-nearestfactor*)y=Exp[j1/2/t];(*half-rungfactor*)z=Exp[j1d/t];(*rung/diagonalfactor.Herej1d=j1;z=y^2*)*)TMatrix[x_,y_,z_]:=Table[Module[{onRungLeft,onRungRight,diagBond,legBonds},onRungLeft=y^delta[states[[i,1]],states[[i,2]]];onRungRight=y^delta[states[[j,1]],states[[j,2]]];diagBond=z^delta[states[[i,2]],states[[j,1]]];legBonds=x^(delta[states[[i,1]],states[[j,1]]]+delta[states[[i,2]],states[[j,2]]]);onRungLeft*onRungRight*diagBond*legBonds],{i,1,nStates},{j,1,nStates}];If[q<5,TMatrix[x,y,z]//MatrixForm]
Out[]//MatrixForm=
2 x 2 y | xyz | xyz | xy | 2 y | y | xy | y | 2 y |
xy | 2 x | x | z | xyz | z | 1 | x | y |
xy | x | 2 x | 1 | y | x | z | z | xyz |
xyz | z | z | 2 x | xy | x | x | 1 | y |
2 y | xy | y | xyz | 2 x 2 y | xyz | y | xy | 2 y |
y | 1 | x | x | xy | 2 x | z | z | xyz |
xyz | z | z | x | y | 1 | 2 x | x | xy |
y | x | 1 | z | xyz | z | x | 2 x | xy |
2 y | y | xy | y | 2 y | xy | xyz | xyz | 2 x 2 y |
Checkpoint: The matrix elements that should be 1. The initial code of o3 - mini - high failed the test. Then it corrected its calculations and learned the symmetry
In[]:=
If[q==3,t=TMatrix[x,y,z];CheckEntries={t[[2,7]],t[[3,4]],t[[4,8]],t[[6,2]],t[[7,6]],t[[8,3]]}];Print[">>>>>Checkpoint: Selected T matrix entries (should be 1): ",CheckEntries];
>>>>>Checkpoint: Selected T matrix entries (should be 1): {1,1,1,1,1,1}
3. Create two q^2 x1 basis vectors that span the maximally symmetric subspace
In[]:=
ClearAll[e1,e2,U2q,Uq2,Tblock22]e1=Normalize[Flatten[Table[If[i==j,1,0],{i,1,q},{j,1,q}]]];e2=Normalize[Flatten[Table[If[i==j,0,1],{i,1,q},{j,1,q}]]];U2q={e1,e2};Uq2=Transpose[U2q];U2q//MatrixForm;
4. The resulting 2 x2 matrix
In[]:=
Tblock22[x_,y_,z_]:=FullSimplify[U2q.TMatrix[x,y,z].Uq2];Print["Tblock22[x,y,z]= ",Tblock22[x,y,z]//MatrixForm]Print["Tblock22[x,y,y^2]= ",Tblock22[x,y,y^2]//MatrixForm]
Tblock22[x,y,z]=
2 y 2 x | 2 y(1+x+xz) |
2 y(1+x+xz) | 2 (1+x) |
Tblock22[x,y,y^2]=
2 y 2 x 2 y | 2 y(1+x+x2 y |
2 y(1+x+x2 y | 2 (1+x) 2 y |
5. Check the theorem : Tblock22 === TblockB^2
In[]:=
Print["TblockB[x,y]^2= ",FullSimplify[TblockB[x,y].TblockB[x,y]]//MatrixForm]Print[">>>>>Checkpoint: Identical to the NN only model in a field (J1=field, J2=NN interaction)? ",Tblock22[x,y,y^2]===FullSimplify[TblockB[x,y].TblockB[x,y]]]
TblockB[x,y]^2=
2 y 2 x 2 y | 2 y(1+x+x2 y |
2 y(1+x+x2 y | 2 (1+x) 2 y |
>>>>>Checkpoint: Identical to the NN only model in a field (J1=field, J2=NN interaction)? True
6. Define the largest eigenvalue of the transfer matrix using the above results
In[]:=
Clear[lambda]lambda[t_,j1_,j2_,j1d_,q_]:=Module[{u,v,w,x,y,z},x=Exp[j2/t];(*next-nearestfactor*)y=Exp[j1/2/t];(*half-rungfactor*)z=Exp[j1d/t];(*rung/diagonalfactor*)u=x^2y^2z+(q-1)y^2;v=(x+q-2)^2+(q-1)z;w=Sqrt[q-1](xz+x+q-2)y;(u+v)/2+Sqrt[((u-v)/2)^2+w^2]]
7. Do some numerical tests with the eigenvalues of the transfer matrix
q^2 x q^2 transfer matrix
2025-03-30 Added the “overlapping pairs” formulation
2025-03-30 Added the “overlapping pairs” formulation
One spin per unit cell
1. Build the q^2 x q^2 transfer matrix TMatrixop
Checkpoint : T’ = T^2
2. Projected 2 x2 matrix in the maximally symmetric subspace
3. Check the theorem : Tblock22op === TblockB
4. Define the largest eigenvalue of the transfer matrix using the above results
5. Do some numerical tests with the eigenvalues of the transfer matrix
q^2 x q^2 transfer matrix
To run the above codes for different q values, change q at the first line
The following codes are for arbitrary q
Test the relationship between the Zigzag - ladder and overlapping - pairs formulations : T’ = T^2
Zero - temperature entropy
Zero - temperature entropy
Overlapping - pairs formulation (one spin per unit cell)
Plotting Figs . 2 and 3 in the manuscript using the overlapping - pairs formulation (one spin per unit cell)
Plotting Figs . 2 and 3 in the manuscript using the overlapping - pairs formulation (one spin per unit cell)
Fig. 2 in the manuscript: Density plots of renormalized entropy 2S/Log[q]
Fig. 2 right panels: q=2
Fig. 2 right panels: q=2
Fig. 2 right panels: q = 3
Fig. 2 right panels: q = 4
Fig. 2 right panels: q = 10^6
Fig. 2 left panels: q = 2
Fig. 2 left panels: q = 3
Fig . 2 left panels: q = 4
Fig. 2 left panels: q = 10^6
Fig. 3 in the manuscript : zero - temperature normalized entropy 2 𝑆/Log[𝑞]
Original code from by OpenAI’s o3-mini-high
Original code from by OpenAI’s o3-mini-high
The original Mathematica code generated by OpenAI's o3-mini-high, which solved the 1D J1-J2 frustrated Potts model with q=3 (2025 - 03 - 13)
Prompts used
Prompts used
Prompt 1: Can you generate a Mathematica v13 .2 code to fully implement the above symmetry - respective block-diagonalization of the T matrix?
Prompt 2: SimultaneousBlockDiagonalization is not available in Mathematica 13.2
Prompt 3 : Step 5 incurs an error : $RecursionLimit::reclim : Recursion depth of 1024 exceeded
Prompt 4: The code didn’t get the aforementioned three 1x1 blocks and three 2x2 blocks using the symmetry . Can you fix the problem?
Prompt 5: In the above code, Tstd = Transpose[bStd] . Tmat . bStd; Tmat has a rank of 9 and bStd has a rank of 6, which are incompatible . Please fix it
Prompt 6: Error in the above code : Tstd = Simplify[Inverse[Ustd] . Tmat . Ustd], because Ustd is a 9 x6 matrix, Inverse[Ustd] is invalid.
Prompt 7: Please implement the above in a workable Mathematica code for the general q-state case
Parameters and Basic Functions
Parameters and Basic Functions
Kronecker delta
List of states (a, b) with a, b ∈ {1, 2, 3} in lexicographic order
Define the 9×9 Transfer Matrix T
Define the 9×9 Transfer Matrix T
According to the zigzag-ladder geometry with:-A rung bond between σ_A and σ_B on the same rung,-A diagonal (zigzag) bond coupling the B-spin on one rung to the A-spin on the next,-Leg bonds along each leg (A-to-A and B-to-B) for the next-nearest-neighbor interactions.We “split” the on-rung (J1) weight evenly between adjacent rungs.Thus,for a transition from state (a,b) to state (a',b'), we define: T((a,b),(a',b'))=Exp[s δ(b,a')+(*diagonal bond:B->next A*)t (δ(a,a')+δ(b,b'))+(*leg bonds:along A and along B*)(s/2)(δ(a,b)+δ(a',b')) (*half of the rung bond on each side*)]
For verification, one may check that the entries that should be 1 are indeed 1. For example, we expect T[[2, 7]] == 1, etc.
We represent S3 as the set of all permutations of {1,2,3}.For a given permutation g (represented as a list,e.g.{2,3,1}),define its action on a state (a,b):g*(a,b)=(g[[a]],g[[b]]).
List of all 6 permutations of {1, 2, 3}
Define the action of a permutation g on a state (a, b)
For each g ∈ S3, construct the 9×9 permutation matrix R (g)
S₃ has three irreps:-Trivial (dimension 1):chi(g)=1 for all g.-Sign (dimension 1):chi(g)=Signature[g] (with transpositions→-1,3-cycles→+1).-Standard (dimension 2):chi(e)=2,for a transposition:0,for a 3-cycle:-1. We need to assign characters according to the conjugacy classes.Using the ordering of groupS3 as returned by Permutations[{1,2,3}],we note:1. {1,2,3} is identity.2. {1,3,2} is a transposition.3. {2,1,3} is a transposition.4. {2,3,1} is a 3-cycle.5. {3,1,2} is a 3-cycle.6. {3,2,1} is a transposition.
Construct the Projection Operators for Each Irrep
Construct the Projection Operators for Each Irrep
The projection operator onto an irrep α is given by : Pα = (dα/ | S₃ |) Sum_ {g ∈ S₃} chiα (g) R (g) with | S₃ | = 6.
Note: The 9-dimensional space decomposes as:3⊗3=(1⊕2)⊗(1⊕2)=1⊕2⊕2⊕(1⊕1'⊕2) so we expect the image of PTriv to have dimension 2 (there are two trivial components), the image of PSign to have dimension 1, and the image of PStd to have dimension 6. (In our case,the projector PStd projects onto the direct sum of the three 2-d standard components.)
To extract an orthonormal basis for each projected subspace, we solve (P - Identity)*v = 0
Assemble the Change - of - Basis Matrix U
Assemble the Change - of - Basis Matrix U
We choose U to have as columns the basis vectors from the invariant subspaces. We order them (for example) as: first the two trivial, then the three standard 2-d blocks (6 vectors), then the sign (1 vector). This gives a total of 2+6+1=9 columns.
Verify that U is square and invertible
Block Diagonalize the Transfer Matrix T
Block Diagonalize the Transfer Matrix T
You can also extract the eigenvalues from each block, for example:
You can also extract the eigenvalues from each block, for example:
The above result that the larger eigenvalue of T2 is the same as the largest eigenvalue of T inspired Weiguo Yin to find the maximally symmetric subspace method. (2025 - 03 - 13)
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
AI-aided discovery: frustrated Potts model exact solution (nearest-neighbor interactions in 1D)
by Weiguo Yin
Wolfram Community, STAFF PICKS, May 22, 2025
https://community.wolfram.com/groups/-/m/t/3466026
by Weiguo Yin
Wolfram Community, STAFF PICKS, May 22, 2025
https://community.wolfram.com/groups/-/m/t/3466026