๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœ’๏ธ WISET Qiskit Dev certificate/Main Lecture

< Lecture 1 - 1 >

by A Lim Han 2022. 8. 28.

1 - 1. ๊ฒŒ์ดํŠธ์™€ ์–‘์ž ํšŒ๋กœ_B. ๋‹ค์ค‘ ํ๋น„ํŠธ ๊ฒŒ์ดํŠธ

 

 

 

# ๋‹ค์ค‘ ํ๋น„ํŠธ ์ƒํƒœ

- ํ•œ ๊ฐœ์˜ ํ๋น„ํŠธ๊ฐ€ ์žˆ๋‹ค๋ฉด 0๊ณผ 1 ๋‘ ๊ฐ€์ง€์˜ ์ƒํƒœ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

-->  ๊ฐ™์€ ์›๋ฆฌ๋กœ 2๊ฐœ์˜ ํ๋น„ํŠธ๋Š” 4๊ฐ€์ง€, 3๊ฐœ์˜ ํ๋น„ํŠธ๋Š” 8๊ฐ€์ง€์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Œ

 

 

 

- ํฌ๋กœ๋„ค์ปค ๊ณฑ( Kronecker Product )

: 2๊ฐœ ์ด์ƒ์˜ ํ๋น„ํŠธ๊ฐ€ ๋ถ„๋ฆฌ๋˜์–ด ํ‘œํ˜„๋œ ์ƒํ™ฉ์—์„œ ์ด ํ๋น„ํŠธ๋“ค์˜ ์ƒํƒœ๋ฅผ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ์“ฐ์ž„

 

ex) a, b๋ผ๋Š” 2๊ฐœ์˜ ํ๋น„ํŠธ๊ฐ€ ์กด์žฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„๋•Œ ๋‘ ํ๋น„ํŠธ์˜ ์ƒํƒœ๋ฅผ ํฌ๋กœ๋„ค์ปค ๊ณฑ์„ ํ†ตํ•ด ํ‘œํ˜„ํ•ด๋ณด๊ธฐ

a ํ๋น„ํŠธ์™€ b ํ๋น„ํŠธ
ํฌ๋กœ๋„ค์ปค ๊ณฑ์„ ํ†ตํ•ด ํ‘œํ˜„ํ•œ ๋‘ ํ๋น„ํŠธ์˜ ์ƒํƒœ

 

 

 

- ๋‹ค์ค‘ ํ๋น„ํŠธ ์ƒํƒœ์™€ Qiskit์—์„œ์˜ ํ‘œํ˜„๋ฒ•

: ๋‹ค์ค‘ ํ๋น„ํŠธ์˜ ์ƒํƒœ๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ Qiskit์—์„œ๋Š” ๊ฐ€์žฅ ์™ผ์ชฝ์„ ์ตœ์ƒ์œ„ ๋ฐ”์ดํŠธ( MSB = Most Significant Bit ), ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์„ ์ตœํ•˜์œ„ ๋ฐ”์ดํŠธ( LSB = Least SIgnificant Bit )๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

 

 

 

 

# ๋‹ค์ค‘ ํ๋น„ํŠธ ๊ฒŒ์ดํŠธ์™€ ์–‘์ž ํšŒ๋กœ ๊ทธ๋ฆฌ๊ธฐ ์‹ค์Šต

1. ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Qiskit ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

 

 

 

2. 2๊ฐœ์˜ ํ๋น„ํŠธ๋ฅผ ์ง€๋‹Œ ์–‘์žํšŒ๋กœ qc ์ƒ์„ฑํ•˜๊ธฐ  -->  X ๊ฒŒ์ดํŠธ๋ฅผ 0๋ฒˆ์งธ ํ๋น„ํŠธ์— ๋„ฃ๊ธฐ  -->  ์–‘์ž ํšŒ๋กœ ๊ทธ๋ฆฌ๊ธฐ

 

 

 

