共用方式為


ApplyUnitary 作業

完整名稱:Std.Intrinsic.ApplyUnitary

operation ApplyUnitary(matrix : Complex[][], qubits : Qubit[]) : Unit

總結

將指定的一元矩陣套用至指定的量子位。 矩陣會在運行時間檢查,以確保其圖形是正方形,而且矩陣維度 2 ^ Length(qubits)。 此作業僅供模擬器使用,硬體不支援。

輸入

矩陣

要套用的一元矩陣。

量子比特

應該套用單一矩陣的量子位。

範例

這會使用單位矩陣表示來執行兩個量子位 CNOT:

import Std.Math.Complex;
use qs = Qubit[2];
let one = new Complex { Real = 1.0, Imag = 0.0 };
let zero = new Complex { Real = 0.0, Imag = 0.0 };
ApplyUnitary(
    [
        [one, zero, zero, zero],
        [zero, one, zero, zero],
        [zero, zero, zero, one],
        [zero, zero, one, zero]
    ],
    qs
);