λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
βœ’οΈ WISET Qiskit Dev certificate/Main Lecture

< Lecture 1 - 2 - 0 >

by A Lim Han 2022. 8. 29.

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 λ§€μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ–‘μžνšŒλ‘œ 규λͺ¨ 계산 κ°€λŠ₯

ν˜•μ‹μ€ qc.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