次の方法で共有


ApplyUnitary 操作

完全修飾名: Std.Intrinsic.ApplyUnitary

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

概要

指定されたユニタリ 行列を指定された量子ビットに適用します。 マトリックスは実行時にチェックされ、その形状が正方形であり、行列の次元が 2 ^ Length(qubits)されていることを確認します。 この操作はシミュレーター専用であり、ハードウェアではサポートされていません。

インプット

マトリックス

適用するユニタリ 行列。

量子ビット

ユニタリ 行列を適用する量子ビット。

これにより、ユニタリ 行列表現を使用して 2 つの量子ビット 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
);