Tensor network simulator

Playing around with the qml.beta.devices.DefaultTensor and noticed that my simulation is actually slower compared to using the lightning.qubit device. Any ideas what kind of circuit structures tensor network simulators are best for?


Hi @Zohim_Chandani1,

Thank you for your question! :slightly_smiling_face:

Using tensor network simulators is typically the best approach for simulating large shallow circuits. The reason for this is that the matrix-vector approach that lightning.qubit uses is not well-fit for simulating large circuits, as such state vector simulators store always store every amplitude of the state.

For example, the supremacy circuit Sycamore-53 can be simulated by using contractions within a tensor network (see simulation details for example in the recently released Jet paper. The same circuit, however, is infeasible to be simulated with a full state vector approach due to the enormous amount of memory required. The memory requirement for the simulation exceeds the current largest supercomputers memory capacity. You could check out more details of how the Sycamore-53

It’s also worth noting, that in PennyLane, the qml.beta.devices.DefaultTensor simulator is still in an experimental shape.

Hope this helps!

Thanks for your response @antalszava.

On a side note, for the qiskit.aer device, the number of backends available are limited at the moment. Any plans to extend this to stabilizer_simulators?

Hi @Zohim_Chandani1,

We don’t currently have plans to create devices for simulating stabilizer circuits.

Perhaps if more users request this, we could consider doing this. Or even better, this could make for a great user contribution.