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).

momentum ≒ irrep of translation group

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 irreps
for 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}$$

How do you realize a group (on a computer)?

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[2]
g2 = element_matrices[4]
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[2]
g2 = elements[4]
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)
	

Using Symmetry to Reduce Hamiltonian Size

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 ψ
			add conj(r) to ψsym[ψ2]
		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 $$

Using the Full Space Group

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)