# Using Symmetry in Exact Diagonalization

Kyungmin Lee

May 2020

## Symmetry Analysis

• If there is an operator $S$ which commutes with $H$ $$[H, S] = 0$$ then $H$ can be block diagonalized into eigensectors of $S$.
• $S$ is ofen a representation of symmetry
e.g.) translation symmetry, rotation symmetry, etc.
• For translation symmetry: the eigensectors are called the Bloch states [Bloch, Z. Phys. 52, 555 (1928)]

## Symmetry Group

### Definition of a group

#### 1. closure

$$\forall a, b, c:\quad a \star b \in G$$

#### 2. associativity

$$\forall a, b, c:\quad (a \star b) \star c = a \star (b \star c)$$

#### 3. identity

$$\exists e \forall a: \quad a \star e = e \star a = a$$

#### 4. inverse

$$\forall a \exists b: \quad a \star b = b \star a = e$$

• Product of two symmetry operation is also a symmetry operation
• Identity is a symmetry operation
• The inverse of a symmetry operation is also a symmetry operation

⇒ The symmetry operations form a group.

## Linear Representation

• A (linear) representation of group G on a vector space V is a map $R: G \rightarrow \mathrm{GL}(V)$ such that $$\forall g_1, g_2: \quad R(g_1 \star g_2) = R(g_1) \cdot R(g_2)$$ (group homomorphism)
• Dimension of the representation is the dimension of the vector space $V$ $$\dim R \equiv \dim V$$
• A representation need not be one-to-one
• e.g.) Mapping all elements to identity is a representation, since it satisfies group homomorphism condition. This is called the trivial representation.
• A representation can be written as matrices, given a set of basis vectors.

## Linear Representation: Example

Single magnon states in a L=4 chain with periodic boundary condition.
• The basis states:   |1⟩ = |↓↑↑↑⟩   |2⟩ = |↑↓↑↑⟩   |3⟩ = |↑↑↓↑⟩   |4⟩ = |↑↑↑↓⟩
• Translation group:   $T = \{ t_0=e, t_1, t_2, t_3 \}$
• Symmetry operation $$t_1 : \vert 1 \rangle \mapsto \vert 2 \rangle, \quad \vert 2 \rangle \mapsto \vert 3 \rangle, \quad \vert 3 \rangle \mapsto \vert 4 \rangle, \quad \vert 4 \rangle \mapsto \vert 1 \rangle, \quad \ldots$$
• Representation $$\small R(t_0) = \begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\end{pmatrix}, \quad R(t_1) = \begin{pmatrix} 0 & 0 & 0 & 1\\ 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\end{pmatrix}, \quad \ldots$$
• R satisfies group homomorphism

## Reducible Representation

If you choose the right basis, the matrices may be written in block-diagonal form

### Example: Point Group 1 (Cs)

The following is a representation of Cs \begin{aligned} R(E) = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}, \qquad R(\sigma) = \begin{pmatrix}0&1\\1&0\end{pmatrix} \end{aligned} $R(\sigma)$ in this basis is not block diagonal, but it can be chosen to be block diagonal (i.e. unitary transformed) \begin{aligned} R'(E) = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}, \qquad R'(\sigma) = \begin{pmatrix}1&0\\0&-1\end{pmatrix} \end{aligned}

## Reducible Representation

If you can find a basis in which $R(g)$ can be written in the following form $$R(g) = \begin{pmatrix} R_1(g) & \begin{matrix}0 & 0 & ... \\ 0 & 0 & ...\\ \vdots & \vdots & \ddots \end{matrix} \\ \begin{matrix}0 & 0 & ... \\ 0 & 0 & ...\\ \vdots & \vdots & \ddots \end{matrix} & R_2(g) \end{pmatrix},$$ i.e., $R \cong R_1 \oplus R_2$, then the representation $R$ is reducible.

## Irreducible Representation

• If a representation cannot be reduced, it is irreducible.
• An irreducible representation is called an irrep for short.
• Any one-dimensional representation is automatically irreducible

### Example: Point Group 4mm (C4v)

