Python 量子運算(舊版草稿)
2022/12/01
-----
https://pixabay.com/zh/photos/censorship-limitations-610101/
-----
◎ 量子運算:
-----
Q1:量子運算最有名的演算法是?
A1:秀爾演算法。
「秀爾算法非常重要,因為它代表使用量子計算機的話,我們可以用來破解已被廣泛使用的公開密鑰加密方法,也就是 RSA 加密算法。」 [3]。
「The best-known algorithms are Shor's algorithm for factoring and Grover's algorithm for searching an unstructured database or an unordered list.」[4]。
Q2:有什麼合適的教程可以實作秀爾演算法?
A2:IBM 的 Qiskit [1] 與 Google 的 Cirq [2] 是兩大主流 [5]。Cirq 的開發者明確地聲明,希望使用者已經掌握「Quantum Computation and Quantum Information」這本經典教科書。比較起來,Qiskit 就顯得有親和力許多。
「This tutorial isn’t a quantum computing 101 tutorial, we assume familiarity of quantum computing at about the level of the textbook “Quantum Computation and Quantum Information” by Nielsen and Chuang.」[6]。
「Quantum Computation and Quantum Information is a textbook about quantum information science written by Michael Nielsen and Isaac Chuang, regarded as a standard text on the subject.」[7]。
Q3:秀爾演算法的基礎是什麼?
A3:量子相位估計。
「這個算法應用了量子傅里葉逆變換,同時作爲一個實用的基礎量子算法,又被應用在 Shor's algorithm(質因式分解算法),和 HHL algorithm(經常用於各種量子機器學習的最優化算法)等等算法中。」[8]。
Q4:量子相位估計的基礎是什麼?
A4:量子傅立葉變換、傅立葉變換、傅立葉級數、還有一些基礎的微積分跟線性代數。
Q5:哪些大學有不錯的線上量子運算課程?
Q5:Berkeley [9], [11]、University of California, Irvine [10]。
-----
Qiskit
1. Quantum States and Qubits
1.1 Introduction
1.2 The Atoms of Computation
1.3 Representing Qubit States
1.4 Single Qubit Gates
1.5 The Case for Quantum
2. Multiple Qubits and Entanglement
2.1 Introduction
2.2 Multiple Qubits and Entangled States
2.3 Phase Kickback
2.4 More Circuit Identities
2.5 Proving Universality
2.6 Classical Computation on a Quantum Computer
3. Quantum Protocols and Quantum Algorithms
3.1 Defining Quantum Circuits
3.3 Bernstein-Vazirani Algorithm
3.4 Simon's Algorithm(QFT 的基礎)
3.5 Quantum Fourier Transform(QPE 的基礎)
3.6 Quantum Phase Estimation(Shor's Algorithm 與 HHL 的基礎)
3.7 Shor's Algorithm
3.8 Grover's Algorithm
3.9 Quantum Counting
3.10 Quantum Walk Search Algorithm
4.1 Applied Quantum Algorithms
4.1.1 HHL(qPCA 與 qSVM 的基礎)
4.1.1.1 PCA(Principal Component Analysis)
4.1.1.2 qPCA(quantum Principal Component Analysis)
4.1.1.3 SVM(Support Vector Machine)
4.1.1.4 qSVM(quantum Support Vector Machine)
4.1.1.5 Quantum computing for finance: Overview and prospects
4.1.2 VQE
4.1.3 QAOA
4.1.4 Solving Satisfiability Problems using Grover's Algorithm
4.1.5 Hybrid quantum-classical Neural Networks with PyTorch and Qiskit
QRunes:CoinFlip 算法
-----
3.5.1 QFT 與 QPE 的基礎
-----
Discrete Fourier Transform(DFT) & Fast Fourier Transform(FFT)
3.5.1. Discrete Fourier Transform
3.5.1.1 The Basics of Waves(實作一)
3.5.1.2 Euler's Formula(實作二)
3.5.1.3 Roots of Unity(實作三)
3.5.1.4 DFT Matrix(實作四)
3.5.1.5. Discrete Fourier Transform in Python(實作五)
3.5.1.6 Fast Fourier Transform
3.5.1.7 Fast Fourier Transform in Python(實作六)
Fourier Transform Family(FS、FT、DFS、DTFT、DFT、FFT)
3.5.2 Fourier Transform Family
Fourier Series(FS)
3.5.3 Fourier Series
3.5.3.1 Circular Motion
3.5.3.2 Simple Harmonic Motion
3.5.3.3 Wave Function
3.5.3.4 Hilbert Space
3.5.3.5 Dot Product
3.5.3.6 Orthogonality
3.5.3.7 Convolution
3.5.3.8 Dirichlet Kernel
3.5.3.9 Complex Fourier Series
3.5.3.10 Fourier Series in Python
3.5.3.11 Square Wave in Python
Fourier Transform(FT)
3.5.4 Fourier Transform
3.5.4.1 Taylor Series
3.5.4.2 Euler's Formula
3.5.4.3 Euler's Number
3.5.4.4 Complex Number
3.5.4.4.1 Complex Number in Python
3.5.4.5 Radian
3.5.4.6 Eigenvalues and Eigenvectors
3.5.4.7 Unitary Matrix
3.5.4.8 Unitary Transformation
3.5.4.9 Orthogonal Matrix
3.5.4.10 Orthogonal Transformation
Discrete Fourier Series(DFS)
3.5.5 Discrete Fourier Series
Discrete Time Fourier Transform(DTFT)
3.5.6 Discrete Time Fourier Transform
Time / Frequency
Sampling
z Transform
Filter
Discrete Cosine Transform
Discrete Hilbert Transform
-----
◎ 量子運算基礎:
-----
Quantum Computing
3.5.7 Hardamard Gate
3.5.7.1 Hardamard Matrix
3.5.7.2 Hardamard Transform
3.5.7.3 Single Qubit
3.5.7.4 Superposition
3.5.7.5 Bloch Sphere
3.5.8 Controlled Phase Gate
-----
3.7.1 Shor's Algorithm 的基礎
-----
3.7.1 Euler's Theorem
3.7.2 Shor's Algorithm in C
-----
◎ 延伸閱讀:
-----
-----
Appendix A
「Qantum Protocols and Quantum Algorithms
3.1 Defining Quantum Circuits
3.2 Deutsch-Jozsa Algorithm
3.3 Bernstein-Vazirani Algorithm
3.4 Simon's Algorithm
3.5 Quantum Fourier Transform
3.6 Quantum Phase Estimation
3.7 Shor's Algorithm
3.8 Grover's Algorithm
3.9 Quantum Counting
3.10 Quantum Walk Search Algorithm
3.11 Quantum Teleportation
3.12 Superdense Coding
3.13 Quantum Key Distribution」[1]。
-----
Appendix B
「第 6 章 常用量子算法介紹及實現
6.1 QAOA 算法
6.2 Deutsch–Jozsa 算法
6.3 Grover 算法
6.4 HHL 算法
6.5 QuantumWalk 算法
6.6 Simon 算法
6.7 CoinFlip 算法
6.8 Bernstein-Vazirani 算法
6.9 QPE 算法
6.10 Shor 算法」[3]。
-----
Appendix C
-----
References
# Qiskit
[1] Learn Quantum Computation using Qiskit
https://qiskit.org/textbook/preface.html
# Cirq
[2] Tutorials | Cirq | Google Quantum AI
https://quantumai.google/cirq/tutorials
# Quantum Algorithm
[3] QRunes — QRunes_tutorial documentation
https://qrunes-tutorial.readthedocs.io/en/latest/index.html
# Quantum Algorithm
[4] Quantum algorithm - Wikipedia
https://en.wikipedia.org/wiki/Quantum_algorithm
# Qiskit or Cirq
[5] (74) Should You Learn Cirq or Qiskit for Quantum Programming? - YouTube
https://www.youtube.com/watch?v=y69tg_eKHMU
[6] Cirq basics | Google Quantum AI
https://quantumai.google/cirq/tutorials/basics
# Standard Text
[7] Quantum Computation and Quantum Information - Wikipedia
https://en.wikipedia.org/wiki/Quantum_Computation_and_Quantum_Information
# QPE
[8] 量子相位分析算法 Quantum phase estimation algorithm - 台部落
https://www.twblogs.net/a/5c3f3957bd9eee35b3a6657c
# Berkeley 課程 Qubits, Quantum Mechanics, and Computers
[9] C191 Quantum information
https://inst.eecs.berkeley.edu/~cs191/fa14/
# University of California, Irvine
[10] CS 190/264, Fall 2018
https://www.ics.uci.edu/~irani/f18-quantum/index.html
# Berkeley 課程
[11] CS294-2, Spring 2007
https://people.eecs.berkeley.edu/~vazirani/quantum.html
-----
Python 量子運算(目錄)
https://mandhistory.blogspot.com/2022/01/quantum-computing.html
-----
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。