Introduction
to Quantum Technology (¶q¤l¬ì§Þ·§½×) 2024
Lecturer: ¦¿®¶·ç
Teaching Assistant (TA):
·¨
ªN®¦
Time: (11/22¡B11/29)¶g¤
13:00~15:50
Place: ¥ú¹q¤j¼Ó IL-116
Goal: To guide students to understand the basic principles of
quantum computing through programming. (±a»â¾Ç¥Í³z¹Lµ{¦¡³]p¤F¸Ñ¶q¤lpºâ°ò¥»ì²z)
Scoring¡G
- exercise (programming) (40%)
- project (programming) (45%)
- questionnaire (15%)
Textbooks:
Textbook Source Code:
Reference Books:
- ±i¤¸µ¾, ¶q¤l¹q¸£»P¶q¤lpºâ, ùÖ®p¸ê°T, 2020.
- ³¯«Ø§»(Ķ), ¶q¤lpºâ¹ê¾Ô, ùÖ®p¸ê°T, 2020.
- ²ø¥Ã¸Î(Ķ), ¹Ï¸Ñ¶q¤l¹q¸£¤Jªù, ÁyÃÐ, 2020.
- ªL§ÓÂEµ¥, ¶q¤l¹q¸£À³¥Î»P¥@¬É¯ÅÄvÁɹê°È, 2021.
- Jack D. Hidary, Quantum Computing: An Applied Approach (2nd
Ed), 2021.
- Chris Bernhardt, Quantum Computing for Everyone, 2020.
- Nihal Mehta, Quantum Computing -- Program Next-Gen Computers
for Hard, Real-World Applications, 2020.
- Michael A. Nielsen, and Isaac L. Chuang, Quantum Computation
and Quantum Information, 2002.
Syllabus:
- (11/22) (11/29) Quantum
programming for the first time (Introduction to IBM Q
quantum computer and D-Wave quantum computer) (QBookCh1.zip)
(QBookCh2.zip)(QBookCh3.zip)(QBookCh4.zip)(QBookCh5.zip)(QBookCh6.zip)(QBookCh7.zip)
- Use Qiskit 0.XX to be
compatible with my source
!pip install qiskit[visualization]==0.43.0 #This is an
old but stable version that is compatible with my codes
!pip install qiskit.aer
- Migrate from Qiskit 0.XX to
Qiskit 1.XX
1. !pip install qiskit.aer => !pip
install qiskit-aer
2. from qiskit.providers.aer import AerSimulator => from
qiskit_aer import AerSimulator
3. 3. from qiskit import execute => from qiskit import
transpile
4. The qiskit.execute function is not available in Qiskit
1.XX. This function served as a high-level wrapper around the
transpile and run functions in Qiskit. Instead of
qiskit.execute, use the transpile function followed by
backend.run().
# Legacy path
from qiskit import execute
job = execute(circuit, backend)
# New path
from qiskit import transpile
new_circuit = transpile(circuit, backend)
job = backend.run(new_circuit)
- #Installing
the following two packages for running quantum circuit with
simulator in Qiskit 1.xx
!pip install qiskit[visualization]==1.2 #Install Qiskit 1.2
with visualization tools
!pip install qiskit-aer #install qiskit.aer for version
before 1.X
- from qiskit import
transpile #for qiskit 1.0 or later
from qiskit_aer import AerSimulator #for qiskit 1.0 or later
from qiskit.visualization import plot_histogram
backend = AerSimulator()
transpiled_circuit = transpile(qc, backend=backend)
job = backend.run(transpiled_circuit,shots = 1000)
result = job.result()
counts = result.get_counts()
total_shots = sum(counts.values())
prob = {key: value / total_shots for key, value in
counts.items()}
plot_histogram(prob)
- Exercise:
(Due 11/28 23:59)
Write a program in the form
of ipynb to generate the following
Bell-state quantum circuit and its
associated measurement results.
- Project:
(Due 12/4 23:59) (ú¥æipynbÀÉ®×)
°ò©ó¤U¦C±`¼Æ - ¥¿Å¨ç¼Æ§PÂ_°ÝÃDªº¶Â½c¨ç¼Æ
f¡A³]p¶q¤lµ{¦¡«Øºc¨ÃÅã¥Ü¹ïÀ³ªºDeutsch-Jozsa ºtºâªk¶q¤l½u¸ô¡A¨Ã¦b¶q¤l¹q¸£¼ÒÀÀ¾¹¤W°õ¦æ¶q¤l½u¸ô
1000 ¦¸¡AÅã¥Ü¨ä¶q¤l¦ì¤¸´ú¶qµ²ªG¦UºØ¤£¦P¶q¤lºA³Q´ú¶q¥Xªº¦¸¼Æ¤Î¨ä¹ïÀ³ªºª½¤è¹Ï¡A³Ì«á¨Ã»¡©ú¬°¦ó´ú¶qµ²ªG¥Nªí¶Â½c¨ç¼Æ
f ¬°¥¿Å¨ç¼Æ¡C
𝑓: {0, 1}3¡÷ {0, 1}
𝑦 = 𝑓( 𝑥2𝑥1𝑥0
) = 1, if 𝑥1
= 1; otherwise, 𝑦 = 𝑓( 𝑥2𝑥1𝑥0
) = 0