# Corner transfer matrix

In statistical mechanics, the corner transfer matrix describes the effect of adding a quadrant to a lattice. Introduced by Rodney Baxter in 1968 as an extension of the Kramers-Wannier row-to-row transfer matrix, it provides a powerful method of studying lattice models. Calculations with corner transfer matrices led Baxter to the exact solution of the hard hexagon model in 1980.

## Definition

Consider an IRF (interaction-round-a-face) model, i.e. a square lattice model with a spin σ$_i$ assigned to each site i and interactions limited to spins around a common face. Let the total energy be given by
    $E=\sum _{all \atop faces}\epsilon \left(\sigma _{i},\sigma _{j},\sigma _{k},\sigma _{l}\right),$
where for each face the surrounding sites i, j, k and l are arranged as follows:
For a lattice with N sites, the partition function is
    $Z_{N}=\sum _{all \atop spins}\prod _{all \atop faces}w\left(\sigma _{i},\sigma _{j},\sigma _{k},\sigma _{l}\right),$
where the sum is over all possible spin configurations and w is the Boltzmann weight
    $w\left(\sigma _{i},\sigma _{j},\sigma _{k},\sigma _{l}\right)=\exp \left(-\epsilon \left(\sigma _{i},\sigma _{j},\sigma _{k},\sigma _{l}\right)/k_{B}T\right).$
To simplify the notation, we use a ferromagnetic Ising-type lattice where each spin has the value +1 or −1, and the ground state is given by all spins up (i.e. the total energy is minimised when all spins on the lattice have the value +1). We also assume the lattice has 4-fold rotational symmetry (up to boundary conditions) and is reflection-invariant. These simplifying assumptions are not crucial, and extending the definition to the general case is relatively straightforward.
Now consider the lattice quadrant shown below:
The outer boundary sites, marked by triangles, are assigned their ground state spins (+1 in this case). The sites marked by open circles form the inner boundaries of the quadrant; their associated spin sets are labelled {σ$_1$,...,σ$_m$} and {σ'$_1$,...,σ'$_m$}, where σ$_1$ = σ'$_1$. There are 2$^m$ possible configurations for each inner boundary, so we define a 2$^m$×2$^m$ matrix entry-wise by
    $A_{\sigma |\sigma '}=\delta \left(\sigma _{1},\sigma _{1}'\right)\sum _{interior \atop spins}\prod _{all \atop faces}w\left(\sigma _{i},\sigma _{j},\sigma _{k},\sigma _{l}\right).$
The matrix A, then, is the corner transfer matrix for the given lattice quadrant. Since the outer boundary spins are fixed and the sum is over all interior spins, each entry of A is a function of the inner boundary spins. The Kronecker delta in the expression ensures that σ$_1$ = σ'$_1$, so by ordering the configurations appropriately we may cast A as a block diagonal matrix:
    ${\begin{array}{cccc}&&{\begin{array}{ccccc}\sigma _{1}'=+1&&&&\sigma _{1}'=-1\end{array}}\\A&=&\left[{\begin{array}{ccccccc}&&&|\\&A_{+}&&|&&0\\&&&|\\-&-&-&|&-&-&-\\&&&|\\&0&&|&&A_{-}\\&&&|\end{array}}\right]&{\begin{array}{c}\sigma _{1}=+1\\\\\\\\\sigma _{1}=-1\end{array}}\end{array}}$
Corner transfer matrices are related to the partition function in a simple way. In our simplified example, we construct the full lattice from four rotated copies of the lattice quadrant, where the inner boundary spin sets σ, σ', σ" and σ'" are allowed to differ:
The partition function is then written in terms of the corner transfer matrix A as
    $Z_{N}=\sum _{\sigma ,\sigma ',\sigma '',\sigma '''}A_{\sigma |\sigma '}A_{\sigma '|\sigma ''}A_{\sigma ''|\sigma '''}A_{\sigma '''|\sigma }={\textrm {tr}}A^{4}.$

## Discussion
### Recursion relation

