Compartir a través de


Operación ApplyUnitary

Nombre completo: Std.Intrinsic.ApplyUnitary

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

Resumen

Aplica la matriz unitaria dada a los cúbits especificados. La matriz se comprueba en tiempo de ejecución para asegurarse de que la forma es cuadrada y que las dimensiones de la matriz se 2 ^ Length(qubits). Esta operación es solo simulador y no se admite en el hardware.

Entrada

matriz

Matriz unitaria que se va a aplicar.

cúbits

Cúbits a los que se debe aplicar la matriz unitaria.

Ejemplo

Esto realiza un CNOT de dos cúbits mediante la representación de matriz unitaria:

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