『クラウド量子計算入門』の演習を行う (4 位相シフトゲートの量子実験) その１


# はじめに

こちらの本を読みつつ、演習・実験を試してみます。

- [『クラウド量子計算入門―IBMの量子シミュレーションと量子コンピュータ』](https://www.amazon.co.jp/dp/4877834087/)

![q.jpg](https://qiita-image-store.s3.amazonaws.com/0/20418/e67e0ddc-ba9e-e647-a277-7cd216410bb5.jpeg "q.jpg")

「[Quantum Experience 2.0 リリース!?](http://qiita.com/Suna/items/9946c369b7146a12cf6e)」でブロッホ測定用の OPERATION がなくなり、球の回転の状況が見られないため（？）、演習 4-3 以降のブロッホ球を載せてる意味があまりない。

# 4 位相シフトゲートの量子実験

## 4.1 位相シフト演算とは

### 4.1.2 位相シフト演算 S と T

#### 演習 4-1

> 量子シミュレータで、変換式 $ SYS^{\dagger} = -X $ を確かめる量子回路を作成し、一致しているか確かめよ。

##### 行列計算

```math
SYS^\dagger|0\rangle
=
\begin{bmatrix} 1 & 0 \\ 0 & i \end{bmatrix}
\begin{bmatrix} 0 & -i \\ i & 0 \end{bmatrix}
\begin{bmatrix} 1 & 0 \\ 0 & -i \end{bmatrix}
\begin{bmatrix} 1 \\ 0 \end{bmatrix}
=
\begin{bmatrix} 0 \\ i^2 \end{bmatrix}
=
-|1\rangle
```

```math
X|0\rangle
=
\begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}
\begin{bmatrix} 1 \\ 0 \end{bmatrix}
=
\begin{bmatrix} 0 \\ 1 \end{bmatrix}
=
|1\rangle
```

```math
SYS^\dagger|1\rangle
=
\begin{bmatrix} 1 & 0 \\ 0 & i \end{bmatrix}
\begin{bmatrix} 0 & -i \\ i & 0 \end{bmatrix}
\begin{bmatrix} 1 & 0 \\ 0 & -i \end{bmatrix}
\begin{bmatrix} 0 \\ 1 \end{bmatrix}
=
\begin{bmatrix} 1 \\ 0 \end{bmatrix}
=
|0\rangle
```

```math
X|1\rangle
=
\begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}
\begin{bmatrix} 0 \\ 1 \end{bmatrix}
=
\begin{bmatrix} 1 \\ 0 \end{bmatrix}
=
|0\rangle
```

##### 測定

###### 量子回路

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/bd3834d2-68ae-6f1d-6bf2-50e025467a92.png "visualIBMQASM.png")

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/a54d8ac3-46a1-3488-1356-ec53f749742d.png "visualIBMQASM.png")

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/c72c35e4-cdc9-582d-637a-48e66022f37f.png "visualIBMQASM.png")

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/650e4b8a-0c4b-1ad6-beeb-43264e370650.png "visualIBMQASM.png")

###### ブロッホ球

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/c4628305-065f-ea43-fded-317c80770110.png "qSphere.png")

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/0636dd35-d3dc-f342-1bff-14d20e847221.png "qSphere.png")

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/cb277969-d673-d5ae-1df5-2b238ff3b773.png "qSphere.png")

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/c9f20013-8d05-2d20-8a68-7f45677b7302.png "qSphere.png")

#### 演習 4-2

> 量子シミュレータで、変換式 $ SZS^{\dagger} = Z $ を確かめる量子回路を作成し、一致しているか確かめよ。

##### 行列計算

```math
SZS^\dagger|0\rangle
=
\begin{bmatrix} 1 & 0 \\ 0 & i \end{bmatrix}
\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}
\begin{bmatrix} 1 & 0 \\ 0 & -i \end{bmatrix}
\begin{bmatrix} 1 \\ 0 \end{bmatrix}
=
\begin{bmatrix} 1 \\ 0 \end{bmatrix}
=
|0\rangle
```

```math
Z|0\rangle
=
\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}
\begin{bmatrix} 1 \\ 0 \end{bmatrix}
=
\begin{bmatrix} 1 \\ 0 \end{bmatrix}
=
|0\rangle
```

