1 - 2 - 0. ๋ฐฐ๋ฆฌ์ด์ ์์ ํ๋ก์ ํน์ฑ
# ๋ฐฐ๋ฆฌ์ด์ ๋ฐฐ๋ฆฌ์ด์ ์ฐ์
1. ํ๋ก๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ถ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ


2. ํธ๋์คํ์ผ์ ๋ ๊ฐ์ ํ๋ค๋ง๋ ๊ฒ์ดํธ๊ฐ ์ต์ข ์ ์ผ๋ก ์ด๋ค ๊ธฐ๋ฅ๋ ํ์ง ์์ ๊ฒ์ ์๊ธฐ์, ๋ ๊ฐ์ ํ๋ค๋ง๋ ๊ฒ์ดํธ๋ฅผ ์์ ์ํค๋ ๋ฑ์ ์ต์ ํ ์์ ์ ํตํด ์์ ํ๋ก์ ์ฑ๋ฅ์ ํฅ์์ํด
--> ์ด๋ฐ ์ต์ ํ ์์ ์ด ํธ๋์คํ์ผ๋ฌ์์ ์งํ๋๋ ๊ฒ์ ๋ง๊ธฐ ์ํด ์ฌ์ฉ



# Qiskit์์์ ๋ฐฐ๋ฆฌ์ด ์ฌ์ฉ๋ฒ
1. ์๋ ์ฝ๋๋ค์ ํตํด qiskit ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ํ ๋ฒกํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, math ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ pi๋ฅผ ๋ถ๋ฌ์ค๊ธฐ

2. ๊ฒ์ดํธ๋ฅผ ์์ฑํ๊ณ ์ํ๋ ์์น์ qc.barrier() ์ฝ๋๋ฅผ ํตํด ๋ฐฐ๋ฆฌ์ด๋ฅผ ์ถ๊ฐํ๊ธฐ

# ๋ฐฐ๋ฆฌ์ด์ ์ธ์
- ์๋์ฒ๋ผ ๋ฐฐ๋ฆฌ์ด์ ์ธ์๋ฅผ ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ(qc.barrier() ์์ ๊ดํธ ์ฌ์ด์ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ) ๋ฐฐ๋ฆฌ์ด๊ฐ ๋ชจ๋ ํ๋นํธ์ ์ถ๊ฐ๋จ

- ํ๋ผ๋ฏธํฐ๋ก ๋ฐฐ๋ฆฌ์ด์ ์ธ์๋ฅผ ์ง์ ํด์ฃผ๋ฉด ์ํ๋ ํ๋นํธ์๋ง ๋ฐฐ๋ฆฌ์ด๋ฅผ ์ถ๊ฐํ ์ ์์

# ์์ ํ๋ก์ ํน์ฑ๋ค
Size(๊ท๋ชจ) | Width(๋์ด) | Depth(๊น์ด) | ํ๋นํธ ์ (Number of Qubits) |
Operation ์ข ๋ฅ ๋ฐ ๊ฐ์ |
# ์์ ํ๋ก์ ๊ท๋ชจ ( Size )
: ์์ ํ๋ก์์์ ์ง์(instruction)์ ๊ฐ์
+ ์ฃผ์!
๋ฐฐ๋ฆฌ์ด๋ ์ง์ ๊ฐ์๋ฅผ ์ ๋ ํฌํจํ์ง X
ex) 3๊ฐ์ ํ๋นํธ๋ฅผ ๊ฐ์ง๊ณ ์๋ ์์ ํ๋ก์ ๊ท๋ชจ ๊ณ์ฐ

+ ์์ ํ๋ก์ ๊ท๋ชจ
= ํ๋ค๋ง๋ ๊ฒ์ดํธ x 2
+ X ๊ฒ์ดํธ x 1
+ Toffoli ๊ฒ์ดํธ x 1
+ Ry ๊ฒ์ดํธ x 1
+ RH ๊ฒ์ดํธ x 1
+ CX ๊ฒ์ดํธ x 1
+ T ๋๊ฑฐ ๊ฒ์ดํธ x 1
+ ์ธก์ ๋ช ๋ น x 3
= 2 + 1 + 1 + 1 +1 + 1 + 1+ 3
= 11
- ์์ํ๋ก ๊ท๋ชจ์ size ๋งค์๋
: Qiskit ์์ ์์ํ๋ก์ size ๋งค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ํ๋ก ๊ท๋ชจ ๊ณ์ฐ ๊ฐ๋ฅ

