iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0
AI Engineering

從 AI Engineering 到 Quantum Machine Learning:30 天打造 QML 實驗與加速開發流程系列 第 4

Day 04|疊加、糾纏與量測:建立第一個貝爾態|Superposition, Entanglement, and Measurement: Building the First Bell State

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20260917/20183919fE9SllmMts.png

假設兩個人各拿到一張卡片,上面只寫著 0 或 1。打開後,他們發現自己的數字有時是 0、有時是 1,但兩張卡片的數字總是相同。這代表卡片之間存在特殊的量子關係嗎?

未必。發卡的人只要先丟一枚硬幣,再依結果把兩張卡都寫成 0,或都寫成 1,就能做出相同的紀錄。

Day3 研究一個量子位元如何受到量子閘影響。今天加入第二個量子位元,建立一種稱為貝爾態(Bell state)的共同狀態。直接量測時,它也只出現 0011;但換一種量測方式後,就會與上述擲硬幣的準備方式呈現不同統計。

本章沿著這個問題,逐步算出兩個量子位元的狀態、建立電路,再用 NumPy 與 CUDA-Q 模擬核對結果。核心判斷是:看見兩個結果相關,還需要排除什麼解釋,才能支持對整體狀態的結論?

Correlated outcomes alone do not establish entanglement: a shared classical coin can also produce only 00 and 11. This chapter builds a Bell state from two qubits, explains why its pure-state vector cannot be factored into independent states, and compares its measurement statistics with a classical mixture. NumPy calculations and CUDA-Q simulations connect the derivation to reproducible experiments, while distinguishing known-state comparisons from hardware certification or performance claims.

1. 兩個量子位元,為什麼需要四個振幅?

把兩個量子位元分別命名為 q0、q1。每個位元量測後是 0 或 1,合起來共有四種結果:00011011。本章固定左邊是 q0,右邊是 q1。

一個量子位元的純態有兩個振幅;兩個量子位元的共同純態則需要四個,分別對應這四種結果:

|ψ⟩ = a|00⟩ + b|01⟩ + c|10⟩ + d|11⟩

向量順序:[a, b, c, d]ᵀ
機率順序:[|a|², |b|², |c|², |d|²]

純態是能用一個狀態向量完整描述的情況。 表示把橫向排列改成直向排列;abcd 是可含複數的振幅,絕對值平方相加必須是 1。

例如,|00⟩ = [1, 0, 0, 0]ᵀ 表示必定量到 00。若四個振幅都是 1/2,四種結果的機率便各是 1/4。一次量測只得到一組兩位元結果,不會把四個振幅全部輸出。

固定順序是程式正確性的一部分。若一個程式把第二項當成 01,另一個卻當成 10,即使兩邊數字看起來相同,也可能在描述不同狀態。

2. 張量積:先學會組合兩個各自準備的狀態

先假設 q0、q1 可以各自準備、各自描述:

q0 的狀態:[a, b]ᵀ
q1 的狀態:[c, d]ᵀ

它們組合後,每個共同結果的振幅由對應分量相乘:

結果 q0 的分量 q1 的分量 共同振幅
00 a c ac
01 a d ad
10 b c bc
11 b d bd

這種組合叫作張量積(tensor product),符號是

[a, b]ᵀ ⊗ [c, d]ᵀ = [ac, ad, bc, bd]ᵀ

先把它理解成「按固定順序列出所有配對的乘積」就能開始計算。能拆成兩個個別狀態張量積的共同純態,稱為乘積態

例如,q0 是 |+⟩ = [1/√2, 1/√2]ᵀ,q1 是 |0⟩ = [1, 0]ᵀ,則:

|+⟩ ⊗ |0⟩ = [1/√2, 0, 1/√2, 0]ᵀ
             = (|00⟩ + |10⟩)/√2

此時 q0 直接量測各有一半機率,q1 一定得到 0。如果兩個都各自準備成 |+⟩,就得到:

|++⟩ = |+⟩ ⊗ |+⟩ = [1/2, 1/2, 1/2, 1/2]ᵀ

這個狀態有四項疊加,卻仍能拆成兩個個別狀態。因此,疊加的項目很多,並不等於存在糾纏。

3. 加入 CNOT:讓一個位元控制另一個的操作

|00⟩ 開始,先對 q0 做 H,q1 保持不動:

|00⟩ → H 作用在 q0 → (|00⟩ + |10⟩)/√2

