QuantumBFS / Yao.jl

Extensible, Efficient Quantum Algorithm Design for Humans.

Home Page:https://yaoquantum.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Qiskit plugin - feature request

zohimchandani opened this issue · comments

Given how fast the Yao simulator is, it would be nice to have a Qiskit plugin where one could run Qiskit circuits on the Yao simulator.

Hi thanks for checking this package!

We can parse QASM inputs so if you export QASM 2.0 program that's already available as input for Yao using YaoBlocksQASM.jl. I'm not sure further wrapping qiskit in Julia would be that useful if your original circuit is written in qiskit. But I'm open if someone wants to work on this as long as there's a concrete use case.

However due to limited manpower we don't have plans for a python based interface at the moment if you are looking for using Yao directly from qiskit in python.

On the other hand I would like to clarify that qiskit is not significantly slower than Yao (at large size, as the benchmark shows https://github.com/yardstiq/quantum-benchmarks, since they implemented similar algorithms) that means it's very likely that the thick python level code slow down the entire simulation because of abstraction.

what people usually misunderstood is that the strongest feature of Yao is speed but it's actually about being generic. We achieved somewhat better performance with much less code back in 2020 because of this.

This is why we choose Julia and why in a special case of simulation it is fast. And also why you can create abstraction freely at fundamental level (e.g custom numbers other than floating points) in Yao without worrying about what language feature slows down your program.

This core feature also powers other things that won't be easy to use (or implement) in other framework such as automatic differentiation, sensitivity analysis, CUDA, symbolic calculation etc.

I hope this helps.