T 閘道和 T Factory

本文說明容錯量子運算中 T 閘道和 T Factory 的角色。 提供量子演算法時,執行 T 閘道和 T Factory 的必要資源估計會變得很重要。

一組通用量子閘道

根據 DiVincenzo 的準則 ,可調整的量子計算機必須能夠實 作一組通用量子網關通用集合包含執行任何量子運算所需的所有閘道,也就是說,任何計算都必須分解回有限的通用閘道序列。 量子計算機至少必須能夠使用單一量子位網關) 將單一量子位移至 Bloch Sphere (上的任何位置,以及在系統中引進需要多量子位網關的糾纏。

傳統電腦上只有四個函式會將一個位元對應到一個位元。 相反地,在量子電腦的單一量子位元上有無限的單一轉換。 因此,沒有任何一組有限的基本量子作業或閘道可以完全復寫量子運算中允許的無限單一轉換集。 這表示量子電腦與傳統運算不同,無法完全使用有限數目的閘道來執行每個可能的量子程式。 因此,量子電腦不能使用和傳統電腦相同的方式進行通用。 如此一來,當我們說一組閘道通用於量子運算時,實際上是指比傳統運算稍微差一點。

針對通用性,量子計算機只需要使用有限長度閘道序列 來近似 有限誤差內的每一個單位矩陣。

換句話說,如果任何單一轉換都大約可以從這個集合中以閘道作為基礎來撰寫,則一組閘道會設定為通用閘道。 針對任何指定的錯誤系結,必須有閘道$G_、G_{2}、\ldots,G_N$來自閘道集{1},如此一來

$$ G_N G_{N-1}\cdots G_2 G_1 \approx U。$$

因為矩陣乘法的慣例是從右到左乘這個序列中的第一個網關運算, $所以G_N$,實際上是最後一個套用至量子狀態向量的慣例。 更正式地說,如果每個容錯 $\epsilon>0$ 存在 $G_1、\ldots G_N$,讓 $G_N\ldots G_1$ 和 $U$ 之間的距離最多是 $\epsilon$,則這類閘道集會視為通用。 在理想的情況下,達到 $\epsilon$ 距離所需的 $N$ 值應該以 $1/\epsilon$ 來調整多對數。

例如,由 Hadamard、CNOT 和 T 閘道構成的集合是一個通用集合,可從其中產生任何數量量子位的任何量子計算 () 。 Hadamard 和 T 閘道集會產生任何單一量子位閘道:

$$H=\frac{1}{\sqrt{ 1 amp; 1 1 &\\ amp;-1 , \qquad T=\begin{bmatrix} 1 &\end{bmatrix}amp; 0 0 &\\ amp; e^{i\pi/4.\end{bmatrix}}&{2}}\begin{bmatrix} $$

在量子計算機中,量子網關可以分類為兩個類別:一個 一個網關和非 一次性網關,在此案例中為 T 閘道。 使用傳統計算機可以有效率地模擬從閘道建立的量子程式,因此,需要非 一個閘道才能取得量子優勢。 在許多量子錯誤修正 (QEC) 配置中,所謂的 一般網關很容易實作,也就是說,在作業和量子位方面需要非常少的資源,以容錯方式實作容錯,而需要容錯時,非 Quanord 網關的成本相當昂貴。 在通用量子網關集合中,T 閘道通常用來作為非 一般閘道。

一組標準的單一量子位元 Clifford 閘道,預設包含在 Q# 中,包括

$$H=\frac{{1}{\sqrt{{2}}\begin{bmatrix} 1 & 1 1 \\&-1 , \qquad S =\begin{bmatrix} 1 &\end{bmatrix} amp; 0 0 &\\ amp; i \end{bmatrix}= T^2, \qquad X=\begin{bmatrix} 0 &1 1 \\& 0 \end{bmatrix}= HT^4H,$$

$$Y =0 amp; -i &\\ amp; 0 \end{bmatrix}=T^2HT^4 HT^6, \qquad Z=\begin{bmatrix}1&&\begin{bmatrix}0 0\\& amp;-1 \end{bmatrix}=T^4。 $$

除了 T 閘道) (非 一元式閘道,這些作業可以組成單一量子位上任何單一轉換的近似單位轉換。

Azure Quantum Resource 估算器中的 T Factory

非 一次性 T 閘道準備非常重要,因為其他量子閘道不足以進行通用量子運算。 若要實作實際規模演算法的非 一次性作業,則需要低誤差率 T 閘道 (或 T 狀態) 。 不過,它們可能難以直接在邏輯量子位上實作,而且對於某些實體量子位也很難。

在容錯量子計算機中,必要的低誤差率 T 狀態是使用 T 狀態擷取處理站或 T Factory 來產生。 這些 T Factory 通常牽涉到一連串的擷取,其中每個回合都會採用許多以較小的距離程式代碼編碼的雜訊 T 狀態、使用擷取單位來處理它們,並輸出以較大距離碼編碼的較少雜訊 T 狀態,其中四捨五入、擷取單位和距離全都是可變動的參數。 此程式會逐一查看,其中一個四捨五入的輸出 T 狀態會以輸入的形式送入下一個回合。

根據 T Factory 的持續時間, Azure Quantum Resource 估算器 會決定在超過演算法總運行時間之前叫用 T Factory 的頻率,以及演算法運行時間期間可以產生多少 T 狀態。 通常,比在演算法運行時間期間,單一 T Factory 調用內產生的狀態還多。 為了產生更多 T 狀態,資源估算器會使用 T Factory 的複本。

T Factory 實體估計

資源估算器會計算執行演算法所需的 T 狀態總數,以及單一 T Factory 及其運行時間的實體量子位數目。

目標是在演算法運行時間內產生所有 T 狀態,並盡可能使用最少的 T Factory 複本。 下圖顯示演算法的運行時間和一個 T Factory 的運行時間範例。 您可以看到 T Factory 的執行時間比演算法的執行時間短。 在此範例中,一個 T Factory 可以擷取一個 T 狀態。 發生兩個問題:

  • 在演算法結束時叫用 T Factory 的頻率為何?
  • 需要多少個 T Factory 擷取循環複本,才能在演算法運行時間期間建立所需的 T 狀態數目?
此圖顯示演算法的運行時間, (紅色) 與一個 T Factory 運行時間 (藍色) 。在演算法結束之前,T Factory 可以執行 8 次。如果需要 30 個 T 狀態,且 T Factory 可以在運行時間期間執行 8 次,則需要 4 個平行執行的 T Factory 複本,以擷取 30 T 狀態。

在演算法結尾之前,可以叫用 T Factory 八次,這稱為擷取迴圈。 例如,如果您需要 30 個 T 狀態,在演算法運行時間期間會叫用單一 T Factory 八次,因此它會建立八個 T 狀態。 然後,您需要四份平行執行的 T Factory 擷取迴圈,以擷取所需的 30 個 T 狀態。

注意

請注意,T Factory 複本和 T Factory 調用並不相同。

T 狀態擷取處理站會以一連串的回合實作,其中每個回合都包含一組以平行方式執行的擷取單位複本。 資源估算器會計算執行一個 T Factory 所需的實體量子位數目,以及 T Factory 執行多久,以及其他必要參數。

您只能執行 T Factory 的完整調用。 因此,在某些情況下,所有 T Factory 調用的累積運行時間都小於演算法運行時間。 由於量子位會由不同的四捨五入重複使用,因此一個 T Factory 的實體量子位數目是用於一個四捨五入的實體量子位數目上限。 T Factory 的運行時間是所有四捨五入的運行時間總和。

注意

如果實體 T 閘道錯誤率低於所需的邏輯 T 狀態錯誤率,資源估算器就無法執行良好的資源估計。 當您提交資源估計作業時,可能會發現找不到 T Factory,因為所需的邏輯 T 狀態錯誤率太低或太高。

如需詳細資訊,請參閱 評估需求以調整為實際量子優勢的附錄 C。

下一步