```math
SZS^\dagger|1\rangle
=
\begin{bmatrix} 1 & 0 \\ 0 & i \end{bmatrix}
\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}
\begin{bmatrix} 1 & 0 \\ 0 & -i \end{bmatrix}
\begin{bmatrix} 0 \\ 1 \end{bmatrix}
=
\begin{bmatrix} 0 \\ i^2 \end{bmatrix}
=
-|1\rangle
```

```math
Z|1\rangle
=
\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}
\begin{bmatrix} 0 \\ 1 \end{bmatrix}
=
\begin{bmatrix} 0 \\ -1 \end{bmatrix}
=
-|1\rangle
```

##### 測定

###### 量子回路

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/8cc4ebd9-9c77-faf0-b792-2e18f08cbd89.png "visualIBMQASM.png")

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/cca4ee6d-4ecc-c1af-df9b-f2bb239e0ff7.png "visualIBMQASM.png")

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/65e792ac-d433-b05c-31b6-e9b4a189b2a9.png "visualIBMQASM.png")

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/54b4e5e1-61de-445c-7b3d-59fd9dfab1f1.png "visualIBMQASM.png")

###### ブロッホ球

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/e2e2ddb0-2257-a185-8491-124f84c4992f.png "qSphere.png")

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/25cd6741-b202-cbc5-313d-ff76c5467559.png "qSphere.png")

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/c2903bf3-12ba-a705-d252-58a17d789517.png "qSphere.png")

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/e1c39b5d-64cb-ce0a-1948-20503fd2fcd6.png "qSphere.png")

### 4.1.3 位相シフト演算 S でのアダマール変換

#### 演習 4-3

> 量子シミュレータで、$ H|0\rangle $、$ S^{\dagger}H|0\rangle $、$ HS^{\dagger}H|0\rangle $ を確かめる量子回路を作成し、どのように量子ビットが回転するか行列計算とともに比較して確かめよ。

##### 行列計算

```math
H|0\rangle
=
\frac{1}{ \sqrt{2} }
\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}
\begin{bmatrix} 1 \\ 0 \end{bmatrix}
=
\frac{1}{ \sqrt{2} }
\begin{bmatrix} 1 \\ 1 \end{bmatrix}
=
\frac{ |0\rangle + |1\rangle }{ \sqrt{2} }
```

```math
S^\dagger H|0\rangle
=
\frac{1}{ \sqrt{2} }
\begin{bmatrix} 1 & 0 \\ 0 & -i \end{bmatrix}
\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}
\begin{bmatrix} 1 \\ 0 \end{bmatrix}
=
\frac{1}{ \sqrt{2} }
\begin{bmatrix} 1 \\ -i \end{bmatrix}
=
\frac{ |0\rangle - i|1\rangle }{ \sqrt{2} }
```

```math
HS^\dagger H|0\rangle
=
\frac{1}{2}
\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}
\begin{bmatrix} 1 & 0 \\ 0 & -i \end{bmatrix}
\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}
\begin{bmatrix} 1 \\ 0 \end{bmatrix}
=
\frac{1}{2}
\begin{bmatrix} 1-i \\ 1+i \end{bmatrix}
=
\frac{ (1-i)|0\rangle + (1+i)|1\rangle }{2}
```

($ HS^\dagger H|0\rangle $ は途中...)

##### 測定

###### 量子回路

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/dc07b942-868d-9717-fdf0-fe3a4d167587.png "visualIBMQASM.png")

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/5cd2dc80-8fea-237f-b83f-1043ab68061c.png "visualIBMQASM.png")

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/a99fef5a-7f3b-384f-9536-90c7cccf89f0.png "visualIBMQASM.png")

###### ブロッホ球

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/3e965f83-4f4e-9eaf-c9df-46f831d90ed0.png "qSphere.png")

| c1[0] | n |
|:--|:--|
| 0 | 4094 |
| 1 | 4098 |

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/0e993ec0-3437-be0f-c9e1-77cc60003ffe.png "qSphere.png")

| c1[0] | n |
|:--|:--|
| 0 | 4094 |
| 1 | 4098 |

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/14ef61ca-ab46-9ff6-3fc4-150eb0c555e2.png "qSphere.png")

| c1[0] | n |
|:--|:--|
| 0 | 4094 |
| 1 | 4098 |

#### 演習 4-4

> 量子シミュレータで、$ H|1\rangle $、$ SH|1\rangle $、$ HSH|1\rangle $ を確かめる量子回路を作成し、どのように量子ビットが回転するか行列計算とともに比較して確かめよ。

##### 行列計算

