Partilhar via


Operação ApplyUnitary

Nome totalmente qualificado: Std.Intrinsic.ApplyUnitary

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

Resumo

Aplica a matriz unitária dada aos qubits dados. A matriz é verificada em tempo de execução para garantir que sua forma é quadrada e que as dimensões da matriz são 2 ^ Length(qubits). Esta operação é apenas simulador e não é suportada em hardware.

Entrada

matriz

A matriz unitária a aplicar.

Qubits

Os qubits aos quais a matriz unitária deve ser aplicada.

Exemplo

Isso executa um CNOT de dois qubits usando a representação de matriz unitária:

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