H 是 Day3 的 Hadamard 閘。對整個系統來說,這個操作寫成 H ⊗ I;I 是保持 q1 不變的單位矩陣。

接著加入 CNOT,也就是受控反相閘。它在四個基本輸入上的規則是:q0 為 0 時保持 q1;q0 為 1 時翻轉 q1。

輸入 q0q1 輸出 q0q1 這一步做了什麼?
00 00 q0 為 0,保持 q1
01 01 q0 為 0,保持 q1
10 11 q0 為 1,將 q1 從 0 翻成 1
11 10 q0 為 1,將 q1 從 1 翻成 0

現在把規則用在剛才的疊加態。00 保持,10 變成 11,振幅依原本的規則一起保留:

(|00⟩ + |10⟩)/√2 → CNOT → (|00⟩ + |11⟩)/√2

這就是本章的貝爾態,寫作 |Φ+⟩,讀作 phi plus。完整電路如下,從左往右執行:

q0:|0⟩ ──H──●──量測
             │
q1:|0⟩ ─────X──量測

黑點表示控制位元,下面的 X 是受控制的翻轉。CNOT 並沒有先量測 q0,再交給一般 Python if 決定是否翻轉;它會對整個疊加態進行保留相位關係的量子操作。

如果先量測 q0,再按結果翻轉 q1,得到的準備方式會失去這裡保留的相位關係,後續統計也可能不同。第 5、6 節會用具體對照看出差別。

4. 為什麼這個貝爾態不能拆開?

這裡可以直接用四個乘積證明,不必先引入新的矩陣技巧。

假設貝爾態仍能寫成 [a, b]ᵀ ⊗ [c, d]ᵀ,那麼四個分量必須符合:

ac = 1/√2     對應 00
ad = 0        對應 01
bc = 0        對應 10
bd = 1/√2     對應 11

第一行要求 a、c 都不能是 0,最後一行要求 b、d 都不能是 0。但四個數都不是 0,ad 與 bc 就不可能是 0,與中間兩行矛盾。因此找不到這樣的兩個個別狀態。

對這個共同純態而言,糾纏(entanglement)就是無法把整體寫成兩個個別純態的乘積。關於兩個位元的完整資訊,必須放在共同狀態裡描述。

CNOT 是否產生糾纏仍取決於輸入。例如 CNOT|00⟩ = |00⟩,輸出仍是乘積態。看到電路含有 CNOT,不能直接斷定每次輸出都糾纏。

程式如何檢查同一件事?

測試把四個振幅排成 2 × 2 表格:

乘積態的振幅表:[ac  ad]
                [bc  bd]

貝爾態的振幅表:[1/√2    0  ]
                [  0    1/√2]

乘積態的表格由兩個向量的分量相乘而來,只有一個獨立方向;貝爾態的兩列則不能互相以倍數取代,有兩個獨立方向。這種獨立方向的數量稱為秩(rank),程式用 matrix_rank 核對貝爾態的秩為 2。

這是針對兩部分共同純態的判準。若準備方式包含一般隨機混合,就不能任意挑一個向量套用這項檢查,需要更一般的狀態描述。

5. 一樣只出現 00 與 11,可能有兩種完全不同的準備

貝爾態的振幅是 [1/√2, 0, 0, 1/√2]ᵀ,所以直接量測得到:

P(00) = 1/2
P(01) = 0
P(10) = 0
P(11) = 1/2

單看 q0,0、1 各半;單看 q1 也是。但一起看,兩個結果必定相同。在理想條件下,若這一輪 q0 得到 0,便知道 q1 也是 0。

現在建立另一個準備流程:每一輪先丟公平硬幣,正面準備 |00⟩,反面準備 |11⟩,再量測。它的四個機率與上面完全一樣,但每一輪準備的都是乘積態。

這種以一般機率選擇不同狀態的方式,稱為混合。本例是「一半 |00⟩、一半 |11⟩」的混合態。因為能由個別狀態的乘積按機率混合而成,稱為可分離混合態,不具有糾纏。

如果手上只有這一種量測的 0011 次數,就無法分辨兩個流程。這和 Day2 的結論相呼應:一份固定量測方式的機率表,未必包含完整狀態資訊。

糾纏也不代表可以選擇自己這邊的隨機量測結果,讓另一邊收到指定的 0 或 1。單看一方的紀錄仍是各半;要確認兩方的關係,還需要把量測設定與結果拿來比對,不能用這個流程傳送超光速訊息。

