Pennylane+Cirq or PennyLane+ StrwberryFields for NISQ

Hello, I just started to use pennylane. (I installed a few min ago). Normally I am using cirq. But this time I am studying with NISQ and I want to optimize noise for NISQ. Now I am confused. Should I continue with Pennylane+Cirq or Pennylane+ StrawberryFileds. StrawberyyFileds includes quantum photonic chips. However I really do not know should I really design my NISQ chip with StrawberyyFields or Should I continue with Pennylane+Cirq and build some noisy ansatz circuits. My aim is minimizing systematic errors like error of each gate added up might be the wrong way to go

Best regards
And thanks :slight_smile:

Hi @nisq and welcome to the forum!

Regarding the choice of PennyLane-Cirq versus PennyLane-Strawberry Fields, this all depends on whether you want to work in the qubit-based or photonic/continuous variable based model of quantum computing. You can start understanding the difference between the two models by reading here, but generally you can expect to use different gates, noise channels, and underlying states in the photonic setting. Note that the qubit setting is also supported by some built-in PennyLane devices and as well as other plugins.

It sounds like you want to do error mitigation. As of PennyLane v0.14, you can analytically differentiate your circuit with respect to noisy gates such as DepolarizingChannel. This may be an interesting thing to look at for error mitigation.

1 Like

Thank you very much for your answer. :slight_smile: For some reason my chip will arrive later and till that date, I need to find a way to find correct angle between U and U’. I have 4 different parameters and my device is very similar to that:

The blue boxes are my phase shifters. the thick orange boxes are the beam splitters but the parameters we’re interested in tuning are just the phi’s in this instance. I have 4 phi’s (4 blue box). So I need something like U(phi1, phi2, phi3, phi4) in my ideal case and in the lab case I will probably find something U’(phi1, phi2, phi3, phi4) so in this case I need to tune my angle again to find my original U.
Now I still could not decide that Should I simulate this things with strwaberryfields or should I start with noisy circuit example?
And how can I simulate this kind of error? For instance I tried this example: but I am not so sure this is the correct way to go? Is there any small simulation for that? Do you have a small example for this kind of circuits? Or For instance can I convert this example: to my circuit?

Hi @nisq!

For your problem, I’d recommend directly using Strawberry Fields rather than the PennyLane-SF plugin. Strawberry Fields also supports loss channels, so you can certainly simulate that type of noise.

In terms of tuning parameters for a unitary, you could consider using the TensorFlow backend, which gives access to gradients for training/optimization.

There are also a lot of other tutorials to check out!

1 Like

Dear Tom Bromley
Thanks a lot :slight_smile: Then I am now starting to read tutorial and after that I will try to realize my circuits with Strawberry Fields. But I have 2 qubits and each qubits have 2 mode. Even from the beginning I feel stuck. I do not know how I can code it. For the questions of StrawberryFields I should write to here right? Not quantum computing stackexchange or not different strawberry fields forum??

Hi @nisq,

Yes in the photonic/continuous variable setting, the concept of a qubit is replaced with a quantum mode. There, you can imagine having a superposition over photon numbers, but there are alternative representations in position and momentum bases. It does take some time to understand the new paradigm, but hopefully our Strawberry Fields tutorials can help.

In terms of asking questions, you’re welcome to post here.


1 Like

Many thanks !
Yes it is quite new for me :))

No problem :smile: good luck!

1 Like