Udostępnij przez


ApplyUnitary, operacja

W pełni kwalifikowana nazwa: Std.Intrinsic.ApplyUnitary

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

Podsumowanie

Stosuje daną macierz jednostkową do podanych kubitów. Macierz jest sprawdzana w czasie wykonywania, aby upewnić się, że kształt jest kwadratowy i że wymiary macierzy są 2 ^ Length(qubits). Ta operacja jest tylko symulatorem i nie jest obsługiwana na sprzęcie.

Dane wejściowe

macierz

Macierz jednostkowa do zastosowania.

kubity

Kubity, do których należy zastosować macierz jednostkową.

Przykład

Powoduje to wykonanie dwóch kubitów CNOT przy użyciu reprezentacji macierzy jednostkowej:

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