6. 換一種量測方式,把兩種準備區分開

目前的直接 0/1 量測稱為 Z 基底量測。Day3 已經證明,H 會把 |+⟩ 變成 |0⟩、把 |−⟩ 變成 |1⟩。因此,先做 H 再量 0/1,就等於改問:「這個位元在 +/− 方向上會得到哪個結果?」這稱為 X 基底量測

對兩個位元都先做 H,再量測,就是本章的 X 基底設定。輸出的 0、1 此時分別代表 +、− 的結果,不能忽略量測設定,只看位元字串。

貝爾態經過兩個 H,為什麼仍然只出現相同結果?

先分別展開兩項:

(H ⊗ H)|00⟩ = (|00⟩ + |01⟩ + |10⟩ + |11⟩)/2
(H ⊗ H)|11⟩ = (|00⟩ − |01⟩ − |10⟩ + |11⟩)/2

貝爾態是這兩項以相同振幅疊加,所以先將振幅相加,再除以原本的 √2。中間的 0110 抵消,0011 則保留下來:

(H ⊗ H)(|00⟩ + |11⟩)/√2 = (|00⟩ + |11⟩)/√2

所以 X 基底下,貝爾態仍然只出現 0011,各一半。

硬幣混合為什麼不會抵消?

混合流程每輪只準備 |00⟩|11⟩ 其中一個。上面兩條展開式各自量測時,四種結果都是 1/4;將這兩份機率各乘一半再相加,仍然都是 1/4。

這裡沒有把兩個不同準備的振幅加在一起,負號也就不會跨越不同輪次造成抵消。疊加先組合振幅再算機率;一般隨機混合則將各準備的機率加權平均。 兩者的運算次序不同。

加入第 2 節的乘積態作為第三個對照,理論結果如下,順序固定為 [00, 01, 10, 11]

準備方式 Z 基底分布 X 基底分布
乘積態 |++⟩ [0.25, 0.25, 0.25, 0.25] [1, 0, 0, 0]
貝爾態 |Φ+⟩ [0.5, 0, 0, 0.5] [0.5, 0, 0, 0.5]
一半 |00⟩、一半 |11⟩ 的混合 [0.5, 0, 0, 0.5] [0.25, 0.25, 0.25, 0.25]

乘積態在 X 基底必定得到 00,因為每個 |+⟩ 經 H 後都是 |0⟩。這也提醒我們,即使「兩個結果相同的比例是 100%」,也不能把它直接當成糾纏程度。

本日利用已知的準備電路、理想量測模型與數值計算,比較這三種狀態。這沒有進行不依賴裝置內部模型的驗證,也沒有測試貝爾不等式;後者涉及不同量測設定的關聯,以及特定經典局域模型必須遵守的限制。

7. 密度矩陣:讓純態與混合使用同一種記錄方式

前面的推導已能看出差異。接著介紹程式用來同時處理兩種準備的資料結構:密度矩陣,記作 ρ,讀作 rho。它能描述純態,也能描述一般機率混合。

純態的密度矩陣由 ρ = |ψ⟩⟨ψ| 計算。具體來說,表格第 i 列、第 j 欄,放的是「第 i 個振幅乘上第 j 個振幅的複共軛」。複共軛就是把虛部反號;本例振幅都是實數,因此直接相乘即可。

ρ_bell = (1/2) × [1 0 0 1]     ρ_mix = (1/2) × [1 0 0 0]
                 [0 0 0 0]                     [0 0 0 0]
                 [0 0 0 0]                     [0 0 0 0]
                 [1 0 0 1]                     [0 0 0 1]

混合態的矩陣,則是將 |00⟩|11⟩ 各自的密度矩陣乘上 1/2,再相加。

兩個表格從左上到右下的對角線相同,都是 [0.5, 0, 0, 0.5],對應 Z 基底的機率。貝爾態右上與左下還各有一個 0.5,它們保留了 0011 之間能產生干涉的關係,稱為這兩個分量之間的相干性。換基底後,這些差異才反映到新的機率中。

非對角元素不等於糾纏的通用標記,例如乘積態 |++⟩ 的密度矩陣也有非對角元素。它們描述的是指定基底下的相干性;糾纏則關心能否以可分離的方式描述不同部分。

如果只看其中一個位元呢?

