Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
);