# 布洛赫球

## 态的表示

对于一个二能级态，我们通常标注它为$\ket{0}$或$\ket{1}$。这里，我们使用一个叫"Bloch"球的单位球体来刻画处于这两个态之间的所有叠加态。

<!-- ![布洛赫球示意图](){w=400px} -->

```{figure} pics/bloch-sphere.jpg
---
width: 60%
figclass: margin-caption
---
布洛赫球示意图
```

如图，这是一个典型的Bloch球体示意图，z轴正轴是$\ket{0}$，负轴是$\ket{1}$。对于任何一个态$\{\alpha\ket{0}+\beta\ket{1} | \alpha,\beta\in \mathbb{C}\}$来说，都可以用这球体上的一个点来描述。

同样的，这球面上的态可以使用矩阵的表示：

```{note}
:class: margin

一个值得一提的事情是，$\ket{0}$和$\ket{1}$的矩阵表达形式是量子力学里的本征态自然得到的结果，并非什么特殊的约定。当使用一个算符$A$的所有本征矢量$\{a\}$作为基时，这些本征矢量自身如果满足归一性就应当表达为$\begin{pmatrix} 1 & 0 \end{pmatrix}^T$等等。

```

$$
\ket{0} = \begin{pmatrix} 1 \\ 0 \end{pmatrix}
$$

$$
\ket{1} = \begin{pmatrix} 0 \\ 1 \end{pmatrix}
$$

$$
\ket{s} = \alpha\ket{0}+\beta\ket{1} = \begin{pmatrix} \alpha \\ \beta \end{pmatrix}
$$

既然我们有此Bloch球体，那就可以考虑在不同的极点的一些特殊态。我们假定在这球体上的三个方向的基矢量为$\mathbf{i}, \mathbf{j}, \mathbf{k}$，那么在这球体上的任何一个点就有了两种表示方式：

1. 使用$\alpha\ket{0}+\beta\ket{1}$的组合来表示。这里$\alpha$和$\beta$是复数且平方和等于1.
2. 使用$a\mathbf{i}+b\mathbf{j}+c\mathbf{k}$来表示。这里$a$,$b$,$c$是实数且平方和等于1.

第一种是使用态矢量来刻画的表示，第二种是几何的表示。

那么，对于在x轴极点方向的态就是：

1. 
    $$
    \ket{+} = \frac{1}{\sqrt{2}}(\ket{0}+\ket{1}) = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ 1 \end{pmatrix}
    $$

2. 
    $$
    1\mathbf{i}
    $$

在y轴极点方向的态就是：

1. 
    $$
    \ket{i} = \frac{1}{\sqrt{2}}(\ket{0}+i\ket{1}) = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ i \end{pmatrix}
    $$

2. 
    $$
    1\mathbf{j}
    $$

```{caution}
在态矢量的刻画中，由于态矢量是仅由$\ket{0}$和$\ket{1}$定义的空间中的矢量，所以只有$\braket{0|1}=0$, $\braket{+|-}=0$, $\braket{i|-i}=0$。而不能有$\braket{0|+}=0$。

但是在几何的表示中，显然是x, y, z三个轴彼此之间正交。

要千万小心这两种不同的正交定义。
```

## 算符的表示

### Pauli算符

显然, 这三组不同的极点都能**各自**完整的表述这个自旋的空间。对于三个不同的极点的态，我们希望能找到它们的本征算符。

比如对于$\ket{0}$和$\ket{1}$，我们希望有$\sigma_z$，使得$\sigma_z\ket{0}=\ket{0}$，而$\sigma_z\ket{1}=-\ket{1}$。一般来说，对一族本征态，可以构造出很多不同的本征算符，对应不同的本征值，这无非是“谱分解”的本征值不同而已。这里之所以强行选择$+1$作为$\ket{0}$的本征值而$-1$作为$\ket{1}$的本征值，是为了和几何定义相对应。

如此一来就有

$$
\braket{\sigma_z}_{\ket{0}}=1
$$

和

$$
\braket{\sigma_z}_{\ket{1}}=-1
$$

并且有

$$
\braket{\mathbf{k}\sigma_z}_{\ket{0}}=1\mathbf{k}
$$

$$
\braket{\mathbf{k}\sigma_z}_{\ket{1}}=-1\mathbf{k}
$$

显然可以构造出它的矩阵表示

