完整名稱:Std.Diagnostics.CheckOperationsAreEqual
operation CheckOperationsAreEqual(nQubits : Int, actual : (Qubit[] => Unit), expected : (Qubit[] => Unit is Adj)) : Bool
總結
假設有兩個作業,檢查它們是否對所有輸入狀態都相同。
描述
這項檢查是使用 Choi–Jamiołkowski 同型來實作,以減少檢查兩個糾纏緩存器的檢查。 因此,此作業只需要對每個要測試的作業進行單一呼叫,但需要配置兩倍的量子位。 例如,這項檢查可用來確保優化版本的作業會與其天真實作相同,或針對一系列非量子輸入的作業與已知案例一致。
言論
此作業需要讓預期行為模型化的作業是相鄰的,以便單獨在目標緩存器上執行反向作業。 正式而言,您可以指定轉置作業,以放寬這項需求,但轉置作業在實體上無法實現任意量子作業,因此不會在此納入為選項。
輸入
nQubits
要傳遞至每個作業的量子位數目。
實際
要測試的作業。
預期
定義受測作業預期行為的作業。
輸出
如果作業相等,則為 True,否則為 false。