忽略另一個位元後,用來預測單一位元量測結果的描述稱為約化狀態。本章貝爾態的任一位元約化狀態都是:

I/2 = [1/2   0 ]
      [ 0   1/2]

這表示只量這一個位元,無論選哪個理想的二方向正交基底,兩個結果都各半,稱為完全混合。它與純態 |+⟩ 不同:|+⟩ 在 Z 基底各半,但 X 基底有確定結果。

硬幣混合的兩個位元也各有相同的約化狀態。因此,即使完整掌握各自的單一位元統計,仍不足以還原它們之間的共同關係。可分離混合態與約化狀態的標準定義可對照 IBM Quantum 教材

8. 用 NumPy 核對,再用 CUDA-Q 描述電路

先直接計算四個振幅

NumPy 是 Python 的數值運算套件。以下獨立範例把前面的 H、CNOT 與張量積照順序寫出來:

import numpy as np

zero = np.array([1, 0], dtype=complex)
h = np.array([[1, 1], [1, -1]], dtype=complex) / np.sqrt(2)
identity = np.eye(2)
cnot = np.array([
    [1, 0, 0, 0],
    [0, 1, 0, 0],
    [0, 0, 0, 1],
    [0, 0, 1, 0],
], dtype=complex)

initial = np.kron(zero, zero)
after_h = np.kron(h, identity) @ initial
bell = cnot @ after_h

print("amplitudes =", bell.round(4))
print("probabilities =", (np.abs(bell) ** 2).round(4))

np.kron 計算張量積,@ 是矩陣乘法。CNOT 矩陣保留前兩項,交換後兩項,正好對應前面的輸入輸出表。預期結果為:

amplitudes = [0.7071+0.j 0.    +0.j 0.    +0.j 0.7071+0.j]
probabilities = [0.5 0.  0.  0.5]

完整的 bell_state.py 另外實作三種狀態的密度矩陣、兩種量測基底,以及有限次抽樣。可從專案根目錄執行:

python articles/day04/bell_state.py

CUDA-Q 將操作清單交給模擬器

CUDA-Q 是描述量子電路與安排執行的工具。它讓我們寫「對 q0 做 H,再以 q0 控制 q1」,由執行系統處理狀態演化。這個電路結構也見於 NVIDIA 官方入門範例

下面是可存成 Python 檔案執行的最小範例:

import cudaq

cudaq.set_target("qpp-cpu")

@cudaq.kernel
def bell_measure():
    q = cudaq.qvector(2)
    h(q[0])
    x.ctrl(q[0], q[1])
    mz(q[0])
    mz(q[1])

cudaq.set_random_seed(42)
counts = cudaq.sample(
    bell_measure, shots_count=1000, explicit_measurements=True
)
print(counts)

@cudaq.kernel 標記描述量子操作的程式區塊;qvector(2) 準備兩個初始為 0 的量子位元,x.ctrl 是受控 X,mz 是 Z 基底量測。這些操作在該區塊內由 CUDA-Q 編譯器識別,不能直接當成區塊外的一般 Python 函式。

qpp-cpu 指定用一般電腦的 CPU 模擬。sample 取得抽樣計數,shots_count=1000 表示累積 1,000 個結果。專案另有 cudaq_bell.py,支援兩種量測基底與三種準備方式:

python articles/day04/cudaq_bell.py --backend qpp-cpu
python articles/day04/cudaq_bell.py --backend nvidia

nvidia 選擇 GPU 模擬後端,需要可用的 NVIDIA GPU 環境。CPU 與 GPU 都是在一般電腦上模擬量子系統,這兩個選項都不是實際量子處理器。

本專案的 CUDA-Q 混合態實作用一般隨機數決定本批有多少次準備 00、多少次準備 11,再分批執行並合併計數。這對應每輪獨立丟公平硬幣的總計數分布,沒有把兩種準備當成同一個疊加向量。

為什麼要特別測量測順序?

本日使用 explicit_measurements=True,依程式中 q0、q1 的量測次序串接輸出,並用「只翻轉 q0」的案例檢查應得到 10

只檢查貝爾態不夠:把 0011 的左右兩位交換,字串仍然不變。非對稱案例才能揭露位元順序是否寫反。這是測試設計的一個實際例子:要選能讓錯誤現形的輸入,而不只是重跑看起來正常的示範。

9. 從計數算指標:每個數字回答不同問題

