Delen via


ApplyUnitary-bewerking

Volledig gekwalificeerde naam: Std.Intrinsic.ApplyUnitary

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

Samenvatting

Hiermee past u de opgegeven unitaire matrix toe op de opgegeven qubits. De matrix wordt tijdens runtime gecontroleerd om ervoor te zorgen dat de vorm vierkant is en dat de matrixdimensies 2 ^ Length(qubits). Deze bewerking is alleen simulator en wordt niet ondersteund op hardware.

Invoer

matrix

De unitaire matrix die moet worden toegepast.

qubits

De qubits waarop de unitaire matrix moet worden toegepast.

Voorbeeld

Hiermee wordt een twee qubit-CNOT uitgevoerd met behulp van de eenheidsmatrixweergave:

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