fbpx

使用 IBM Qiskit 進行實用量子運算的快速上手指南

基於 IBM Qiskit 文件學習和理解通用量子運算( Quantum Computing )的完美初學者指南

從這 5.5 小時的課程,你會學到

  • 根據 IBM Qiskit 文件學習和了解通用量子運算

要求

  • 基本的電腦知識和對量子運算的熱情是唯一的先決條件

課程說明

您好,歡迎來到我的新課程“使用 IBM Qiskit 進行實用量子運算的傻瓜指南”。我們目前經典的計算技術是基於位元( bits  )或二進位數字( binary digits  ) 1 和 0 。 1 為開,0 為關。儘管它有兩種狀態,但一個位元一次只能以一種狀態存在。就像一枚硬幣有兩個面 – 正面和背面。

注意:在經典計算機中,程式設計師可以簡單地編寫高級程式碼並運行它。但是對於量子計算機,我們必須設計電路來執行特定任務。

量子運算概念與經典概念完全不同。它利用像電子這樣的微小亞原子粒子的量子力學特性來進行運算。代替 1 和 0, qubit 或 quantum bit  使用電子的“上”和“下”自旋位置。

但與 bits 不同的是,qubits 可以同時以兩種狀態存在。就像一枚硬幣一直在旋轉,我們可以說它的正面和反面概率相等。或者它同時是頭和尾。

例如,考慮尋找最佳路徑的 1 bit 計算。 0 表示右,1 表示左。具有單個 bit 的經典計算機必須首先將 bit 設置為 0 才能進入左側路徑,然後設置為 1 才能進入右側路徑以找到最佳路徑。但是具有單個 qubit  的量子計算機可以同時通過這兩條路徑,並且只需一半的時間即可得出解決方案。

隨著 qubits 數量的增加,與經典計算機相比,這種速度呈指數增長。需要大量並行處理能力的資料分析、人工智慧等運算可以在幾毫秒內完成計算,而現在需要很長時間才能完成。

儘管它不會取代我們的筆記本電腦或手機,但量子計算機將能夠解決經典計算機在資料處理方面的這些障礙。最近,Google 宣布它擁有一台比實驗室中任何經典計算機快 1 億倍的量子計算機。

我們課程的第一部分從第 1 課到第 6 課,我們正在學習有關量子力學( quantum mechanics )和 quantum bits 的基本細節,這將從對量子力學的介紹開始。我們將嘗試用最簡單的解釋方式快速了解量子力學與經典物理學的區別、粒子的雙重性、雙縫實驗、疊加、量子糾纏( quantum entanglement  )等。

在下一節中,我們將討論經典 bits 和稱為 qubits 的 quantum bits 之間的區別。創建、表示和處理經典 bits。然後是如何生成 qubit,qubit 內部是什麼,資料如何在 qubit 中表示,以及是什麼使它比經典 bits 更快。

然後我們將詳細了解如何創建 qubit 以及如何保留其資訊。我們還將討論量子計算機的結構以及在其中處理 qubits 的方式。

然後我們將學習標量和向量。如何使用向量和矩陣來表示 quantum bit 的狀態。關於將 qubit 表示為 Ket 向量和矩陣。我們還將學習基本的矩陣運算。

在了解了經典 bits 和 qubits 之後,我們現在可以繼續研究 gate (閘)了。首先,我們將了解經典閘、其工作原理以及不同類型的經典閘(classical gates )及其真值表( truth tables )。

在下一節中,我們將了解研究量子計算機的領先公司流行的量子框架,它們的優點和缺點。

清楚所有概念後,現在我們可以繼續我們課程的實踐部分。我們將首先通過安裝 python 環境來設置我們的計算機。通過安裝名為 anaconda 的 python 發行版,它變得很容易。然後我們將繼續安裝和測試 IBM 的量子框架 qiskit

一旦我們的計算機中安裝了 qiskit 並運行了量子模擬器,我們將使用稱為 Pauli x 閘( gate )的簡單量子閘(  quantum gate  )對我們的第一個量子電路進行編碼。稍後我們將嘗試自定義 Pauli x 閘的輸入和輸出並驗證操作。

