Sdílet prostřednictvím


Operace ApplyUnitary

Plně kvalifikovaný název: Std.Intrinsic.ApplyUnitary

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

Shrnutí

Použije danou jednotkovou matici na dané qubity. Matice je kontrolována za běhu, aby se zajistilo, že je obrazec čtvercový a že rozměry matice jsou 2 ^ Length(qubits). Tato operace je pouze simulátor a není podporována na hardwaru.

Vstup

matice

Jednotková matice, která se má použít.

qubity

Qubity, na které se má použít jednotková matice.

Příklad

Tím se provede dvou qubitů CNOT pomocí reprezentace unitární matice:

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