以下用一個具體例子計算。原始環境的 CUDA-Q 示範在 1,000 次、種子 42 下記錄 00: 49311: 507;其他兩項為 0。這是指定環境的抽樣結果,不要求其他版本或模擬器逐筆相同。

第一個問題:結果有多常相同?

相同比例 p_equal = (493 + 507) / 1,000 = 1

也可以用「相同記 +1、不同記 −1」的平均,得到關聯值

correlation = P(00) + P(11) − P(01) − P(10)

本例等於 1,表示全部相同;−1 表示全部不同。這是兩個 ±1 量測結果乘積的平均,不是一般資料分析中經過變異數標準化的皮爾森相關係數,也不是糾纏分數。第 6 節的乘積態與混合態都能在某些基底得到 1。

第二個問題:分布離理論有多遠?

本例抽樣比例是 [0.493, 0, 0, 0.507],理論是 [0.5, 0, 0, 0.5]。把四項差異取絕對值,相加後除以 2:

TVD = (|0.493 − 0.5| + |0 − 0| + |0 − 0| + |0.507 − 0.5|) / 2
    = 0.007

這個數稱為總變異距離(TVD),用來比較完整機率分布;0 表示兩份分布相同。即使相同比例是 1,TVD 仍可能不是 0,因為 00 與 11 的比例可能偏離各半。

第三個問題:抽樣次數夠不夠?

真實硬體要反覆準備、操作與量測,才能累積結果。模擬器則可以利用已算出的機率分布進行抽樣,實際工作量不一定等於把整段狀態演化重算同樣多次。

若每次抽樣獨立、機率固定為 p,N 次抽樣的機率估計,其標準誤為 √(p(1−p)/N)。標準誤描述重做多批實驗時的典型波動尺度,不是每批誤差的上限。對 p = 0.5:

次數 N 理論標準誤 換成百分點
100 0.0500 5
1,000 約 0.0158 約 1.58
10,000 0.0050 0.5

增加次數通常讓估計更穩定,但某一批不保證比上一批更接近理論。本日因此保留五組隨機種子;種子是控制程式隨機序列的起始設定,方便回查重跑,而不是用來挑選最好看的結果。

10. 如何重現實驗,並讀懂保存結果?

環境與套件

沿用 Day3 的 Python 3.12 專案虛擬環境 .venv。它是分開保存套件的資料夾,避免不同專案的版本互相影響。以下是在專案根目錄使用的 Linux/Ubuntu 指令:

source .venv/bin/activate
python -m pip install -r requirements-day04.txt
python -m pip check

若是新副本,先用 python3.12 -m venv .venv 建立環境。本日既有驗證使用 NumPy 2.2.6 與 CUDA-Q 0.15.1 的 cuda-quantum-cu12 發行套件,完整依賴見 requirements-day04-lock.txt。要重建同一組依賴,可改用這份清單安裝。

這些是專案已記錄的版本,不代表最新版安裝組合。不同 CUDA-Q 二進位發行套件可能衝突,因此沿用本專案環境時,應依清單安裝,不要在同一環境額外疊裝另一種發行套件。NVIDIA 安裝說明

固定哪些條件,改變哪些因素?

項目 本日設定
狀態 乘積態、貝爾態、硬幣混合態,共 3 種
量測 兩個位元都量 Z,或都量 X,共 2 種
次數 100、1,000、10,000,共 3 種
隨機種子 42–46,共 5 個
雜訊 未加入雜訊模型
後端 NumPy、CUDA-Q CPU、CUDA-Q GPU,分開保存

每個後端有 3 × 2 × 3 × 5 = 90 筆紀錄。貝爾態準備先 H 再 CNOT,需要兩層依序執行的操作;X 基底讀取額外加入可同時執行的兩個 H。這裡的層數是在描述邏輯電路,未計入特定硬體上的操作分解與讀取成本。

experiment.py 的執行方式為:

python articles/day04/experiment.py --backend numpy
python articles/day04/experiment.py --backend qpp-cpu
python articles/day04/experiment.py --backend nvidia

結果寫入 results/day04/<backend>/。不同後端分開保存,重跑相同後端會更新該處資料;若要另存核對結果,可加上 --output-dir /tmp/day04-check

shots_sweep.csv 按列保存狀態、基底、shots、種子、四種計數與各項指標;summary.json 保存執行環境及五組種子的平均值與樣本標準差。樣本標準差描述這五次結果彼此多分散,與上一節用公式計算的機率估計標準誤用途不同。