一旦我們在模擬器中進行了驗證,就可以在真正的量子計算機中進行嘗試了。 IBM 提供訪問他們位於世界各地研究設施中的數量的量子計算機。使用 IBM 量子體驗接口,我們可以簡單地創建 Pauli x 閘電路以在真正的量子計算機中工作並獲得輸出。

然後我們將檢查如何使用狄拉克表示法( dirac notation )將矩陣表示為狀態向量(  state vectors )。我們將看到 Pauli x 閘矩陣( gate matrices  )將如何表示為狀態向量。

同樣,我們將繼續使用 Pauli Y 閘。我們將首先檢查狀態向量並嘗試在我們的 qiskit 模擬器中進行操作,然後在 IBM 真正的量子計算機中實現它。

就這樣,另一個閘叫做 Pauli Z 閘。對於這個我們也將首先了解我們的 qiskit 模擬器中的操作,然後在真正的量子計算機中實現它。

在下一節課中,我們將了解我們已經學習過的 Pauli x、y 和 z 閘的特徵值和特徵向量。

之後,我們將了解一種稱為 Hadamard 閘或 H 閘的新閘。這個閘能夠從經典 qubit 產生疊加。我們將介紹 H 閘的操作。然後我們將在 qiskit 模擬器中實現 H 門。我們將使用 qiskit 檢查 bloch 球體和直方圖表示。

使用 H 閘,我們還將嘗試創建一些自定義電路,其中我們將嘗試僅使用 H 和 Z 閘來複製 X 閘操作。在下一個電路中,我們將檢查我們測量 qubit 時疊加坍縮的現象。

然後我們將在 IBM 量子計算機中嘗試 Hadamard 閘。

在 H 閘之後,我們將採用快資訊對話節( quick sessions)來處理更多門。第一個稱為 R Phi 閘。然後我們將檢查另外兩個稱為 S 和 T 閘的閘。最後將處理 U 和 I 閘。我們將檢查這些門的轉移矩陣和操作。

那些是具有單 qubit 操作的閘。現在我們將繼續使用能夠進行多 qubit 操作的閘。在此之前,我們將學習如何表示多 qubits 及其狀態( states )。我們將使用一個名為 qiskit-notebook 的包裝來表示多 qiskit 狀態向量。

首先,我們將嘗試使用單個 qubit 閘創建一個多 qubit 電路。首先,我們將嘗試將 X 和 H 閘組合起來形成電路。稍後我們將嘗試使用兩個 qubits 和一個閘。

之後,我們將繼續一個真正的多 qubit 閘,稱為 CNOT 閘或 Controlled NOT 閘。我們將更多地了解 CNOT 門、真值表( truth table )及其操作。首先,我們將嘗試使用經典 qubits 的 CNOT 閘。我們將在 qiskit 中實現它。稍後我們將嘗試僅使用一個疊加 qubit 的 CNOT 閘,然後使用兩個疊加 qubits。

然後我們將繼續在 IBM 的 Real 量子計算機中實現 CNOT 閘。

我們還可以使用 CNOT 閘創建恆等電路。使用這些等價電路,我們可以模擬在真實量子計算機中無法執行的其他閘的操作。

首先,我們將使用一個用 H 閘包裹的 CNOT 閘創建一個恆等電路,這樣它就可以像一個放置在相反方向的 CNOT 閘一樣工作。

然後我們將嘗試在 Hadamard 閘之間使用 CNOT 閘的另一個等效電路,該電路將生成受控 Z 閘( Controlled Z gate )或 CZ 閘的操作。

像這樣,我們將為另一個稱為 CY 閘或受控 Y 閘的理論閘創建一個等效電路。

還有另一個閘稱為 SWAP gate。顧名思義,它可以在彼此之間交換 qubit 狀態。我們還將為 swap 閘創建電路標識或電路等效性。

類似地,對於另一個稱為 Tiffoli gate的閘,我們將為 tiffoli 閘創建電路標識或電路等效性,我們將在 qiskit 中實現該電路。

