Table of Contents

U gate (CUDA-Q)

U gate implementation using CUDA-Q. The example applies $U(\pi/2, 0, \pi) = H$ to $\lvert 0\rangle$ via its Euler decomposition, producing $\lvert +\rangle$.

// Compile: nvq++ main.cpp -o main
// Run:     ./main
 
#include <cudaq.h>
#include <cmath>
 
struct kernel {
    __qpu__ void operator()() {
        cudaq::qubit q;
        // U(theta, phi, lambda) via Euler decomposition: Rz(phi) Ry(theta) Rz(lambda)
        rz(0.0, q);           // phi   = 0
        ry(M_PI / 2.0, q);    // theta = pi/2
        rz(M_PI, q);          // lambda = pi  =>  equivalent to H
        mz(q);
    }
};
 
int main() {
    auto counts = cudaq::sample(kernel{});
    counts.dump();  // ~50% |0>, ~50% |1>
}