$$
\begin{split}
\sigma_z &= 1 \ket{0}\bra{0} + ( -1 ) \ket{1}\bra{1} \\
         &= 1 \begin{pmatrix} 1 \\ 0 \end{pmatrix}\begin{pmatrix} 1 & 0 \end{pmatrix} + ( -1 ) \begin{pmatrix} 0 \\ 1 \end{pmatrix}\begin{pmatrix} 0 & 1 \end{pmatrix} \\
         &= \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}
\end{split}
$$

同理，有$\sigma_x$和$\sigma_y$，它们的矩阵表示是：

$$
\begin{split}
\sigma_x &= 1 \ket{+}\bra{+} + ( -1 ) \ket{-}\bra{-} \\
         &= 1 * \frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ 1 \end{pmatrix}\begin{pmatrix} 1 & 1 \end{pmatrix} + ( -1 ) * \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ -1 \end{pmatrix}\begin{pmatrix} 1 & -1 \end{pmatrix} \\
         &= \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}
\end{split}
$$

以下注意$\bra{s}$是$\ket{s}$的转置共轭。

$$
\begin{split}
\sigma_y &= 1 \ket{i}\bra{i} + ( -1 ) \ket{-i}\bra{-i} \\
         &= 1 * \frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ i \end{pmatrix}\begin{pmatrix} 1 & -i \end{pmatrix} + ( -1 ) * \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ -i \end{pmatrix}\begin{pmatrix} 1 & i \end{pmatrix} \\
         &= \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix}
\end{split}
$$

这三个矩阵被称为**Pauli矩阵**，或者算符被称为**Pauli算符**，在量子计算中广为使用。

可以发现

$$
\sigma_x^2 = \sigma_y^2 = \sigma_z^2 = \mathbb{1}
$$

### 矢量算符

定义以下算符（其实这种定义在之前已经初现端倪了）

$$
\vec{\sigma} = \mathbf{i}\sigma_x + \mathbf{j}\sigma_y + \mathbf{k}\sigma_z
$$

显然可以看出这是之前定义的态表示和矢量表示的一种映射。这个算符对态(矩阵)表示的期望值，就是几何表示中的三维实矢量。

$$
\braket{\vec{\sigma}}_{\ket{s}} = \vec{s}
$$

这里$\vec{s}$是在几何表示中和态表示对应的三维实矢量。

### 转动算符

倘若我们要让一个任意矢量绕Z轴旋转，可以发现这个操作就是:

$$
R_z(\theta) = e^{-i\theta \sigma_z/2}
$$

因为对任意矩阵的函数都有谱分解，

$$
f(A) = \sum_a f(a) \ket{a}\bra{a}
$$

那么

$$
\begin{split}
e^{-i\theta\sigma_z/2}(\alpha\ket{0}+\beta\ket{1}) &= (e^{-i\theta*1/2} \ket{0}\bra{0} + e^{-i\theta*(-1)/2} \ket{1}\bra{1}) (\alpha\ket{0}+\beta\ket{1}) \\
&= \alpha e^{-i\theta/2} \ket{0} + \beta e^{i\theta/2} \ket{1} \\
&= \alpha \ket{0} + \beta e^{i\theta} \ket{1}
\end{split}
$$

最后一步增加了一个全局相位。最后得到的态正好是初态绕Z轴旋转了顺时针$\theta$的角度。

考虑到x, y, z三个轴的对称性，肯定会有一个酉算符能将整个坐标体系的z轴变换到x轴上去

$$
U^\dagger \sigma_z U = \sigma_x
$$

而对于旋转算符，只需要将它展开成级数形式，再往中间插入$1=U U^\dagger$就能得到：

$$
\begin{split}
U^\dagger e^{-i\theta\sigma_z/2} U 
&= U^\dagger \sum_n c_n \sigma_z^n U \\
&= \sum_n c_n U^\dagger \sigma_z^n U \\
&= \sum_n c_n U^\dagger\sigma_z U\cdots U^\dagger\sigma_z U \\
&= \sum_n c_n \sigma_x^n \\
&= e^{-i\theta\sigma_x/2}
\end{split}
$$

这个式子说明先把坐标轴从x转到z，再绕z旋转，再从z转到x，其实就等同于$e^{-i\theta\sigma_x/2}$。当然，也可以从$\sigma_x$的谱分解来计算。此处不做更多的叙述。

关于绕y轴的旋转，显然是

$$
e^{-i\theta\sigma_y/2}
$$

关于绕三维空间的任意一个轴的旋转，因为可以分解为依次绕三个轴的旋转，所以为:

$$
R_\hat{n}(\theta) = e^{-i\theta\hat{n}\vec{\sigma}/2}
$$

它们的矩阵形式可以用谱分解很好的计算出来。