保存資料呈現了什麼?

以下是 2026-09-06 保存結果中,貝爾態在 Z 基底、五組種子的平均 TVD:

後端 100 shots 1,000 shots 10,000 shots
NumPy 0.02800 0.01540 0.00542
CUDA-Q CPU 0.02800 0.00900 0.00434
CUDA-Q GPU 0.02800 0.00900 0.00434

這組數據隨 shots 增加,平均分布誤差下降,符合抽樣波動縮小的預期。10,000 shots 時,保存的 CUDA-Q CPU/GPU 結果中,貝爾態在 Z、X 基底的平均關聯值都是 1;混合態在 Z 基底也是 1,在 X 基底則約為 0.0024,接近理論的 0。

兩個後端剛好產生相同計數,不是模擬正確性的必要條件。不同準備也會重用同一組種子,這些對照不能一概當成彼此獨立的統計樣本。

完整數據見 results/day04,歷史環境、GPU 驗證範圍與執行時訊息見 ENVIRONMENT.md。CPU/GPU 的耗時包含初次編譯與環境初始化,且只有兩個量子位元,未控制暖機與系統負載,因此這份資料不足以支持 GPU 加速結論。

11. 測試提供哪些證據?又有哪些問題尚未回答?

從專案根目錄執行既有測試:

python -m unittest discover -s articles/day04 -p 'test_*.py' -v

這會包含 NumPy 與 CUDA-Q CPU 測試。只有 NumPy 環境時,可將檔名條件改成 test_bell_state.py。要在可用的 GPU 環境核對 CUDA-Q 整合測試,則使用:

DAY04_TARGET=nvidia python -m unittest discover -s articles/day04 -p 'test_cudaq_bell.py' -v

本次 2026-09-11 改寫時,12 項 NumPy 與 CUDA-Q CPU 測試均通過;GPU 數字引用既有保存結果,不是本次重新測得。測試包含 CNOT 對照表、貝爾態振幅、純態不可分解的秩、約化狀態、密度矩陣條件、不同基底分布、計數總和與位元順序。

CUDA-Q 測試另以 get_state 取得模擬器向量,與 NumPy 參考計算比較,並允許不影響物理預測的整體相位差。這能核對兩種實作,卻不表示真實量子處理器能靠單次量測讀出完整向量。

這些證據支持本日指定狀態與電路的模擬行為。若要進一步研究未知硬體是否產生糾纏,就需要說明對裝置的假設、採用的糾纏判準,以及有限樣本和雜訊如何影響結論。

接回量子機器學習,也不能從「電路產生了糾纏」直接推論「分類會更準」。後續可以提出更具體的問題:在相同資料與訓練預算下,加入兩位元操作後,模型輸出、分類表現與成本如何改變?這需要模型對照實驗,本章尚未執行。

今天最有用的實驗習慣,是先寫出競爭解釋,再選能區分它們的觀察。只量 Z,貝爾態與硬幣混合無法區分;加入 X 基底,才讓這兩種已知準備的差異出現。測試輸入與量測設定,都是論證的一部分。

12. 本日來源

原始來源查閱日期:2026-09-06;本次改寫另於 2026-09-11 核對 CUDA-Q 入門文件與 IBM 複合系統教材。官方教學用於基礎概念與程式介面(API);表格的數值由本日代碼與測試交叉驗證。共用索引見 REFERENCES.md

延伸研究

[N2] Theodore McKeever and Ahsan Nazir. “An Introduction to the Foundations and Interpretations of Quantum Mechanics.” arXiv:2603.09818v2 (2026);預印本講義。原始來源完整書目

本章的 Bell 態與不同基底量測,可接到這份講義的量子關聯討論。局部結果相同,仍不足以判定整體狀態相同。

13. 下一篇

Day 05|從一般機器學習流程看懂 QML 流程

前四天已經建立狀態、量子閘與量測的基本工具。下一篇會把它們接回一筆資料的處理流程,從輸入如何進入電路,到量測結果如何交給一般電腦,整理成可逐步執行與核對的筆記本。


上一篇
Day 03|量子閘如何改變量子狀態?|How Do Quantum Gates Change Quantum States?
下一篇
Day 05|從一般機器學習流程看懂 QML 流程|Understanding QML Through the Classical ML Workflow
系列文
從 AI Engineering 到 Quantum Machine Learning:30 天打造 QML 實驗與加速開發流程11
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言