3. ์œ„์—์„œ ์ž‘์„ฑํ•œ ๋‹ค์ค‘ ํ๋น„ํŠธ ์–‘์žํšŒ๋กœ๋ฅผ Statevector Simulator์— ์‹คํ–‰์‹œ์ผœ ๋ฒกํ„ฐ ์ •๋ณด๋ฅผ state0์ด๋ผ๊ณ  ์ง€์ •  -->  ์ด ์ƒํƒœ๋ฅผ latex(๋ ˆ์ดํ…์Šค) ํ˜•ํƒœ๋กœ ์ถœ๋ ฅ

+ ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์— ์œ„์น˜ํ–ˆ๋˜ 0๋ฒˆ์งธ ํ๋น„ํŠธ๋Š” ์ถ”๊ฐ€๋œ X ๊ฒŒ์ดํŠธ์— ์˜ํ•ด ์ƒํƒœ๊ฐ€ 1์ด ๋จ

+ ๊ฐ€์žฅ ์™ผ์ชฝ์— ์œ„์น˜ํ•œ ์ฒซ ๋ฒˆ์งธ ํ๋น„ํŠธ์˜ ๊ฒฝ์šฐ ์•„๋ฌด๋Ÿฐ ๊ฒŒ์ดํŠธ์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ๋ชปํ•ด 0 ์ƒํƒœ ๊ทธ๋Œ€๋กœ ์œ ์ง€

 

 

 

4. ์œ„์˜ ๋‹ค์ค‘ ํ๋น„ํŠธ ์ƒํƒœ๋ฅผ ๋ธ”๋กœํ ๊ตฌ๋กœ ์ถœ๋ ฅ

+ ์˜ค๋ฅธ์ชฝ ๋ธ”๋กœํ ๊ตฌ : 0๋ฒˆ์งธ ํ๋น„ํŠธ๋กœ, 1์„ ๊ฐ€๋ฆฌํ‚ด

+ ์™ผ์ชฝ ๋ธ”๋กœํ ๊ตฌ : 1๋ฒˆ์จฐ ํ๋น„ํŠธ๋กœ, 0์„ ๊ฐ€๋ฆฌํ‚ด

 

 

 

 

# ๋‹ค์ค‘ 2 ํ๋น„ํŠธ ๊ฒŒ์ดํŠธ - CX ๊ฒŒ์ดํŠธ

: Control ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ 1์ผ ๊ฒฝ์šฐ target ํ๋น„ํŠธ์— X ๊ฒŒ์ดํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์กฐ๊ฑด๋ถ€ ๊ฒŒ์ดํŠธ

+ Qiskit ์—์„œ ์œ„ ๊ฒŒ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ control ์ด ๋˜๋Š” ํ๋น„ํŠธ์™€ target์ด ๋˜๋Š” ํ๋น„ํŠธ๋ฅผ ๊ฐ๊ฐ ์ง€์ •ํ•ด์•ผ ํ•จ

 

ex 1) Control ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ 0์ผ ๋•Œ์˜ CX ๊ฒŒ์ดํŠธ ์‹ค์Šต 

+ ์ž‘์€ ์ ์œผ๋กœ ํ‘œ์‹œ๋œ ํ๋น„ํŠธ = control ํ๋น„ํŠธ

+ X ๊ฒŒ์ดํŠธ๊ฐ€ ๊ทธ๋ ค์ง„ ํ๋น„ํŠธ = target ํ๋น„ํŠธ

 

+ ์œ„ ์‚ฌ์ง„์˜ ์–‘์ž ํšŒ๋กœ์˜ ๊ฒฝ์šฐ ๋‘ ๋ฒˆ์งธ ํ๋น„ํŠธ์— X ๊ฒŒ์ดํŠธ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์•„ ์ถœ๋ ฅ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๊ฐ€ "00"์ด ๋จ 

-->  ๋‘ ํ๋น„ํŠธ์˜ ์ดˆ๊ธฐ ์ƒํƒœ๊ฐ€ ๋ชจ๋‘ 0์ด์˜€๊ณ , control ํ๋น„ํŠธ์˜ ์ƒํƒœ ๋˜ํ•œ 0์ด์˜€๊ธฐ ๋•Œ๋ฌธ

 

 

 

