NVIDIA/cuda-quantum

Circuit to einsum conversion

zohimchandani opened this issue · 2 comments

Required prerequisites

  • Search the issue tracker to check if your feature has already been mentioned or rejected in other issues.

Describe the feature

For an upcoming demo, we need cuQuantum to accept CUDA-Q circuits into the CircuitToEinsum function here.


from cuquantum import cutensornet as cutn
from cuquantum import contract, CircuitToEinsum
import torch 
from qiskit.circuit import QuantumCircuit, Parameter

num_qubits = 1
measurement_ops = 'Z'
light_cone  = True 

# Define the quantum circuit with one qubit and two parameters
theta = Parameter('θ')
phi = Parameter('φ')

circuit = QuantumCircuit(num_qubits)
circuit.rx(theta, 0)
circuit.ry(phi, 0)

    
circuit = circuit.bind_parameters({theta: parameters[0], phi: parameters[1]})

converter = CircuitToEinsum(circuit, backend='torch')  

einsum_expression, tensor_operands = converter.expectation(measurement_ops, light_cone)

Here we can see that it can accept a Qiskit circuit, we would like it to accept CUDA-Q too.

Thanks

Request to cuQuantum here