$$R(C_4) = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix} \qquad R(\sigma_v^{x}) = \begin{pmatrix} -1 & 0 \\ 0 & 1 \end{pmatrix}$$ R(C4) and Rvx) do not commute
⇒ Cannot diagonalize both.
R is not an irrep of 4mm.

## Well Known Examples

### 1. Translation Symmetry

$R: t_{\mathbf{r}} \mapsto e^{-i \mathbf{k} \cdot \mathbf{r}}$ is an irrep

1. R is group homomorphism   $R(t_{\mathbf{r}} \cdot t_{\mathbf{r}'}) = R(t_{\mathbf{r}+\mathbf{r}'}) = R(t_{\mathbf{r}}) \cdot R(t_{\mathbf{r}'})$
2. R is irreducible, since it is one-dimensional
• For a system with periodic boundary condition ( $t_{\mathbf{L}}=1$ ), $\mathbf{k}$ must satisfy $e^{i \mathbf{k}\cdot\mathbf{L}} = 1$.
• For a lattice system with discrete translation symmetry ($\bfr = \sum_{i} n_i \mathbf{a}_i$),
$\mathbf{k}$ and $\mathbf{k} + \mathbf{G}$ represent the same irrep (G ∈ reciprocal lattice).

## Well Known Examples

### 2. SO(3) Rotation Symmetry

For a rotation about $\hat{n}$ by φ, \begin{aligned} R(\hat{n}, \phi) = e^{-i \phi \mathbf{L} \cdot \hat{n}} \end{aligned} Orbitals s, p, d, ... are irreps

• s-wave $$L_x = L_y = L_z = 0$$
1. R is group homomorphism   $R(g_1 \cdot g_2) = R(g_1) \cdot R(g_2)$
2. R is irreducible, since it is one-dimensional

## Well Known Examples

### 2. SO(3) Rotation Symmetry

\begin{aligned} R(\hat{n}, \phi) = e^{-i \phi \mathbf{L} \cdot \hat{n}} \end{aligned}
• p-wave: \begin{aligned}\small L_x = \begin{pmatrix}0 & 0 & 0 \\ 0 & 0 &-i \\ 0 & i & 0\end{pmatrix}, \quad L_y = \begin{pmatrix}0 & 0 & i \\ 0 & 0 & 0 \\-i & 0 & 0\end{pmatrix}, \quad L_z = \begin{pmatrix}0 &-i & 0 \\ i & 0 & 0 \\ 0 & 0 & 0\end{pmatrix} \end{aligned} such that, e.g., $$\small R(\hat{x}, \phi) = \begin{pmatrix}1 & 0 & 0 \\ 0 & \cos(\phi) & -\sin(\phi) \\ 0 & \sin(\phi) & \cos(\phi) \end{pmatrix}, \quad R(\hat{z}, \phi') = \begin{pmatrix}\cos(\phi') & -\sin(\phi') & 0 \\ \sin(\phi') & \cos(\phi') & 0 \\ 0 & 0 & 1 \end{pmatrix}$$
1. R is group homomorphism
2. R is irreducible

## Well Known Examples

Database of irreps of point group / space group of crystal systems can be found at
Bilbao Crystallographic Server ## How do we use irrepsfor exact diagonalization?

• Symmetry group G, with irreps Γ1, Γ2, ... ΓD
• Arbitrary state |ψ
• |ψ⟩ can be written as a superposition $$\vert\psi\rangle = \sum_{i=1}^{D} \vert\psi;\Gamma_{i}\rangle$$ where |ψitransforms as Γi
• e.g., an arbitrary state can be written as superposition of plane waves.

## Grand (or, Great) Orthogonality Theorem

$$\sum_{g \in G} D^{(\Gamma)}_{\alpha\beta}(g^{-1}) D^{(\Gamma')}_{\gamma\delta}(g) = \delta_{\Gamma, \Gamma'} \delta_{\alpha\delta} \delta_{\beta\gamma} \frac{|G|}{\mathrm{dim}(\Gamma)}$$
• Γ and Γ' are irreducible representations,
• $D^{(\Gamma)}_{\alpha\beta}(g)$ is the $\alpha\beta$ component of the irrep Γ of element g

Thus the following operator

$$\hat{P}_{\alpha}^{(\Gamma)} \equiv \sum_{g\in G} D_{\alpha\alpha}^{(\Gamma)} (g^{-1}) \hat{R}(g)$$ projects to the (Γ,α) irrep component (up to normalization). $$\hat{P}_{\alpha}^{(\Gamma)} \hat{P}_{\beta}^{(\Gamma')} \propto \delta_{\Gamma, \Gamma'} \delta_{\alpha,\beta}$$
$$\hat{P}_{\alpha}^{(\Gamma)} \equiv \sum_{g\in G} D_{\alpha\alpha}^{(\Gamma)} (g^{-1}) \hat{R}(g)$$ $$\hat{P}^{(\Gamma)} \equiv \sum_{g\in G} \chi^{(\Gamma)} (g^{-1}) \hat{R}(g)$$ \begin{aligned} \hat{P}^{(\Gamma)} \hat{P}^{(\Gamma')} &= \sum_{g, h\in G} \chi^{(\Gamma)} (g^{-1}) \chi^{(\Gamma')} (h^{-1}) \hat{R}(g) \hat{R}(g) \hat{R}(h)\\ &= \sum_{g, h\in G} \mathrm{tr} \left[ D^{(\Gamma)} (g^{-1}) \right] \; \mathrm{tr} \left[ D^{(\Gamma')} (h^{-1}) \right] \hat{R}(g \cdot h) \end{aligned} $$g h = m \quad \Leftrightarrow \quad h^{-1} = m^{-1} g$$ \begin{aligned} \hat{P}^{(\Gamma)} \hat{P}^{(\Gamma')} &= \sum_{g, m\in G} \sum_{\alpha\beta\gamma} D^{(\Gamma)}_{\alpha\alpha} (g^{-1}) D^{(\Gamma')}_{\beta\gamma} (m^{-1}) D^{(\Gamma')}_{\gamma\beta} (g) \hat{R}(m)\\ &= \sum_{\alpha\beta\gamma} \left( \sum_{g} D^{(\Gamma)}_{\alpha\alpha} (g^{-1}) D^{(\Gamma')}_{\gamma\beta} (g) \right) \left( \sum_{m} D^{(\Gamma')}_{\beta\gamma} (m^{-1}) \hat{R}(m) \right) \\ &= \sum_{\alpha\beta\gamma} \frac{|G|}{|\Gamma|} \delta_{\Gamma, \Gamma'} \delta_{\alpha\beta} \delta_{\alpha\gamma} \sum_{m} D^{(\Gamma')}_{\beta\gamma} (m^{-1}) \hat{R}(m) \\ &= \delta_{\Gamma, \Gamma'} \frac{|G|}{|\Gamma|} \sum_{\alpha} \sum_{m} D^{(\Gamma')}_{\alpha\alpha} (m^{-1}) \hat{R}(m) \\ &= \delta_{\Gamma, \Gamma'} \frac{|G|}{|\Gamma|} \hat{P}^{(\Gamma)} \end{aligned}

## Example: 3m (C3v)

Consider the Γ3 representation
1 3+ 3- m11 m12 m21
$\begin{pmatrix}1&0\\0&1\end{pmatrix}$ $\begin{pmatrix} \omega &0\\0& \omega^2\end{pmatrix}$ $\begin{pmatrix} \omega^2&0\\0&\omega\end{pmatrix}$ $\begin{pmatrix}0&1\\1&0\end{pmatrix}$ $\begin{pmatrix}0&\omega^2\\\omega&0\end{pmatrix}$ $\begin{pmatrix}0&\omega\\\omega^2&0\end{pmatrix}$

($\omega=e^{2\pi i / 3}$)

the first, and second components of Γ3 of |ψ⟩ are \begin{aligned} \left[R(1) + \omega^2 R(3^+) + \omega R(3^-) \right] | \psi \rangle = | \psi; \Gamma_3 ,1 \rangle \\ \left[R(1) + \omega R(3^+) + \omega^2 R(3^-) \right] | \psi \rangle = | \psi; \Gamma_3 ,2 \rangle \end{aligned}

## Group Realization: Matrix Representation

• Matrix multiplication satisfies associativity
e.g.) mm2 (C2v) \begin{aligned} E : \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \qquad C_{2} : \begin{pmatrix}-1 & 0 \\ 0 &-1 \end{pmatrix} \\ \sigma_{v}^{x} : \begin{pmatrix}-1 & 0 \\ 0 & 1 \end{pmatrix} \qquad \sigma_{v}^{y} : \begin{pmatrix} 1 & 0 \\ 0 &-1 \end{pmatrix} \end{aligned}

element_names = ["E", "C2", "σvx", "σvy"]
element_matrices = [
[ 1  0;  0, 1],
[-1, 0;  0,-1],
[-1, 0;  0, 1],
[ 1, 0;  0,-1],
]

group_multiply(g1, g2) = g1 * g2
group_inverse(g1) = inv(g1)

g1 = element_matrices
g2 = element_matrices
g3 = group_multiply(g1, g2)
g4 = group_inverse(g1)


## Group Realization: Site Permutation

 E | | | | | | 7----8----9---- | | | | | | 4----5----6---- | | | | | | 1----2----3---- C2 | | | | | | 4----6----5---- | | | | | | 7----9----8---- | | | | | | 1----3----2---- σvx | | | | | | 7----9----8---- | | | | | | 4----6----5---- | | | | | | 1----3----2---- σvy | | | | | | 4----5----6---- | | | | | | 7----8----9---- | | | | | | 1----2----3----

element_names = ["E", "C2", "σvx", "σvy"]
elements = [
[1,2,3,4,5,6,7,8,9],
[1,3,2,7,9,8,4,6,5],
[1,3,2,4,6,5,7,9,8],
[1,2,3,7,8,9,4,5,6],
]

group_multiply(lhs, rhs) = [lhs[x] for x in rhs]
function group_inverse(arg)
out = [0 for x in arg]
for (i, x) in enumerate(arg)
out[x] = i
end
return out
end

g1 = elements
g2 = elements
g3 = group_multiply(g1, g2)
g4 = group_inverse(g1)


## Group Realization: Cayley Table

• If you want just the group structure, Cayley table (multiplication table) has all the information you need

e.g.) C2v (mm2)

· E C2 σvx σvy
E E C2 σvx σvy
C2 C2 E σvy σvx
σvx σvx σvy E C2
σvx σvy σvx C2 E

represent this as

 1 2 3 4 2 1 4 3 3 4 1 2 4 3 2 1

where integer 0 represents E, 1 represents C2, ...


element_names = ["E", "C2", "σvx", "σvy"]
multiplication_table = [1  2  3  4;
2  1  4  3;
3  4  1  2;
4  3  2  1]

group_multiply(mtab, i, j) = mtab[i,j]

function group_inverse(mtab, i)
for j in 1:size(mtab, 1)
if group_multiply(mtab, i, j) == 1
return j
end
end
end

g1 = 2
g2 = 4
g3 = group_multiply(multiplication_table, g1, g2)
g4 = group_inverse(multiplication_table, g1)


## Algorithm Recap: Basis Generation


algorithm create-basis is
input: N, number of sites
output: B, List of basis states in binary

for each ψ from 0 to (2^N-1)
append ψ to B
return B

algorithm create-basis-fixed-magnon is
input: N, number of sites
M, number of magnons
output: B, List of basis states in binary

for each ψ from 0 to (2^N-1)
if the binary number ψ has M number of ones
append ψ to B
return B
• Example: five sites, three magnons \begin{aligned} \vert \psi_1 \rangle &= | 00111 \rangle = | \uparrow\uparrow\downarrow\downarrow\downarrow \rangle \\ \vert \psi_2 \rangle &= | 01101 \rangle = | \uparrow\downarrow\downarrow\uparrow\downarrow \rangle \\ \vert \psi_3 \rangle &= | 01110 \rangle = | \uparrow\downarrow\downarrow\downarrow\uparrow \rangle \\ \vert \psi_4 \rangle &= | 11001 \rangle = | \downarrow\downarrow\uparrow\uparrow\downarrow \rangle \\ \vdots \\ \vert \psi_D \rangle &= | 11100 \rangle = | \downarrow\downarrow\downarrow\uparrow\uparrow \rangle \\ \end{aligned}

## Algorithm Recap: Hamiltonian Matrix Generation


algorithm represent-hamiltonian is
input: B, List of basis states
HF, Hamiltonian function
# HF takes a binary and
#    returns a list of (binary, amplitude)
output: HM, Hamiltonian matrix

for icol from 1 to length(B)
ψcol ← B[icol]
for (ψrow, amplitude) in HF(ψcol)
irow ← look up index of ψrow in B
add amplitude to HM at (irow, icol)
return HM

$$H \vert \psi_c \rangle = \sum_{\psi_r \in B} h_{(\psi_r, \psi_c)} \vert \psi_r \rangle$$

## Warm Up: Translation Symmetry

Five-site chain, 3 magnons:
t0 t1 t2 t3 t4
00111 01110 11100 11001 10011
01011 10110 01101 11010 10101
01101 11010 10101 01011 10110
01110 11100 11001 10011 00111
10011 00111 01110 11100 11001
10101 01011 10110 01101 11010
10110 01101 11010 10101 01011
11001 10011 00111 01110 11100
11010 10101 01011 10110 01101
11100 11001 10011 00111 01110

## Warm Up: Translation Symmetry

Five-site chain, 3 magnons:
t0 t1 t2 t3 t4
00111 01110 11100 11001 10011
01011 10110 01101 11010 10101
01101 11010 10101 01011 10110
01110 11100 11001 10011 00111
10011 00111 01110 11100 11001
10101 01011 10110 01101 11010
10110 01101 11010 10101 01011
11001 10011 00111 01110 11100
11010 10101 01011 10110 01101
11100 11001 10011 00111 01110
• {00111, 01110, 11100, 11001, 10011} form one group, and
{01011, 10110, 01101, 11010, 10101} form another.
• 00111 and 01011 are representatives of the two groups.
• In each momentum sector k, \begin{aligned} \vert k, 00111 \rangle &\equiv \frac{1}{\sqrt{5}} \sum_{n=0}^{4} e^{-i k n} R(t_{n}) \vert 00111 \rangle \\ \vert k, 01011 \rangle &\equiv \frac{1}{\sqrt{5}} \sum_{n=0}^{4} e^{-i k n} R(t_{n}) \vert 01011 \rangle. \end{aligned} will be the basis states.

## Warm Up: Translation Symmetry

Given a k-sector, we want to write the Hamiltonian in terms of the following states: \begin{aligned} \vert k, 00111 \rangle &\equiv \frac{1}{\sqrt{5}} \sum_{n=0}^{4} e^{-i k n} R(t_{n}) \vert 00111 \rangle \\ \vert k, 01011 \rangle &\equiv \frac{1}{\sqrt{5}} \sum_{n=0}^{4} e^{-i k n} R(t_{n}) \vert 01011 \rangle. \end{aligned}
This is equivalent to the following transformation
(Hk: 2×2, H: 10×10) $$H_k = U_{k}^{\dagger} H U_{k}$$ \begin{aligned} U_k &= {\small\begin{pmatrix} \frac{1}{\sqrt{5}} & 0 \\ 0 & \frac{1}{\sqrt{5}} \\ 0 & \frac{1}{\sqrt{5}}e^{-i2k} \\ \frac{1}{\sqrt{5}}e^{-ik} & 0 \\ \frac{1}{\sqrt{5}}e^{-i4k} & 0 \\ 0 & \frac{1}{\sqrt{5}}e^{-i4k} \\ 0 & \frac{1}{\sqrt{5}}e^{-ik} \\ \frac{1}{\sqrt{5}}e^{-i3k} & 0 \\ 0 & \frac{1}{\sqrt{5}}e^{-i3k} \\ \frac{1}{\sqrt{5}}e^{-i2k} & 0 \end{pmatrix}} \end{aligned}

## Warm Up: Translation Symmetry

Five-site chain, 3 magnons:
t0 t1 t2 t3 t4 reduced basis index amplitude
00111 01110 11100 11001 10011 1 1/√5
01011 10110 01101 11010 10101 2 1/√5
01101 11010 10101 01011 10110 2 e-i2k/√5
01110 11100 11001 10011 00111 1 e-ik/√5
10011 00111 01110 11100 11001 1 e-i4k/√5
10101 01011 10110 01101 11010 2 e-i4k/√5
10110 01101 11010 10101 01011 2 e-ik/√5
11001 10011 00111 01110 11100 1 e-i3k/√5
11010 10101 01011 10110 01101 2 e-i3k/√5
11100 11001 10011 00111 01110 1 e-i2k/√5
$$H_k = U_{k}^{\dagger} H U_{k}$$ \begin{aligned} U_k &= {\small\begin{pmatrix} \frac{1}{\sqrt{5}} & 0 \\ 0 & \frac{1}{\sqrt{5}} \\ 0 & \frac{1}{\sqrt{5}}e^{-i2k} \\ \frac{1}{\sqrt{5}}e^{-ik} & 0 \\ \frac{1}{\sqrt{5}}e^{-i4k} & 0 \\ 0 & \frac{1}{\sqrt{5}}e^{-i4k} \\ 0 & \frac{1}{\sqrt{5}}e^{-ik} \\ \frac{1}{\sqrt{5}}e^{-i3k} & 0 \\ 0 & \frac{1}{\sqrt{5}}e^{-i3k} \\ \frac{1}{\sqrt{5}}e^{-i2k} & 0 \end{pmatrix}} \end{aligned}

## Algorithm: Symmetry Reduction

• Pick a momentum k
• For every basis state |ψ⟩ in the original Hilbert space
• Project out the k component of |ψ⟩ → |ψ,k⟩ and append it to the new basis if it is nonzero.
• Make sure |ψ,k⟩ is not already in the reduced basis.
$$\vert \psi, \mathbf{k} \rangle = \frac{1}{\mathcal{N}} \sum_{\mathbf{x}} e^{-i \mathbf{k} \cdot \mathbf{x}} R(t_\mathbf{x}) \vert \psi \rangle$$
Resulting (symmetry-reduced) basis
• U : D × d matrix $$\small U = \begin{pmatrix} U_{11} & 0 & 0 & \ldots & 0 \\ 0 & U_{22} & 0 & \ldots & 0 \\ 0 & U_{32} & 0 & \ldots & 0 \\ U_{41} & 0 & 0 & \ldots & 0 \\ 0 & 0 & U_{43} & \ldots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \ldots & U_{Dd}\\ \end{pmatrix}$$
• Each column is a normalized projection of a product state

## Algorithm: Symmetry Reduction

• Pick an irrep Γ and its component α
• For every basis state |ψ⟩ in the original Hilbert space
• Project out the Γα component of |ψ⟩ → |ψ,Γα⟩ and append it to the new basis if it is nonzero.
• Make sure |ψ,Γα⟩ is not already in the reduced basis.
$$\vert \psi, \Gamma \alpha \rangle = \frac{1}{\mathcal{N}} \sum_{g} D_{\alpha\alpha}^{(\Gamma)}(g^{-1}) R(g) \vert \psi \rangle$$
Resulting (symmetry-reduced) basis
• U : D × d matrix $$\small U = \begin{pmatrix} U_{11} & 0 & 0 & \ldots & 0 \\ 0 & U_{22} & 0 & \ldots & 0 \\ 0 & U_{32} & 0 & \ldots & 0 \\ U_{41} & 0 & 0 & \ldots & 0 \\ 0 & 0 & U_{43} & \ldots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \ldots & U_{Dd}\\ \end{pmatrix}$$
• Each column is a normalized projection of a product state

## Algorithm: Symmetry Reduction

• Note that this form of $U$ whose entries are 0 or a complex number of unit length, which greatly simplifes the computational complexity of the algorithm for the generation of the reduced basis, and the memory required to store it.
• For a generic choice of matrices for two or higher dimensional irreps, or for projection using characters, manual orthogonalization procedure is necessary.
• See Properties and proofs.
Resulting (symmetry-reduced) basis
• U : D × d matrix $$\small U = \begin{pmatrix} U_{11} & 0 & 0 & \ldots & 0 \\ 0 & U_{22} & 0 & \ldots & 0 \\ 0 & U_{32} & 0 & \ldots & 0 \\ U_{41} & 0 & 0 & \ldots & 0 \\ 0 & 0 & U_{43} & \ldots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \ldots & U_{Dd}\\ \end{pmatrix}$$
• Each column is a normalized projection of a product state

## Algorithm: Hilbert Space Reduction


algorithm symmetry-reduce-basis is
input: B, List of basis states
S, Symmetry group (list of symmetry operations)
R, Irrep (List of amplitudes)
output: BR, List of reduced basis states (subset of B)
M, Mapping from a state in B to a state in BR
U, Amplitudes of the basis transformation
N = length(B)          # number of original basis vectors
BR = []                # list of representative states
M  = [null, ..., null] # N elements
A  = [0, ..., 0]       # N zeros
for ψ in B which can be a representative under S
ψsym ← empty hash table
for (s, r) in (S, R)
ψ2 ← apply s to ψ
if ψsym is a null vector
continue
normalize ψsym
append ψ to BR
for (ψ2 => r) in ψsym where r is nonzero
M[ψ2] ← ψ
U[ψ2] ← r
return (BR, M, A)

• BR=[ψ1, ψ2, ψ4, ... ] = [ψ'1, ψ'2, ψ'3, ... , ψ'd] are the "representative" states
- U : D × d matrix $$\small \begin{pmatrix} U_{11} & 0 & 0 & \ldots & 0 \\ 0 & U_{22} & 0 & \ldots & 0 \\ 0 & U_{32} & 0 & \ldots & 0 \\ U_{41} & 0 & 0 & \ldots & 0 \\ 0 & 0 & U_{43} & \ldots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \ldots & U_{Dd}\\ \end{pmatrix}$$

## Algorithm: Hamiltonian Reduction


algorithm represent-hamiltonian is
input: B, List of basis states
HF, Hamiltonian function
output: HM, Hamiltonian matrix
for ic from 1 to length(B)
ψc ← B[ic]
for each (ψr, Hrc) in HF(ψc)
ir ← look up index of ψr in B
add Hrc to HM at (ir, ic)
return HM


algorithm represent-reduced-hamiltonian is
input: B, List of representative basis states
HF, Hamiltonian function
M, U, basis index and amplitude
output: HM, Hamiltonian matrix
for ic from 1 to length(B)
ψc ← B[icol]
Uc ← basis-amplitude of ψc
for each (ψr, Hrc) in HF(ψc)
ir ← look up ψr
Ur ← basis-amplitude of ψc
add (Ur * Hrc / Uc) to HM at (ir, ic)
return HM

$$H \vert \psi_c \rangle = \sum_{\psi_r \in B} h_{(\psi_r, \psi_c)} \vert \psi_r \rangle$$

## Space Group

• Symmorphic space group S $$S = T \rtimes P$$
• For Hilbert space/Hamiltonian reduction, need to find U (D×d matrix).
• Conceptually,
1. reduce using translation,
2. and then within each momentum block, further reduce using the remaining symmetry (i.e. point symmetry).
• Implementation-wise, do both steps at once.

## Algorithm: Space Group Reduction

1. Pick an allowed momentum k.
2. Find out what is the little group at momentum k.
(We want to use the symmetry operations that acts within the k-block)
3. Pick an irrep component Γkα of the little group
4. Do the projection step using $$\hat{P}_{\alpha}^{(k,\Gamma_k)} \equiv \sum_{t \in T} \sum_{p\in P} D^{(k)}(t^{-1}) D_{\alpha\alpha}^{(\Gamma_k)} (p^{-1}) \hat{R}(g) \hat{R}(t)$$

## Non-Trivial Example: Square Lattice (4 × 4) Bilbao Crystallographic Server

## Non-Trivial Example: Square Lattice (4 × 4)  