์ฑ ์ ์๋๋๋ก IBM QX(Quantum Experience) ์ฌ์ดํธ์์ ๊ณ์ ์ ์์ฑํ๊ณ Composer๋ฅผ ์คํํด ๋ณธ๋ค. ํ ์์ ์์๋ Circuit Composer๋ผ๋ ์ด๋ฆ์ ๋ฉ๋ด๋ก ๋์ด ์๋ค.
์ฑ ์ ์คํฌ๋ฆฐ์ท๊ณผ ๋ค๋ฅธ ์ ์ ์๋์ ๊ฐ๋ค.
- Gates ๋ฐฐ์น๊ฐ ์ฐ์ธก์ด ์๋ ์๋จ์ ์๋ค.
- ์ต์ด qubit ๊ฐ์๋ 3๊ฐ์ฌ์ composer ์์ + ๋ฒํผ์ ๋๋ฌ qubit 2๊ฐ๋ฅผ ๋ ์ถ๊ฐํด์ผ 5 qubit test๊ฐ ๊ฐ๋ฅํ๋ค.
- QASM ๋ฐ Qiskit ์ฝ๋๊ฐ ์๋ ์์ฑ๋๋ฉฐ composer์ ๋๊ธฐํ๊ฐ ๋๋ฏ๋ก visual coding์ด ๊ฐ๋ฅํ๋ค.
- Histogram ์ธ์ Q-sphere๊ฐ ์ถ๊ฐ๋์ ๋ ์ง๊ด์ ์ผ๋ก ์๊ฐํ๊ฐ ๊ฐ๋ฅํ๋ค.
- ์ฒ์์ backend๊ฐ simulator๋ก ๋์ด ์์ง ์์ผ๋ฏ๋ก backend ์ธํ ์ ๋ฐ๊พผ ํ์ ์งํํด์ผ ํ๋ค.
์ฑ ์ ์คํฌ๋ฆฐ์ท ์์ด ๊ธ๋ก ์ค๋ช ๋์ด ์๋๋ฐ ์ฐ์ธก ์๋จ์ my account๋ฅผ ๋๋ฌ๋ณด๋ฉด ๋ฐ๋ก ์๋์ ๊ฐ์ ํ๋ฉด์ด ๋์ค๊ณ ๋ค๋ฅธ ๋ฉ๋ด๋ฅผ ์ฐพ์ ํค๋ฉ์ผ ํ์ ์์ด Qiskit in local environment ํญ๋ชฉ์์ ๋ฐ๋ก API token์ ํ์ธํ ์ ์๋ค.
์ฑ ์ด ์ถํ๋ ์์ ๊ณผ ํ์ฌ ์์ ์์์ qiskit์ ๋ฒ์ ์ ๊ฝค ๋ค๋ฅด๋ฏ๋ก ์ฌ์ค ๊ทธ๋๋ก ์คํ์ด ๋์ง ์๋๋ค. ์ด๊ฑด ํ ์์ ์์ qiskit 0.23.0 ๊ธฐ์ค์ ์ค๋ช ์ด๋ค.
ํน๋ณํ ์ฑ ์ ์๋ ๋ด์ฉ๋๋ก ๋์ํ์ง ์๋ ๋ถ๋ถ์ ๋ํด ์์ ๋ ์ ๋ง ์ค๋ช ํ๋ค.
jupyter notebook์ update๋ Origin ์ฃผ์์์ fork ํด์จ Forked ์ฃผ์์์ ํ์ธ ๊ฐ๋ฅํ๋ค.
Chapter01์ ๋ถ๋ถ๋ง ํ์ธํด ๋ณด๊ณ ์ ํ๋ฉด ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์.
๋์ ๊ฒฝ์ฐ๋ numpy, pywin32, Pillow ๋ฑ์ ํจํค์ง๋ฅผ ์ฌ์ค์น ํด์คฌ๋ค.
IBMQ.backends() ํจ์๊ฐ ๋์ํ์ง ์๋๋ค. ๊ฒ์ํด ๋ณด๋ฉด ์๋์ ๊ฐ์ ๋งํฌ๋ฅผ ์ฐพ์ ์ ์๊ณ ํด๊ฒฐํ ์ ์๋ค.
IBMQ์์ ๋ฐ๋ก ํธ์ถํ๋ ํํ๊ฐ ์๋๋ผ provider์์ backend๋ฅผ ์ป๋ ํํ๋ก ์งํํด์ผ ํ๋ค. backends()์ get_backend() ํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
provider = IBMQ.get_provider()
print(provider.backends())
backend = provider.get_backend('ibmq_qasm_simulator')
