[WIP] 양자 계산 치트 시트
\def\bra#1{\mathinner{\left\langle{#1}\right|}}
\def\ket#1{\mathinner{\left|{#1}\right\rangle}}
\def\braket#1#2{\mathinner{\left\langle{#1}\middle|#2\right\rangle}}
$$
브로흐 공
삼각 함수의 단위 원 같은 것. 양자 비트의 상태를 나타내는 구. 양자 비트에 연산자를 적용하면 양자 비트의 상태를 나타내는 벡터가이 구의 표면 위로 돌아갑니다.
출처: wikipedia
\begin{align}
\psi &= \cos (\theta / 2) \ket{0} + e^{i \phi} \sin (\theta / 2) \ket{1} \\
&= \cos (\theta / 2) \ket{0} + ( \cos \phi + i \sin \phi) \sin (\theta / 2)\ket{1}
\end{align}
브래킷 기법
켓
\ket 0 =
\begin{pmatrix}
1 \\
0
\end{pmatrix} \\
\ket 1 =
\begin{pmatrix}
0 \\
1
\end{pmatrix}
브래지어
\bra 0 =
\begin{pmatrix}
1 & 0
\end{pmatrix} = \ket 0 ^{\dagger} \\
\bra 1 =
\begin{pmatrix}
0 & 1
\end{pmatrix} = \ket 1 ^{\dagger} \\
브래킷
\braket 0 0 = 1 \\
\braket 0 1 = 0 \\
\braket 1 0 = 0 \\
\braket 1 1 = 1
양자 비트
1 양자 비트
\ket{0} =
\begin{pmatrix}
1 \\
0
\end{pmatrix} \\
\ket{1} =
\begin{pmatrix}
0 \\
1
\end{pmatrix}
2 양자 비트
\ket{00} =
\begin{pmatrix}
1 \\
0 \\
0 \\
0
\end{pmatrix} \\
\ket{01} =
\begin{pmatrix}
0 \\
1 \\
0 \\
0
\end{pmatrix} \\
\ket{10} =
\begin{pmatrix}
0 \\
0 \\
1 \\
0
\end{pmatrix} \\
\ket{11} =
\begin{pmatrix}
0 \\
0 \\
0 \\
1
\end{pmatrix}
n 양자 비트
\ket{0...0}, \ket{0...1}, ...
연산자
파울리 연산자
항등 연산자
브로흐 구에 대해 양자를 회전시키지 않는 연산자.
I=\ket{0}\bra{0}+\ket{1}\bra{1}=
\begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix}
비트 반전 연산자
브로흐 구에 대해, 양자를 +X축으로 $\pi$ 회전시키는 연산자.
X=\ket{0}\bra{1}+\ket{1}\bra{0}=
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix}
┌───┐
q_0: |0>┤ X ├
└───┘
비트 위상 반전 연산자
브로흐 구에 대해, 양자를 +Y축 방향으로 $\pi$ 회전시키는 연산자.
Y=i(\ket{0}\bra{1}-\ket{1}\bra{0})=
\begin{pmatrix}
0 & -i \\
i & 0
\end{pmatrix}
┌───┐
q_0: |0>┤ Y ├
└───┘
위상 반전 연산자
브로흐 구에 대해, 양자를 +Z축 방향으로 $\pi$ 회전시키는 연산자.
Z=\ket{0}\bra{0}-\ket{1}\bra{1}=
\begin{pmatrix}
1 & 0 \\
0 & -1
\end{pmatrix}
┌───┐
q_0: |0>┤ Z ├
└───┘
아다마르 연산자
브로흐 구에 대해, 양자를 +Y축 방향으로 $\pi/2$ 회전시키는 연산자.
H=\frac{1}{\sqrt{2}}(\ket{0}\bra{0}+\ket{0}\bra{1}+\ket{1}\bra{0}-\ket{1}\bra{1})=
\frac{1}{\sqrt{2}}
\begin{pmatrix}
1 & 1 \\
1 & -1
\end{pmatrix}
┌───┐
q_0: |0>┤ H ├
└───┘
위상 연산
브로흐 구에 대해, 양자를 +Z축 방향으로 $\pi/2$도 회전시키는 위상 연산.
S=\ket{0}\bra{0}+i\ket{1}\bra{1}=
\begin{pmatrix}
1 & 0 \\
0 & i
\end{pmatrix}
┌───┐
q_0: |0>┤ S ├
└───┘
브로흐 구에 대해, 양자를 +Z축 방향으로 $\pi/4$ 회전시키는 위상 연산.
T=\ket{0}\bra{0}+e^{\frac{i \pi}{4} }\ket{1}\bra{1}=
\begin{pmatrix}
1 & 0 \\
0 & e^{\frac{i \pi}{4} }
\end{pmatrix}
┌───┐
q_0: |0>┤ T ├
└───┘
회전 연산
Rx
브로흐 구에 대해, 양자를 X축 방향으로 $\theta$ 회전시키는 위상 연산.
\begin{align}
R_x(\theta) =& \cos\frac{\theta}{2}(\ket{0}\bra{0}+\ket{1}\bra{1})-i\sin\frac{\theta}{2}(\ket{1}\bra{0}+\ket{0}\bra{1}) \\
=& \begin{pmatrix}
\cos\frac{\theta}{2} & -i\sin\frac{\theta}{2} \\
-i\sin\frac{\theta}{2} & \cos\frac{\theta}{2}
\end{pmatrix}
\end{align}
여기서, X축 방향으로 $\theta$ 회전시키는 것은 행렬 지수 함수의 급수 확장 의 정의를 사용하는 것으로 나타낼 수 있다.
\begin{align}
R_x(\theta ) &= e^{-i\frac{\theta}{2} X} \\
&= \sum _{k=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{k}}{k!} X^{k} \\
&= \sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l}}{(2l)!} X^{2l} +
\sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l+1}}{(2l+1)!} X^{2l+1} \\
&= \sum _{l=0} ^{\infty} \frac{(-1) ^{l}\frac{\theta}{2} ^{2l}}{(2l)!} I
- i\sum _{l=0} ^{\infty} \frac{(-1) ^{l} \frac{\theta}{2} ^{2l+1}}{(2l+1)!} X\\
&= \cos \frac{\theta}{2} I - i \sin \frac{\theta}{2} X \\
&= \cos \frac{\theta}{2} \begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix} - i \sin \frac{\theta}{2} \begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix} \\
&= \begin{pmatrix}
\cos\frac{\theta}{2} & -i\sin\frac{\theta}{2} \\
-i\sin\frac{\theta}{2} & \cos\frac{\theta}{2}
\end{pmatrix}
\end{align}
Ry
브로흐 구에 대해, 양자를 Y축 방향으로 $\theta$ 회전시키는 위상 연산.
\begin{align}
R_y(\theta) &= \cos\frac{\theta}{2}(\ket{0}\bra{0}+\ket{1}\bra{1})+
\sin\frac{\theta}{2}(\ket{1}\bra{0}-\ket{0}\bra{1}) \\
&= \begin{pmatrix}
\cos\frac{\theta}{2} & -\sin\frac{\theta}{2} \\
\sin\frac{\theta}{2} & \cos\frac{\theta}{2}
\end{pmatrix}
\end{align}
여기서, Y축 방향으로 $\theta$ 회전시키는 것은 행렬 지수 함수의 급수 확장 의 정의를 사용하는 것으로 나타낼 수 있다.
\begin{align}
R_y(\theta ) &= e^{-i\frac{\theta}{2} Y} \\
&= \sum _{k=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{k}}{k!} Y^{k} \\
&= \sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l}}{(2l)!} Y^{2l} +
\sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l+1}}{(2l+1)!} Y^{2l+1} \\
&= \sum _{l=0} ^{\infty} \frac{(-1) ^{l}\frac{\theta}{2} ^{2l}}{(2l)!} I
- i\sum _{l=0} ^{\infty} \frac{(-1) ^{l} \frac{\theta}{2} ^{2l+1}}{(2l+1)!} Y\\
&= \cos \frac{\theta}{2} I - i \sin \frac{\theta}{2} Y \\
&= \cos \frac{\theta}{2} \begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix} - i \sin \frac{\theta}{2} \begin{pmatrix}
0 & -i \\
i & 0
\end{pmatrix} \\
&= \begin{pmatrix}
\cos\frac{\theta}{2} & -\sin\frac{\theta}{2} \\
\sin\frac{\theta}{2} & \cos\frac{\theta}{2}
\end{pmatrix}
\end{align}
Rz
브로흐 구에 대해, 양자를 Z축 방향으로 $\theta$ 회전시키는 위상 연산.
\begin{align}
R_z(\theta) &= e^{-i\frac{\theta}{2}}\ket{0}\bra{0}+e^{i\frac{\theta}{2}}\ket{1}\bra{1} \\
&= \begin{pmatrix}
e^{-i\frac{\theta}{2}} & 0 \\
0 & e^{i\frac{\theta}{2}}
\end{pmatrix}
\end{align}
여기서, Z축 방향으로 $\theta$ 회전시키는 것은 행렬 지수 함수의 급수 확장 의 정의를 사용하는 것으로 나타낼 수 있다.
\begin{align}
R_z(\theta ) &= e^{-i\frac{\theta}{2} Z} \\
&= \sum _{k=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{k}}{k!} Z^{k} \\
&= \sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l}}{(2l)!} Z^{2l} +
\sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l+1}}{(2l+1)!} Z^{2l+1} \\
&= \sum _{l=0} ^{\infty} \frac{(-1) ^{l}\frac{\theta}{2} ^{2l}}{(2l)!} I
- i\sum _{l=0} ^{\infty} \frac{(-1) ^{l} \frac{\theta}{2} ^{2l+1}}{(2l+1)!} Z\\
&= \cos \frac{\theta}{2} I - i \sin \frac{\theta}{2} Z \\
&= \cos \frac{\theta}{2} \begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix} - i \sin \frac{\theta}{2} \begin{pmatrix}
1 & 0 \\
0 & -1
\end{pmatrix} \\
&= \begin{pmatrix}
\cos\frac{\theta}{2} - i\sin\frac{\theta}{2} & 0 \\
0 & \cos\frac{\theta}{2} + i\sin\frac{\theta}{2}
\end{pmatrix} \\
&= \begin{pmatrix}
e^{-i\frac{\theta}{2}} & 0 \\
0 & e^{i\frac{\theta}{2}}
\end{pmatrix}
\end{align}
2 양자 비트 연산자
제어 NOT 연산자 (CNOT)
첫 번째 비트가 $\ket 1$일 때 두 번째 비트를 비트 반전하는 연산.
보다 일반적으로 제n비트가 $\ket 1$일 경우에 제m비트를 비트 반전하는 연산을 $\Lambda(X)_{n,m}$라고 한다.
\Lambda(X)_{1,2}=\ket{00}\bra{00}+\ket{01}\bra{01}+\ket{10}\bra{11}+\ket{11}\bra{10}=
\begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 \\
0 & 0 & 1 & 0
\end{pmatrix}
q_0: |0>──■──
┌─┴─┐
q_1: |0>┤ X ├
└───┘
SWAP 게이트
\Lambda(X)=\ket{00}\bra{00}+\ket{01}\bra{10}+\ket{10}\bra{01}+\ket{11}\bra{11}=
\begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1
\end{pmatrix}
유니터리 연산
첫 번째 비트가 $\ket 1$인 경우 유니터리 행렬 $U$를 작동시키는 연산.
\Lambda(U)=\ket 0 \bra 0 I \otimes \ket 1 \bra 1 U
3 양자 비트 연산
토폴리게이트(CCNOT)
제1,2비트가 $\ket 1$인 경우에 제3비트를 비트 반전하는 연산.
q_0: |0>──■──
│
q_1: |0>──■──
┌─┴─┐
q_2: |0>┤ X ├
└───┘
알고리즘
아다마르 테스트
( H \otimes I ) \Lambda(U) ( H \otimes I )( \ket 0 \otimes \ket \psi )
Reference
이 문제에 관하여([WIP] 양자 계산 치트 시트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kannkyo/items/17cd09fea1aee5de381b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
\begin{align}
\psi &= \cos (\theta / 2) \ket{0} + e^{i \phi} \sin (\theta / 2) \ket{1} \\
&= \cos (\theta / 2) \ket{0} + ( \cos \phi + i \sin \phi) \sin (\theta / 2)\ket{1}
\end{align}
켓
\ket 0 =
\begin{pmatrix}
1 \\
0
\end{pmatrix} \\
\ket 1 =
\begin{pmatrix}
0 \\
1
\end{pmatrix}
브래지어
\bra 0 =
\begin{pmatrix}
1 & 0
\end{pmatrix} = \ket 0 ^{\dagger} \\
\bra 1 =
\begin{pmatrix}
0 & 1
\end{pmatrix} = \ket 1 ^{\dagger} \\
브래킷
\braket 0 0 = 1 \\
\braket 0 1 = 0 \\
\braket 1 0 = 0 \\
\braket 1 1 = 1
양자 비트
1 양자 비트
\ket{0} =
\begin{pmatrix}
1 \\
0
\end{pmatrix} \\
\ket{1} =
\begin{pmatrix}
0 \\
1
\end{pmatrix}
2 양자 비트
\ket{00} =
\begin{pmatrix}
1 \\
0 \\
0 \\
0
\end{pmatrix} \\
\ket{01} =
\begin{pmatrix}
0 \\
1 \\
0 \\
0
\end{pmatrix} \\
\ket{10} =
\begin{pmatrix}
0 \\
0 \\
1 \\
0
\end{pmatrix} \\
\ket{11} =
\begin{pmatrix}
0 \\
0 \\
0 \\
1
\end{pmatrix}
n 양자 비트
\ket{0...0}, \ket{0...1}, ...
연산자
파울리 연산자
항등 연산자
브로흐 구에 대해 양자를 회전시키지 않는 연산자.
I=\ket{0}\bra{0}+\ket{1}\bra{1}=
\begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix}
비트 반전 연산자
브로흐 구에 대해, 양자를 +X축으로 $\pi$ 회전시키는 연산자.
X=\ket{0}\bra{1}+\ket{1}\bra{0}=
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix}
┌───┐
q_0: |0>┤ X ├
└───┘
비트 위상 반전 연산자
브로흐 구에 대해, 양자를 +Y축 방향으로 $\pi$ 회전시키는 연산자.
Y=i(\ket{0}\bra{1}-\ket{1}\bra{0})=
\begin{pmatrix}
0 & -i \\
i & 0
\end{pmatrix}
┌───┐
q_0: |0>┤ Y ├
└───┘
위상 반전 연산자
브로흐 구에 대해, 양자를 +Z축 방향으로 $\pi$ 회전시키는 연산자.
Z=\ket{0}\bra{0}-\ket{1}\bra{1}=
\begin{pmatrix}
1 & 0 \\
0 & -1
\end{pmatrix}
┌───┐
q_0: |0>┤ Z ├
└───┘
아다마르 연산자
브로흐 구에 대해, 양자를 +Y축 방향으로 $\pi/2$ 회전시키는 연산자.
H=\frac{1}{\sqrt{2}}(\ket{0}\bra{0}+\ket{0}\bra{1}+\ket{1}\bra{0}-\ket{1}\bra{1})=
\frac{1}{\sqrt{2}}
\begin{pmatrix}
1 & 1 \\
1 & -1
\end{pmatrix}
┌───┐
q_0: |0>┤ H ├
└───┘
위상 연산
브로흐 구에 대해, 양자를 +Z축 방향으로 $\pi/2$도 회전시키는 위상 연산.
S=\ket{0}\bra{0}+i\ket{1}\bra{1}=
\begin{pmatrix}
1 & 0 \\
0 & i
\end{pmatrix}
┌───┐
q_0: |0>┤ S ├
└───┘
브로흐 구에 대해, 양자를 +Z축 방향으로 $\pi/4$ 회전시키는 위상 연산.
T=\ket{0}\bra{0}+e^{\frac{i \pi}{4} }\ket{1}\bra{1}=
\begin{pmatrix}
1 & 0 \\
0 & e^{\frac{i \pi}{4} }
\end{pmatrix}
┌───┐
q_0: |0>┤ T ├
└───┘
회전 연산
Rx
브로흐 구에 대해, 양자를 X축 방향으로 $\theta$ 회전시키는 위상 연산.
\begin{align}
R_x(\theta) =& \cos\frac{\theta}{2}(\ket{0}\bra{0}+\ket{1}\bra{1})-i\sin\frac{\theta}{2}(\ket{1}\bra{0}+\ket{0}\bra{1}) \\
=& \begin{pmatrix}
\cos\frac{\theta}{2} & -i\sin\frac{\theta}{2} \\
-i\sin\frac{\theta}{2} & \cos\frac{\theta}{2}
\end{pmatrix}
\end{align}
여기서, X축 방향으로 $\theta$ 회전시키는 것은 행렬 지수 함수의 급수 확장 의 정의를 사용하는 것으로 나타낼 수 있다.
\begin{align}
R_x(\theta ) &= e^{-i\frac{\theta}{2} X} \\
&= \sum _{k=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{k}}{k!} X^{k} \\
&= \sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l}}{(2l)!} X^{2l} +
\sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l+1}}{(2l+1)!} X^{2l+1} \\
&= \sum _{l=0} ^{\infty} \frac{(-1) ^{l}\frac{\theta}{2} ^{2l}}{(2l)!} I
- i\sum _{l=0} ^{\infty} \frac{(-1) ^{l} \frac{\theta}{2} ^{2l+1}}{(2l+1)!} X\\
&= \cos \frac{\theta}{2} I - i \sin \frac{\theta}{2} X \\
&= \cos \frac{\theta}{2} \begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix} - i \sin \frac{\theta}{2} \begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix} \\
&= \begin{pmatrix}
\cos\frac{\theta}{2} & -i\sin\frac{\theta}{2} \\
-i\sin\frac{\theta}{2} & \cos\frac{\theta}{2}
\end{pmatrix}
\end{align}
Ry
브로흐 구에 대해, 양자를 Y축 방향으로 $\theta$ 회전시키는 위상 연산.
\begin{align}
R_y(\theta) &= \cos\frac{\theta}{2}(\ket{0}\bra{0}+\ket{1}\bra{1})+
\sin\frac{\theta}{2}(\ket{1}\bra{0}-\ket{0}\bra{1}) \\
&= \begin{pmatrix}
\cos\frac{\theta}{2} & -\sin\frac{\theta}{2} \\
\sin\frac{\theta}{2} & \cos\frac{\theta}{2}
\end{pmatrix}
\end{align}
여기서, Y축 방향으로 $\theta$ 회전시키는 것은 행렬 지수 함수의 급수 확장 의 정의를 사용하는 것으로 나타낼 수 있다.
\begin{align}
R_y(\theta ) &= e^{-i\frac{\theta}{2} Y} \\
&= \sum _{k=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{k}}{k!} Y^{k} \\
&= \sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l}}{(2l)!} Y^{2l} +
\sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l+1}}{(2l+1)!} Y^{2l+1} \\
&= \sum _{l=0} ^{\infty} \frac{(-1) ^{l}\frac{\theta}{2} ^{2l}}{(2l)!} I
- i\sum _{l=0} ^{\infty} \frac{(-1) ^{l} \frac{\theta}{2} ^{2l+1}}{(2l+1)!} Y\\
&= \cos \frac{\theta}{2} I - i \sin \frac{\theta}{2} Y \\
&= \cos \frac{\theta}{2} \begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix} - i \sin \frac{\theta}{2} \begin{pmatrix}
0 & -i \\
i & 0
\end{pmatrix} \\
&= \begin{pmatrix}
\cos\frac{\theta}{2} & -\sin\frac{\theta}{2} \\
\sin\frac{\theta}{2} & \cos\frac{\theta}{2}
\end{pmatrix}
\end{align}
Rz
브로흐 구에 대해, 양자를 Z축 방향으로 $\theta$ 회전시키는 위상 연산.
\begin{align}
R_z(\theta) &= e^{-i\frac{\theta}{2}}\ket{0}\bra{0}+e^{i\frac{\theta}{2}}\ket{1}\bra{1} \\
&= \begin{pmatrix}
e^{-i\frac{\theta}{2}} & 0 \\
0 & e^{i\frac{\theta}{2}}
\end{pmatrix}
\end{align}
여기서, Z축 방향으로 $\theta$ 회전시키는 것은 행렬 지수 함수의 급수 확장 의 정의를 사용하는 것으로 나타낼 수 있다.
\begin{align}
R_z(\theta ) &= e^{-i\frac{\theta}{2} Z} \\
&= \sum _{k=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{k}}{k!} Z^{k} \\
&= \sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l}}{(2l)!} Z^{2l} +
\sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l+1}}{(2l+1)!} Z^{2l+1} \\
&= \sum _{l=0} ^{\infty} \frac{(-1) ^{l}\frac{\theta}{2} ^{2l}}{(2l)!} I
- i\sum _{l=0} ^{\infty} \frac{(-1) ^{l} \frac{\theta}{2} ^{2l+1}}{(2l+1)!} Z\\
&= \cos \frac{\theta}{2} I - i \sin \frac{\theta}{2} Z \\
&= \cos \frac{\theta}{2} \begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix} - i \sin \frac{\theta}{2} \begin{pmatrix}
1 & 0 \\
0 & -1
\end{pmatrix} \\
&= \begin{pmatrix}
\cos\frac{\theta}{2} - i\sin\frac{\theta}{2} & 0 \\
0 & \cos\frac{\theta}{2} + i\sin\frac{\theta}{2}
\end{pmatrix} \\
&= \begin{pmatrix}
e^{-i\frac{\theta}{2}} & 0 \\
0 & e^{i\frac{\theta}{2}}
\end{pmatrix}
\end{align}
2 양자 비트 연산자
제어 NOT 연산자 (CNOT)
첫 번째 비트가 $\ket 1$일 때 두 번째 비트를 비트 반전하는 연산.
보다 일반적으로 제n비트가 $\ket 1$일 경우에 제m비트를 비트 반전하는 연산을 $\Lambda(X)_{n,m}$라고 한다.
\Lambda(X)_{1,2}=\ket{00}\bra{00}+\ket{01}\bra{01}+\ket{10}\bra{11}+\ket{11}\bra{10}=
\begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 \\
0 & 0 & 1 & 0
\end{pmatrix}
q_0: |0>──■──
┌─┴─┐
q_1: |0>┤ X ├
└───┘
SWAP 게이트
\Lambda(X)=\ket{00}\bra{00}+\ket{01}\bra{10}+\ket{10}\bra{01}+\ket{11}\bra{11}=
\begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1
\end{pmatrix}
유니터리 연산
첫 번째 비트가 $\ket 1$인 경우 유니터리 행렬 $U$를 작동시키는 연산.
\Lambda(U)=\ket 0 \bra 0 I \otimes \ket 1 \bra 1 U
3 양자 비트 연산
토폴리게이트(CCNOT)
제1,2비트가 $\ket 1$인 경우에 제3비트를 비트 반전하는 연산.
q_0: |0>──■──
│
q_1: |0>──■──
┌─┴─┐
q_2: |0>┤ X ├
└───┘
알고리즘
아다마르 테스트
( H \otimes I ) \Lambda(U) ( H \otimes I )( \ket 0 \otimes \ket \psi )
Reference
이 문제에 관하여([WIP] 양자 계산 치트 시트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kannkyo/items/17cd09fea1aee5de381b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
\ket{0} =
\begin{pmatrix}
1 \\
0
\end{pmatrix} \\
\ket{1} =
\begin{pmatrix}
0 \\
1
\end{pmatrix}
\ket{00} =
\begin{pmatrix}
1 \\
0 \\
0 \\
0
\end{pmatrix} \\
\ket{01} =
\begin{pmatrix}
0 \\
1 \\
0 \\
0
\end{pmatrix} \\
\ket{10} =
\begin{pmatrix}
0 \\
0 \\
1 \\
0
\end{pmatrix} \\
\ket{11} =
\begin{pmatrix}
0 \\
0 \\
0 \\
1
\end{pmatrix}
\ket{0...0}, \ket{0...1}, ...
파울리 연산자
항등 연산자
브로흐 구에 대해 양자를 회전시키지 않는 연산자.
I=\ket{0}\bra{0}+\ket{1}\bra{1}=
\begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix}
비트 반전 연산자
브로흐 구에 대해, 양자를 +X축으로 $\pi$ 회전시키는 연산자.
X=\ket{0}\bra{1}+\ket{1}\bra{0}=
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix}
┌───┐
q_0: |0>┤ X ├
└───┘
비트 위상 반전 연산자
브로흐 구에 대해, 양자를 +Y축 방향으로 $\pi$ 회전시키는 연산자.
Y=i(\ket{0}\bra{1}-\ket{1}\bra{0})=
\begin{pmatrix}
0 & -i \\
i & 0
\end{pmatrix}
┌───┐
q_0: |0>┤ Y ├
└───┘
위상 반전 연산자
브로흐 구에 대해, 양자를 +Z축 방향으로 $\pi$ 회전시키는 연산자.
Z=\ket{0}\bra{0}-\ket{1}\bra{1}=
\begin{pmatrix}
1 & 0 \\
0 & -1
\end{pmatrix}
┌───┐
q_0: |0>┤ Z ├
└───┘
아다마르 연산자
브로흐 구에 대해, 양자를 +Y축 방향으로 $\pi/2$ 회전시키는 연산자.
H=\frac{1}{\sqrt{2}}(\ket{0}\bra{0}+\ket{0}\bra{1}+\ket{1}\bra{0}-\ket{1}\bra{1})=
\frac{1}{\sqrt{2}}
\begin{pmatrix}
1 & 1 \\
1 & -1
\end{pmatrix}
┌───┐
q_0: |0>┤ H ├
└───┘
위상 연산
브로흐 구에 대해, 양자를 +Z축 방향으로 $\pi/2$도 회전시키는 위상 연산.
S=\ket{0}\bra{0}+i\ket{1}\bra{1}=
\begin{pmatrix}
1 & 0 \\
0 & i
\end{pmatrix}
┌───┐
q_0: |0>┤ S ├
└───┘
브로흐 구에 대해, 양자를 +Z축 방향으로 $\pi/4$ 회전시키는 위상 연산.
T=\ket{0}\bra{0}+e^{\frac{i \pi}{4} }\ket{1}\bra{1}=
\begin{pmatrix}
1 & 0 \\
0 & e^{\frac{i \pi}{4} }
\end{pmatrix}
┌───┐
q_0: |0>┤ T ├
└───┘
회전 연산
Rx
브로흐 구에 대해, 양자를 X축 방향으로 $\theta$ 회전시키는 위상 연산.
\begin{align}
R_x(\theta) =& \cos\frac{\theta}{2}(\ket{0}\bra{0}+\ket{1}\bra{1})-i\sin\frac{\theta}{2}(\ket{1}\bra{0}+\ket{0}\bra{1}) \\
=& \begin{pmatrix}
\cos\frac{\theta}{2} & -i\sin\frac{\theta}{2} \\
-i\sin\frac{\theta}{2} & \cos\frac{\theta}{2}
\end{pmatrix}
\end{align}
여기서, X축 방향으로 $\theta$ 회전시키는 것은 행렬 지수 함수의 급수 확장 의 정의를 사용하는 것으로 나타낼 수 있다.
\begin{align}
R_x(\theta ) &= e^{-i\frac{\theta}{2} X} \\
&= \sum _{k=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{k}}{k!} X^{k} \\
&= \sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l}}{(2l)!} X^{2l} +
\sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l+1}}{(2l+1)!} X^{2l+1} \\
&= \sum _{l=0} ^{\infty} \frac{(-1) ^{l}\frac{\theta}{2} ^{2l}}{(2l)!} I
- i\sum _{l=0} ^{\infty} \frac{(-1) ^{l} \frac{\theta}{2} ^{2l+1}}{(2l+1)!} X\\
&= \cos \frac{\theta}{2} I - i \sin \frac{\theta}{2} X \\
&= \cos \frac{\theta}{2} \begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix} - i \sin \frac{\theta}{2} \begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix} \\
&= \begin{pmatrix}
\cos\frac{\theta}{2} & -i\sin\frac{\theta}{2} \\
-i\sin\frac{\theta}{2} & \cos\frac{\theta}{2}
\end{pmatrix}
\end{align}
Ry
브로흐 구에 대해, 양자를 Y축 방향으로 $\theta$ 회전시키는 위상 연산.
\begin{align}
R_y(\theta) &= \cos\frac{\theta}{2}(\ket{0}\bra{0}+\ket{1}\bra{1})+
\sin\frac{\theta}{2}(\ket{1}\bra{0}-\ket{0}\bra{1}) \\
&= \begin{pmatrix}
\cos\frac{\theta}{2} & -\sin\frac{\theta}{2} \\
\sin\frac{\theta}{2} & \cos\frac{\theta}{2}
\end{pmatrix}
\end{align}
여기서, Y축 방향으로 $\theta$ 회전시키는 것은 행렬 지수 함수의 급수 확장 의 정의를 사용하는 것으로 나타낼 수 있다.
\begin{align}
R_y(\theta ) &= e^{-i\frac{\theta}{2} Y} \\
&= \sum _{k=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{k}}{k!} Y^{k} \\
&= \sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l}}{(2l)!} Y^{2l} +
\sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l+1}}{(2l+1)!} Y^{2l+1} \\
&= \sum _{l=0} ^{\infty} \frac{(-1) ^{l}\frac{\theta}{2} ^{2l}}{(2l)!} I
- i\sum _{l=0} ^{\infty} \frac{(-1) ^{l} \frac{\theta}{2} ^{2l+1}}{(2l+1)!} Y\\
&= \cos \frac{\theta}{2} I - i \sin \frac{\theta}{2} Y \\
&= \cos \frac{\theta}{2} \begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix} - i \sin \frac{\theta}{2} \begin{pmatrix}
0 & -i \\
i & 0
\end{pmatrix} \\
&= \begin{pmatrix}
\cos\frac{\theta}{2} & -\sin\frac{\theta}{2} \\
\sin\frac{\theta}{2} & \cos\frac{\theta}{2}
\end{pmatrix}
\end{align}
Rz
브로흐 구에 대해, 양자를 Z축 방향으로 $\theta$ 회전시키는 위상 연산.
\begin{align}
R_z(\theta) &= e^{-i\frac{\theta}{2}}\ket{0}\bra{0}+e^{i\frac{\theta}{2}}\ket{1}\bra{1} \\
&= \begin{pmatrix}
e^{-i\frac{\theta}{2}} & 0 \\
0 & e^{i\frac{\theta}{2}}
\end{pmatrix}
\end{align}
여기서, Z축 방향으로 $\theta$ 회전시키는 것은 행렬 지수 함수의 급수 확장 의 정의를 사용하는 것으로 나타낼 수 있다.
\begin{align}
R_z(\theta ) &= e^{-i\frac{\theta}{2} Z} \\
&= \sum _{k=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{k}}{k!} Z^{k} \\
&= \sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l}}{(2l)!} Z^{2l} +
\sum _{l=0} ^{\infty} \frac{(-i\frac{\theta}{2} ) ^{2l+1}}{(2l+1)!} Z^{2l+1} \\
&= \sum _{l=0} ^{\infty} \frac{(-1) ^{l}\frac{\theta}{2} ^{2l}}{(2l)!} I
- i\sum _{l=0} ^{\infty} \frac{(-1) ^{l} \frac{\theta}{2} ^{2l+1}}{(2l+1)!} Z\\
&= \cos \frac{\theta}{2} I - i \sin \frac{\theta}{2} Z \\
&= \cos \frac{\theta}{2} \begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix} - i \sin \frac{\theta}{2} \begin{pmatrix}
1 & 0 \\
0 & -1
\end{pmatrix} \\
&= \begin{pmatrix}
\cos\frac{\theta}{2} - i\sin\frac{\theta}{2} & 0 \\
0 & \cos\frac{\theta}{2} + i\sin\frac{\theta}{2}
\end{pmatrix} \\
&= \begin{pmatrix}
e^{-i\frac{\theta}{2}} & 0 \\
0 & e^{i\frac{\theta}{2}}
\end{pmatrix}
\end{align}
2 양자 비트 연산자
제어 NOT 연산자 (CNOT)
첫 번째 비트가 $\ket 1$일 때 두 번째 비트를 비트 반전하는 연산.
보다 일반적으로 제n비트가 $\ket 1$일 경우에 제m비트를 비트 반전하는 연산을 $\Lambda(X)_{n,m}$라고 한다.
\Lambda(X)_{1,2}=\ket{00}\bra{00}+\ket{01}\bra{01}+\ket{10}\bra{11}+\ket{11}\bra{10}=
\begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 \\
0 & 0 & 1 & 0
\end{pmatrix}
q_0: |0>──■──
┌─┴─┐
q_1: |0>┤ X ├
└───┘
SWAP 게이트
\Lambda(X)=\ket{00}\bra{00}+\ket{01}\bra{10}+\ket{10}\bra{01}+\ket{11}\bra{11}=
\begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1
\end{pmatrix}
유니터리 연산
첫 번째 비트가 $\ket 1$인 경우 유니터리 행렬 $U$를 작동시키는 연산.
\Lambda(U)=\ket 0 \bra 0 I \otimes \ket 1 \bra 1 U
3 양자 비트 연산
토폴리게이트(CCNOT)
제1,2비트가 $\ket 1$인 경우에 제3비트를 비트 반전하는 연산.
q_0: |0>──■──
│
q_1: |0>──■──
┌─┴─┐
q_2: |0>┤ X ├
└───┘
알고리즘
아다마르 테스트
( H \otimes I ) \Lambda(U) ( H \otimes I )( \ket 0 \otimes \ket \psi )
Reference
이 문제에 관하여([WIP] 양자 계산 치트 시트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kannkyo/items/17cd09fea1aee5de381b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
( H \otimes I ) \Lambda(U) ( H \otimes I )( \ket 0 \otimes \ket \psi )
Reference
이 문제에 관하여([WIP] 양자 계산 치트 시트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kannkyo/items/17cd09fea1aee5de381b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)