A corner transfer matrix A$_{2m}$ (defined for an m×m quadrant) may be expressed in terms of smaller corner transfer matrices A$_{2m-1}$ and A$_{2m-2}$ (defined for reduced (m-1)×(m-1) and (m-2)×(m-2) quadrants respectively). This recursion relation allows, in principle, the iterative calculation of the corner transfer matrix for any lattice quadrant of finite size.
Like their row-to-row counterparts, corner transfer matrices may be factored into face transfer matrices, which correspond to adding a single face to the lattice. For the lattice quadrant given earlier, the face transfer matrices are of size 2$^m$×2$^m$ and defined entry-wise by
    $\left(U_{i}\right)_{\sigma |\sigma '}=\delta \left(\sigma _{1},\sigma _{1}'\right)\cdots \delta \left(\sigma _{i-1},\sigma _{i-1}'\right)w\left(\sigma _{i},\sigma _{i+1},\sigma _{i}',\sigma _{i-1}\right)\delta \left(\sigma _{i+1},\sigma _{i+1}'\right)\cdots \delta \left(\sigma _{m},\sigma _{m}'\right),$
where 2 ≤ i ≤ m+1. Near the outer boundary, specifically, we have
    $\left(U_{m}\right)_{\sigma |\sigma '}=\delta \left(\sigma _{1},\sigma _{1}'\right)\cdots \delta \left(\sigma _{m-1},\sigma _{m-1}'\right)w\left(\sigma _{m},+1,\sigma _{m}',\sigma _{m-1}\right),$
    $\left(U_{m+1}\right)_{\sigma |\sigma '}=\delta \left(\sigma _{1},\sigma _{1}'\right)\cdots \delta \left(\sigma _{m},\sigma _{m}'\right)w\left(+1,+1,+1,\sigma _{m}\right).$
So the corner transfer matrix A factorises as
    $A=F_{2}\cdots F_{m+1},$
where
    $F_{j}=U_{m+1}\cdots U_{j}.$
Graphically, this corresponds to:
We also require the 2$^m$×2$^m$ matrices A* and A**, defined entry-wise by
    $\left(A^{*}\right)_{\sigma |\sigma '}=\delta \left(\sigma _{1},\sigma _{1}'\right)A_{\sigma _{2},\ldots ,\sigma _{m}|\sigma _{2}',\ldots ,\sigma _{m}'},$
    $\left(A^{**}\right)_{\sigma |\sigma '}=\delta \left(\sigma _{1},\sigma _{1}'\right)\delta \left(\sigma _{2},\sigma _{2}'\right)A_{\sigma _{3},\ldots ,\sigma _{m}|\sigma _{3}',\ldots ,\sigma _{m}'},$
where the A matrices whose entries appear on the RHS are of size 2$^{m-1}$×2$^{m-1}$ and 2$^{m-2}$×2$^{m-2}$ respectively. This is more clearly written as
    $A^{*}=I_{2}\otimes A_{2^{m-1}}=\left[{\begin{array}{cc}A&0\\0&A\end{array}}\right],$
    $A^{**}=I_{2}\otimes I_{2}\otimes A_{2^{m-2}}=\left[{\begin{array}{cccc}A&0&0&0\\0&A&0&0\\0&0&A&0\\0&0&0&A\end{array}}\right].$
Now from the definitions of A, A*, A**, U$_i$ and F$_j$, we have
    $A^{*}=F_{3}\cdots F_{m+1},A^{**}=F_{4}\cdots F_{m+1}$
    $\Rightarrow A=F_{2}A^{*},A^{*}=F_{3}A^{**}$
    $\Rightarrow A=A^{*}\left(A^{**}\right)^{-1}U_{2}A^{*},$
which gives the recursion relation for A$_{2m}$ in terms of A$_{2m-1}$ and A$_{2m-2}$.

### Diagonal form

When using corner transfer matrices to perform calculations, it is both analytically and numerically convenient to work with their diagonal forms instead. To facilitate this, the recursion relation may be rewritten directly in terms of the diagonal forms and eigenvector matrices of A, A* and A**.
Recalling that the lattice in our example is reflection-invariant, in the sense that
    $w\left(\sigma _{i},\sigma _{j},\sigma _{k},\sigma _{l}\right)=w\left(\sigma _{k},\sigma _{j},\sigma _{i},\sigma _{l}\right)=w\left(\sigma _{i},\sigma _{l},\sigma _{k},\sigma _{j}\right),$
we see that A is a symmetric matrix (i.e. it is diagonalisable by an orthogonal matrix). So we write
    $A=\alpha _{m}PA_{d}P^{T},$
where A$_d$ is a diagonal matrix (normalised such that its numerically largest entry is 1), α$_m$ is the largest eigenvalue of A, and P$^T$P = I. Likewise for A* and A**, we have
    $A^{*}=\alpha _{m-1}P^{*}A_{d}^{*}\left(P^{*}\right)^{T},$
    $A^{**}=\alpha _{m-2}P^{**}A_{d}^{**}\left(P^{**}\right)^{T},$
where A$_d$*, A$_d$**, P* and P** are defined in an analogous fashion to A* and A**, i.e. in terms of the smaller (normalised) diagonal forms and (orthogonal) eigenvector matrices of A$_{2m-1}$ and A$_{2m-2}$.
By substituting these diagonalisations into the recursion relation, we obtain
    $A_{t}=\kappa RA_{d}R^{T},$
where
    $\kappa ={\frac {\alpha _{m}\alpha _{m-2}}{\alpha _{m-1}^{2}}},$
    $R=\left(P^{*}\right)^{T}P,$
    $A_{t}=A_{d}^{*}\left(R^{*}\right)^{T}\left(A_{d}^{**}\right)^{-1}U_{2}R^{*}A_{d}^{*}.$
Now A$_t$ is also symmetric, and may be calculated if A$_d$*, A$_d$** and R* are known; diagonalising A$_t$ then yields its normalised diagonal form A$_d$, its largest eigenvalue κ, and its orthogonal eigenvector matrix R.

## Applications
### Spin expectation value

Corner transfer matrices (or their diagonal forms) may be used to calculate quantities such as the spin expectation value at a particular site deep inside the lattice. For the full lattice given earlier, the spin expectation value at the central site is given by
    $\left\langle \sigma _{1}\right\rangle ={\frac {1}{Z_{N}}}\sum _{all \atop spins}\sigma _{1}\prod _{all \atop faces}w\left(\sigma _{i},\sigma _{j},\sigma _{k},\sigma _{l}\right).$
With the configurations ordered such that A is block diagonal as before, we may define a 2$^m$×2$^m$ diagonal matrix
    $S=\left[{\begin{array}{cc}I&0\\0&-I\end{array}}\right],$
such that
    $\left\langle \sigma _{1}\right\rangle ={\frac {{\textrm {tr}}SA^{4}}{{\textrm {tr}}A^{4}}}={\frac {{\textrm {tr}}\alpha _{m}^{4}PSA^{4}P^{T}}{{\textrm {tr}}\alpha _{m}^{4}PA^{4}P^{T}}}={\frac {{\textrm {tr}}SA_{d}^{4}}{{\textrm {tr}}A_{d}^{4}}}.$

### Partition function per site

Another important quantity for lattice models is the partition function per site, evaluated in the thermodynamic limit and written as
    $\kappa =\lim _{N\rightarrow \infty }\left(Z_{N}\right)^{1/N}.$
In our example, this reduces to
    $\kappa =\lim _{N\rightarrow \infty }\left(\alpha _{m}^{4}{\textrm {tr}}A_{d}^{4}\right)^{1/N}\sim \alpha _{m}^{4/N},$
since tr A$_d$$^4$ is a convergent sum as m → ∞ and A$_d$ becomes infinite-dimensional. Furthermore, the number of faces 2m(m+1) approaches the number of sites N in the thermodynamic limit, so we have
    $\alpha _{m}\sim \kappa ^{m\left(m+1\right)/2},$
which is consistent with the earlier equation giving κ as the largest eigenvalue for A$_t$. In other words, the partition function per site is given exactly by the diagonalised recursion relation for corner transfer matrices in the thermodynamic limit; this allows κ to be approximated via the iterative process of calculating A$_d$ for a large lattice.
The matrices involved grow exponentially in size, however, and in actual numerical calculations they must be truncated at each step. One way of doing this is to keep the n largest eigenvalues at each step, for some fixed n. In most cases, the sequence of approximations obtained by taking n = 1,2,3,... converges rapidly, and to the exact value (for an exactly solvable model).