ex 2) Conrtol ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ 1์ผ ๋•Œ CX ๊ฒŒ์ดํŠธ ์‹ค์Šต

1.  " ex 1 ์˜ ์‚ฌ์ง„์ฒด์„œ X ๊ฒŒ์ดํŠธ๋ฅผ 0๋ฒˆ์งธ ํ๋น„ํŠธ์˜ ๊ฐ€์žฅ ์•ž์— ์ถ”๊ฐ€

 

 

2. control  ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ 1์ด ๋˜๋ฉฐ ์ƒํƒœ๊ฐ€ 0์ด์˜€๋˜ target ํ๋น„ํŠธ์˜ X ๊ฒŒ์ดํŠธ๊ฐ€ ์ ์šฉ๋จ  -->  ์œ„์˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ์ตœ์ข… ์ƒํƒœ๊ฐ€ "11"์ด ๋จ

 

+ ๋‹จ, control ํ๋น„ํŠธ์˜ ์ƒํƒœ๋Š” CX ๊ฒŒ์ดํŠธ์— ์˜ํ•ด ๋ณ€ํ™”๋˜์ง€ ์•Š์Œ

 

 

 

ex 3) Control , target ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ ๋ชจ๋‘ 1์ธ ๊ฒฝ์šฐ

+ control ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ 1์ž„  -->  1์ธ target ํ๋น„ํŠธ์˜ ์ƒํƒœ์— X ๊ฒŒ์ดํŠธ ์‹คํ–‰  -->  target ํ๋น„ํŠธ์˜ ์ƒํƒœ๋ฅผ 0์œผ๋กœ, ์ตœ์ข… ์ƒํƒœ๋กค "01"๋กœ ๋ณ€ํ™˜

 

 

 

 

# ๋‹ค์ค‘ 2 ํ๋น„ํŠธ ๊ฒŒ์ดํŠธ - CY ๊ฒŒ์ดํŠธ

: Control ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ 1์ด ๋˜๋ฉด target ํ๋น„ํŠธ์— Y ๊ฒŒ์ดํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์กฐ๊ฑด๋ถ€ ๊ฒŒ์ดํŠธ

์ƒํƒœ๊ฐ€ 0์ผ ๋•Œ๋Š” Y ๊ฒŒ์ดํŠธ ์‹คํ–‰ X
์ƒํƒœ๊ฐ€ 1์ด ๋˜๋ฉด Y ๊ฒŒ์ดํŠธ ์‹คํ–‰

 

 

 

 

# ๋‹ค์ค‘ 2 ํ๋น„ํŠธ ๊ฒŒ์ดํŠธ - CZ ๊ฒŒ์ดํŠธ

: Control ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ 1์ด ๋˜๋ฉด target ํ๋น„ํŠธ์— Z ๊ฒŒ์ดํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์กฐ๊ฑด๋ถ€ ๊ฒŒ์ดํŠธ์ด์ž ๋Œ€์นญ์ ์ธ(Symmetric) ๊ฒŒ์ดํŠธ

 

+ Symmectric Gate

: Control, Target ์ด ๊ตฌ๋ถ„๋˜์ง€ ์•Š๋Š” ๊ฒŒ์ดํŠธ

 

 

- Control ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ ๊ฐ๊ฐ 0, 1 ์ธ ๊ฒฝ์šฐ ๋น„๊ต

์ƒํƒœ๊ฐ€ 0์ผ ๋–„

 

์ƒํƒœ๊ฐ€ 1์ผ ๋•Œ

 

 

 

- Control, target ํ๋น„ํŠธ ๊ตํ™˜ํ•ด๋ณด๊ธฐ

-->  control, target ํ๋น„ํŠธ๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š์Œ์„ ํ™•์ธ ๊ฐ€๋Šฅ

 

 

 

- Control, Target ํ๋น„ํŠธ์˜ ์ดˆ๊ธฐ ์ƒํƒœ๊ฐ€ ๋ชจ๋‘ 1์ผ ๊ฒฝ์šฐ

