Bagikan melalui


Operasi ApplyUnitary

Nama yang sepenuhnya memenuhi syarat: Std.Intrinsic.ApplyUnitary

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

Ringkasan

Menerapkan matriks uniter yang diberikan ke qubit yang diberikan. Matriks dicentang pada runtime untuk memastikan bentuknya persegi dan bahwa dimensi matriks 2 ^ Length(qubits). Operasi ini hanya untuk simulator dan tidak didukung pada perangkat keras.

Masukan

Matriks

Matriks uniter yang akan diterapkan.

qubit

Qubit yang harus diterapkan matriks uniter.

Contoh

Ini melakukan dua CNOT qubit menggunakan representasi matriks uniter:

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