Aracılığıyla paylaş


ApplyUnitary işlemi

Tam ad: Std.Intrinsic.ApplyUnitary

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

Özet

Verilen birim matrisi verilen kubitlere uygular. Matris, şeklin kare olduğundan ve matris boyutlarının 2 ^ Length(qubits)olduğundan emin olmak için çalışma zamanında denetlenmektedir. Bu işlem yalnızca simülatördür ve donanımda desteklenmez.

Girdi

matris

Uygulanacak birim matris.

kubitler

Birim matrisin uygulanması gereken kubitler.

Örnek

Bu, birim matris gösterimini kullanarak iki kubit CNOT gerçekleştirir:

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