+ target ๊ฒŒ์ดํŠธ์— Z ๊ฒŒ์ดํŠธ๊ฐ€ ์‹คํ–‰  --> ์œ„์ƒ์ด π ๋งŒํผ ๋ณ€ํ™”ํ•จ

 

 

 

 

# ๋‹ค์ค‘ 2 ํ๋น„ํŠธ ๊ฒŒ์ดํŠธ - CRX, CRY,  CRZ ๊ฒŒ์ดํŠธ

- CRX ๊ฒŒ์ดํŠธ

: Conrtol ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ 1์ด ๋˜๋ฉด target ํ๋น„ํŠธ์— RX ๊ฒŒ์ดํŠธ๋ฅผ θ๋งŒํผ ์‹คํ–‰ํ•˜๋Š” ์กฐ๊ฑด๋ถ€ ๊ฒŒ์ดํŠธ

 

- CRY ๊ฒŒ์ดํŠธ

: Conrtol ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ 1์ด ๋˜๋ฉด target ํ๋น„ํŠธ์— RY ๊ฒŒ์ดํŠธ๋ฅผ θ๋งŒํผ ์‹คํ–‰ํ•˜๋Š” ์กฐ๊ฑด๋ถ€ ๊ฒŒ์ดํŠธ

 

- CRZ ๊ฒŒ์ดํŠธ

: Conrtol ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ 1์ด ๋˜๋ฉด target ํ๋น„ํŠธ์— RZ ๊ฒŒ์ดํŠธ๋ฅผ θ๋งŒํผ ์‹คํ–‰ํ•˜๋Š” ์กฐ๊ฑด๋ถ€ ๊ฒŒ์ดํŠธ

 

 

 

 

# ๋‹ค์ค‘ 2 ํ๋น„ํŠธ ๊ฒŒ์ดํŠธ - CH ๊ฒŒ์ดํŠธ, CP ๊ฒŒ์ดํŠธ

- CH ๊ฒŒ์ดํŠธ

: control ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ 1์ผ ๋•Œ target ํ๋น„ํŠธ์— H ๊ฒŒ์ดํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์กฐ๊ฑด๋ถ€ ๊ฒŒ์ดํŠธ

 

- CP ๊ฒŒ์ดํŠธ

: control ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ 1์ผ ๋•Œ target ํ๋น„ํŠธ์— P ๊ฒŒ์ดํŠธ๋ฅผ θ๋งŒํผ ์‹คํ–‰ํ•˜๋Š” ์กฐ๊ฑด๋ถ€ ๊ฒŒ์ดํŠธ์ด์ž ๋Œ€์นญ์ ์ธ ๊ฒŒ์ดํŠธ

 

 

ex) CH ๊ฒŒ์ดํŠธ ์‹ค์Šต

-->  ํƒ€ ํ๋น„ํŠธ์˜ ์ƒํƒœ์— ๋”ฐ๋ผ ๊ทธ ํ๋น„ํŠธ๋ฅผ ์ค‘์ฒฉ ์ƒํƒœ๋กœ ๋งŒ๋“ค ์ˆ˜ O

 

 

 

 

# ๋‹ค์ค‘ 2 ํ๋น„ํŠธ ๊ฒŒ์ดํŠธ - SWAP ๊ฒŒ์ดํŠธ

: ๋‘ ๊ฐ€์ง€ ํ๋น„ํŠธ qubit0, qubit1์„ ์ง€์ •ํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉฐ, qubit0 ํ๋น„ํŠธ์˜ ์ƒํƒœ์™€ qubit1 ํ๋น„ํŠธ์˜ ์ƒํƒœ๋ฅผ ๋ฐ”๊ฟ”์ฃผ๋Š” ๋Œ€์นญ์ ์ธ ๊ฒŒ์ดํŠธ

 

- SWAP ๊ฒŒ์ดํŠธ ์‹ค์Šต

1. 0๋ฒˆ์งธ ํ๋น„ํŠธ์— X ๊ฒŒ์ดํŠธ ์ถ”๊ฐ€  -->  ์ƒํƒœ๊ฐ€ "01"์ด ๋จ

 

 