這就是 gates 的全部內容,我們現在將繼續學習一種重要的演算法,稱為 Deutsch-Jozsa 演算法或 DJ 演算法,它展示了量子並行性( quantum parallelism )。

該演算法的基礎數學非常複雜,我們只是嘗試以非常淺的方式學習它。首先,我們來看演算法處理的 DJ 問題,稍後我們將了解演算法設計。稍後我們將在 qiskit 中實現它並驗證結果。

然後我們將繼續討論兩種有趣的技術。

第一個稱為 QKD 或量子密鑰分發( Quantum key distribution ),它利用量子系統的獨特屬性來生成和分發加密密鑰。量子密碼學( Quantum cryptography )還使用相同的物理原理通過專用通信鏈路傳輸幾乎不可破解的資料。

然後我們將討論量子隱形傳輸( Quantum tele-portation  ),這是一種將量子資訊從一個位置的發送者傳輸到一定距離之外的接收者的技術。

總體而言,對於對量子計算著迷並希望了解更多有關量子計算的初學者來說,這將是一門不錯的課程。實際的量子計算都是關於複雜無聊的數學和公式,我已經盡力避免以非常簡單的方式將其轉換為初學者可以理解。

在本課程中,我們嚴格遵循 IBM Qiskit 文件和教科書。本課程中使用的幾乎所有插圖和示例都來自 IBM qiskit 文件網站,你可以參考該網站以進一步學習。

量子計算機可以幫助在科學、藥物、機器學習、材料科學、金融等領域取得新的突破,幫助人類成為全宇宙最好的文明。事實上,量子計算機是如此強大,以至於沒有人知道如何發揮它的真正潛力,而且到目前為止,還沒有一個量子演算法是完美的。硬體和編碼仍處於開發階段,為量子運算專業人士提供了巨大的未來機會。

這就是本快速課程中當前包含的所有主題。本課程中使用的程式碼和 jupyter notebook 檔案已上傳並共享到一個檔案夾中。我將在最後一節課或本課程的資源部分涵蓋下載它們的連接。你可以自由使用在專案中編碼,無需提出任何問題。

此外,完成本課程後,你將獲得課程結業證書,這將為你的投資組合增值。

暫時就這些了,我們教室見。快樂學習,玩得開心。

參考資訊與感謝

————————-

  • IBM’s qiskit – learn
  • IBM’s qiskit – textbook
  • IBM’s qiskit – documentation
  • blog cloudflare – the-quantum-menace
  • towardsdatascience -demystifying-quantum-gates-one-qubit-at-a-time-54404ed80640
  • wikipedia – Quantum_logic_gate
  • jonathan-hui – qc-quantum-computing-series-10ddd7977abd
  • youtube – Coding with Qiskit
  • youtube – Veritasium, a much simplified explanation to every complex quantum concepts
  • 深受 Andrea Morello 教授( Quantum Engineering, University of New South Wales ) 的作品和文章啟發

目標受眾

  • 想要從實用量子運算概念入手的初學者

講師簡介

Abhilash Nelson 在杜拜的電腦工程專家 & 資深程式設計師

我是一名具有開創性、才華橫溢且以安全為導向的 Android/iOS 移動和 PHP/Python Web 開發應用程式開發人員,提供超過八年的整體 IT 經驗,包括設計、實施、整合、測試和支持具有影響力的完整 Web 和行動應用程式。

我是計算機科學與工程專業的研究生碩士學位持有者。

我在 PHP/Python 程式設計方面的經驗對於基於伺服器的 Android 和 iOS 客戶端應用程式來說是一個額外的優勢。

我目前全職擔任高級解決方案架構師,從頭到尾管理我客戶的專案,以確保高品質、創新和功能性設計。

英文字幕:有

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

報名參加課程更新 coupon code

Sponsored by Udemy



🛫使用關鍵字連結獲得更多線上學習資訊?請參考這個網頁說明


追蹤 Soft & Share

✍ 不受社群推薦演算法影響,建議 Telegram/Discord/e-mail

幫我們個小忙!

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: