NVIDIA / cuda-quantum

C++ and Python support for the CUDA Quantum programming model for heterogeneous quantum-classical workflows
https://nvidia.github.io/cuda-quantum/
Other
555 stars 190 forks source link

Measurement error #891

Open zohimchandani opened 1 year ago

zohimchandani commented 1 year ago

Required prerequisites

Describe the feature

Team, can we please add measurement error to our list of noise models. Thanks.

justinlietz commented 1 year ago

Readout error can be included by taking the results vector from a noiseless simulation, and multiplying by a confusion matrix. The confusion matrix could be constructed by the user, but more often it is convenient to build the confusion matrix from independent qubit measurement error probabilities, or simpler yet, assume each qubit has the same measurement errors.

Once the matrix is constructed, the next question is where should it be stored? The noise_model class would be convenient, but currently noise_model only supports Kraus channel type models. Should noise_model be expanded to support more models, or should readout error be handled elsewhere?

The readout error noise can be added to add wrapper around the "sample" or "observe" calls, without effecting the simulation. Should this error only be applied to the results of density matrix simulations to be consistent with other sources of noise, even though the noise could easily be applied to other simulators?