```math
H|1\rangle
=
\frac{1}{ \sqrt{2} }
\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}
\begin{bmatrix} 0 \\ 1 \end{bmatrix}
=
\frac{1}{ \sqrt{2} }
\begin{bmatrix} 1 \\ -1 \end{bmatrix}
=
\frac{ |0\rangle - |1\rangle }{ \sqrt{2} }
```

```math
SH|1\rangle
=
\frac{1}{ \sqrt{2} }
\begin{bmatrix} 1 & 0 \\ 0 & i \end{bmatrix}
\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}
\begin{bmatrix} 0 \\ 1 \end{bmatrix}
=
\frac{1}{ \sqrt{2} }
\begin{bmatrix} 1 \\ -i \end{bmatrix}
=
\frac{ |0\rangle - i|1\rangle }{ \sqrt{2} }
```

```math
HSH|1\rangle
=
\frac{1}{2}
\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}
\begin{bmatrix} 1 & 0 \\ 0 & i \end{bmatrix}
\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}
\begin{bmatrix} 0 \\ 1 \end{bmatrix}
=
\frac{1}{2}
\begin{bmatrix} 1+i \\ 1-i \end{bmatrix}
=
\frac{ (1+i)|0\rangle + (1-i)|1\rangle }{2}
```

($ HSH|1\rangle $ は途中...)

##### 測定

###### 量子回路

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/1e682750-3659-3790-0654-35e56c35ad76.png "visualIBMQASM.png")

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/3efdccfb-21ba-d908-72a3-56b2c6faf1e0.png "visualIBMQASM.png")

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/a56dd8ab-d698-a6f8-ba48-104ea7b21a77.png "visualIBMQASM.png")

###### ブロッホ球

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/03ac0da0-a591-2a29-ceb0-0d1460bce9fd.png "qSphere.png")

| c1[0] | n |
|:--|:--|
| 0 | 4094 |
| 1 | 4098 |

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/7054a8c4-af2c-5030-e65a-8607af4eca8d.png "qSphere.png")

| c1[0] | n |
|:--|:--|
| 0 | 4094 |
| 1 | 4098 |

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/95e03277-da37-f2e5-0408-cd7046ef846c.png "qSphere.png")

| c1[0] | n |
|:--|:--|
| 0 | 4094 |
| 1 | 4098 |

#### 演習 4-5

> 量子シミュレータで、$ H|1\rangle $、$ S^{\dagger}H|1\rangle $、$ HS^{\dagger}H|1\rangle $ を確かめる量子回路を作成し、どのように量子ビットが回転するか行列計算とともに比較して確かめよ。

##### 行列計算

$ H|1\rangle $ は省略。
 
```math
S^\dagger H|1\rangle
=
\frac{1}{ \sqrt{2} }
\begin{bmatrix} 1 & 0 \\ 0 & -i \end{bmatrix}
\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}
\begin{bmatrix} 0 \\ 1 \end{bmatrix}
=
\frac{1}{ \sqrt{2} }
\begin{bmatrix} 1 \\ i \end{bmatrix}
=
\frac{ |0\rangle + i|1\rangle }{ \sqrt{2} }
```

```math
HS^\dagger H|1\rangle
=
\frac{1}{2}
\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}
\begin{bmatrix} 1 & 0 \\ 0 & -i \end{bmatrix}
\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}
\begin{bmatrix} 0 \\ 1 \end{bmatrix}
=
\frac{1}{2}
\begin{bmatrix} 1+i \\ 1-i \end{bmatrix}
=
\frac{ (1+i)|0\rangle + (1-i)|1\rangle }{2}
```

##### 測定

###### 量子回路

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/401ddd36-7b41-3485-faeb-30e9309396c6.png "visualIBMQASM.png")

![visualIBMQASM.png](https://qiita-image-store.s3.amazonaws.com/0/20418/30550eec-fdbe-810c-38d6-91e5a5fcb4b4.png "visualIBMQASM.png")

###### ブロッホ球

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/623f67b9-006b-07fa-304a-712cabe39d91.png "qSphere.png")

| c1[0] | n |
|:--|:--|
| 0 | 4094 |
| 1 | 4098 |

![qSphere.png](https://qiita-image-store.s3.amazonaws.com/0/20418/b985af5c-3e3e-31a0-74d9-e067c3910aa9.png "qSphere.png")

| c1[0] | n |
|:--|:--|
| 0 | 4094 |
| 1 | 4098 |