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
);