完全修飾名: 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
);