# ์์ ํ๋ก์ ๋์ด ( Width )
: ์์ ๋นํธ( = ํ๋นํธ )์ ๊ณ ์ ๋นํธ์ ๊ฐ์
ex) ์๋ ์์ ํ๋ก์ ๋์ด

+ ํ๋ก์ ๋์ด
= ์์ ๋นํธ x 3 (q0, q1, q2)
+ ๊ณ ์ ๋นํธ x 3 ( ๋งจ ์๋ meas ์์ ์กฐ๊ทธ๋งํ 3)
= 3 + 3
= 6
- ์์๋นํธ, ๊ณ ์ ๋นํธ์ ๊ฐ์์ num_qubits, num_clbits ๋งค์๋
: Qiskit ์์ ์์ํ๋ก์ num_qubits, num_clbits ๋งค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๊ฐ ์์ ๋นํธ์ ๊ณ ์ ๋นํธ์ ๊ฐ์ ํ์ ๊ฐ๋ฅ


- ์์ ํ๋ก์ ๋์ด์ width ๋งค์๋
: ์์ ํ๋ก์ ๋์ด๋ width ๋งค์๋๋ฅผ ํตํด ํ์ธ ๊ฐ๋ฅ

# ์์ ํ๋ก์ ๊น์ด ( Depth )
: ์์ ํ๋ก์์ ์์ ๊ฒ์ดํธ๋ฅผ ๋ณ๋ ฌ๋ก ์คํ ๊ฐ๋ฅํ ํ์
+ ์ฃผ์!
๋ฐฐ๋ฆฌ์ด๊ฐ ํธ๋์คํ์ผ๋ฌ์์์ ์คํ์ ์ํฅ์ ์ฃผ์ด ๊น์ด์ ์์ ๋ณํ์ํฌ ์๋ ์์ง๋ง, ๋ฐฐ๋ฆฌ์ด ์์ฒด๋ ์นด์ดํธ X
ex) ์๋ ์์ ํ๋ก์ ๊ฒฝ์ฐ ์ต์ 5๊ฐ์ ๋ณ๋ ฌ ์คํ์ด ์งํ๋จ

- ์์ ํ๋ก์ ๊น์ด์ depth ๋งค์๋
: ์์ ํ๋ก์ ๊น์ด๋ depth ๋งค์๋๋ฅผ ํตํด ํ์ธ ๊ฐ๋ฅ

# ํ๋นํธ์ ๊ฐ์ ( Number of Qubits )
: ํ๋นํธ์ ๊ฐ์๋ num_qubits ๋งค์๋๋ฅผ, ํ๋นํธ์ ์ ๋ณด๋ qubits ๋งค์๋๋ฅผ ํตํด ํ์ธ ๊ฐ๋ฅ

# ์์ ํ๋ก์ Operations ์ข ๋ฅ์ ๊ฐ์
: ์์ ํ๋ก์ Operations ์ข ๋ฅ ๋ฐ ๊ฐ์๋ count_ops ๋งค์๋๋ฅผ ์ด์ฉํ์ฌ ์ถ๋ ฅ ๊ฐ๋ฅ


+ ์ฝ๋ ์คํ ์ ๋ฐฐ๋ฆฌ์ด, ์ธก์ , ๊ฒ์ดํธ๋ฅผ ํฌํจํ ์์ ํ๋ก์ ์ฌ์ฉ๋ Operation ๊ฐ์ ๋ฐ ์ข ๋ฅ๋ฅผ ์ ์ ์์
# ์ฐธ๊ณ ์๋ฃ
: Qiskit-Dev-Cert-lectures + ์ฃผํผํฐ ๋ ธํธ๋ถ ์๋ฃ ( https://github.com/QuantumComputingKorea/Qiskit-Dev-Cert-lectures )
'โ๏ธ WISET Qiskit Dev certificate > Main Lecture' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
< Lecture 1 - 1 > (0) | 2022.08.28 |
---|---|
< Lecture 1 - 0 - 1 > (0) | 2022.08.24 |
< Lecture 1 - 0 - 0 > (0) | 2022.08.23 |