2. ์œ„ ์‚ฌ์ง„์˜ ์ƒํƒœ์—์„œ SWAP ๊ฒŒ์ดํŠธ ์ถ”๊ฐ€  -->  0๋ฒˆ์งธ์™€ ์ฒซ ๋ฒˆ์งธ ํ๋น„ํŠธ์˜ ์ƒํƒœ๋ฅผ ๋ฐ”๊พธ์–ด ์ƒํƒœ๊ฐ€ "10"์ด ๋จ

 

 

3. ๋ฉด๋ฐ€ํ•œ ๊ด€์ฐฐ์„ ์œ„ํ•ด ํ๋น„ํŠธ์˜ ์ด ๊ฐœ์ˆ˜๋ฅผ 5๊ฐœ๋กœ ๋Š˜๋ฆผ  --> ์ตœ์ข… ์ƒํƒœ๊ฐ€ "00001"์ด ๋จ

 

 

4. 3๋ฒˆ ์ƒํƒœ์—์„œ SWAP ๊ฒŒ์ดํŠธ๋ฅผ 0๋ฒˆ์งธ, ๋‘ ๋ฒˆ์งธ ํ๋น„ํŠธ์— ์‹คํ–‰์‹œํ‚ค๊ธฐ  -->  0๋ฒˆ์งธ, ๋‘ ๋ฒˆ์งธ ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ ์„œ๋กœ ๋ฐ”๋€Œ๋ฉฐ ์ตœ์ข… ์ƒํƒœ๊ฐ€ "00100"์ด ๋จ

 

 

 

 

# ๋‹ค์ค‘ 3 ํ๋น„ํŠธ ๊ฒŒ์ดํŠธ - Toffoli ๊ฒŒ์ดํŠธ( = CCX ๊ฒŒ์ดํŠธ )

: control_0 ํ๋น„ํŠธ์˜ ์ƒํƒœ์™€ control_1 ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ ๋ชจ๋‘ 1์ธ ๊ฒฝ์šฐ target ํ๋น„ํŠธ์— X ๊ฒŒ์ดํŠธ๋ฅผ ์‹คํ–‰ํ•ด์ฃผ๋Š” ์กฐ๊ฑด๋ถ€ ๊ฒŒ์ดํŠธ

 

 

- CCX ๊ฒŒ์ดํŠธ ์‹ค์Šต

Case 1) control0 ์ƒํƒœ๊ฐ€ 1์ธ ๊ฒฝ์šฐ target ํ๋น„ํŠธ์˜ ์ƒํƒœ๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š์Œ

 

 

 

Case 2) control0 ์ƒํƒœ๊ฐ€ 0์ด๊ณ   control1์˜ ์ƒํƒœ๊ฐ€ 1์ธ ๊ฒฝ์šฐ target ํ๋น„ํŠธ์— X ๊ฒŒ์ดํŠธ๊ฐ€ ์‹คํ–‰๋˜์ง€ X

 

 

 

Case 3) control0 ์ƒํƒœ๊ฐ€ 1์ด๊ณ   control1์˜ ์ƒํƒœ๊ฐ€ 1์ธ ๊ฒฝ์šฐ target ํ๋น„ํŠธ์— X ๊ฒŒ์ดํŠธ ์‹คํ–‰  -->  "011" ์ด์˜€๋˜ ์ดˆ๊ธฐ ์ƒํƒœ์˜ ์–‘์ž ํšŒ๋กœ๊ฐ€ "111"์ด ๋จ

 

 

 

 

# ์ฐธ๊ณ ์ž๋ฃŒ

: Qiskit-Dev-Cert-lectures + ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์ž๋ฃŒ ( https://github.com/QuantumComputingKorea/Qiskit-Dev-Cert-lectures )

 

 

'โœ’๏ธ WISET Qiskit Dev certificate > Main Lecture' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

< Lecture 1 - 2 - 0 >  (0) 2022.08.29
< Lecture 1 - 0 - 1 >  (0) 2022.08.24
< Lecture 1 - 0 - 0 >  (0) 2022.08.23