Операция ApplyUnitary

Полное имя: Std.Inner.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
);