qiboteam / qibolab

Quantum hardware module and drivers for Qibo.
https://qibo.science
Apache License 2.0
42 stars 14 forks source link

Pulse simulator for IcarusQ #16

Closed scarrazza closed 2 months ago

scarrazza commented 3 years ago

I think we should consider the implementation of a pulse simulator for IcarusQ.

sorewachigauyo commented 3 years ago

@scarrazza By pulse simulator, do you mean something closer to QuTIP with pulses or using the qibo simulators with the adjustments for the chip topology?

scarrazza commented 3 years ago

I believe the later, e.g. IBM provide fake simulator for their chips, so you can have a feeling about the impact of noise.

sorewachigauyo commented 3 years ago

I think that for "a feeling about the impact of noise", it might be more accurate to use the former

@KuriFufu might have an idea for this

KuriFufu commented 3 years ago

I simulated single qubit gates once with the eigensolver from QuTiP. For including noise models it might be better to use the processor class from QuTiP, but I never used it before. There one can simulate different noise sources. The work flow there is like this : image

scarrazza commented 3 years ago

@KuriFufu thanks for explaining this approach. At some point we should check if this works well for the new chip with 10 qubit.

yjmaxpayne commented 2 years ago

Is this issue still in the roadmap? It will be helpful to have something similar to QuTiP with pulse optimisation functions enabled, such as these examples: https://nbviewer.ipython.org/github/qutip/qutip-notebooks/blob/master/examples/qip-optpulseprocessor.ipynb or https://nbviewer.ipython.org/github/qutip/qutip-notebooks/blob/master/examples/control-pulseoptim-Hadamard.ipynb

on a side note, will interfacing Qibo/Qibolab with QuTiP be an option for realizing pulse level simulation of quantum circuits?

alecandido commented 8 months ago

Maybe it would be relevant to tag @jykhoo1987

alecandido commented 2 months ago

Now the emulator has been merged in #849, so the basic version of this is available in releases.

Further issues will be tracked separately.