Yao.jl 0.5 has been released for a while. If you are interested now is the time to try it out! We hope this framework can ease your research in quantum information and please feel free to file us an issue and ask questions!
If you don’t remember what is this, Yao is a framework designed for quantum algorithm research with recent progress in variational quantum circuits in mind. You can also check our first announcement. Find more in our documentation: Home · Documentation | Yao
What’s new?
We refactored the whole package this year with:
- new logo
- a more elegant IR design inspired by the famous Quipper language which is completely hardware free (precision type
T
is now removed, and the whole type tree is simplified) - better low level interface with one single function
instruct!
- CUDA backend CuYao.jl is now registered offically
- Yao.jl itself now becomes a meta-package among many other small component packages, this allows all the Julian be able to re-use what we have built for Yao, e.g binary basis for linear algebra (BitBasis.jl), General Permutation Matices and more (LuxurySparse.jl) or develop new backend for Yao and ship it to the users without asking them to install anything new by making your own package with YaoBase.jl, YaoArrayRegister.jl or YaoBlocks.jl.
- more quantum algorithms implemented in QuAlgorithmZoo
- an experimental performance guard built with PkgBenchmark.jl is activated for Yao in YaoBenchmarks.jl
Papers citing Yao
Two algorithm papers using Yao for their algorithms are now public on arxiv:
- Variational Quantum Eigensolver with Fewer Qubits, Jin-Guo Liu, Yi-Hong Zhang, Yuan Wan, Lei Wang, [1902.02663] Variational Quantum Eigensolver with Fewer Qubits
- Learning and inference on generative adversarial quantum circuits, Jinfeng Zeng, Yufeng Wu, Jin-Guo Liu, Lei Wang, and Jiangping Hu, Phys. Rev. A 99, 052306 – Published 6 May 2019
There is also a review paper mentioned Yao:
- Parameterized quantum circuits as machine learning models [1906.07682] Parameterized quantum circuits as machine learning models
Work in Progress
- Experimental Multi-threading support with coming Julia 1.2+
- QuDiffEq.jl: DiffEq.jl + Yao.jl: Several quantum ODE solvers are implemented with Yao (GSoC 2019)
- YaoQASM.jl: with MLStyle.jl and RBNF.jl we can now efficiently generate parsers for low level languages like QASM
- Yao + Zygote: we experimentally integrated with Zygote with Yao, making Zygote be able to differentiate through Yao’s circuit matrix representation at the moment. An example can be find at Zygote’s paper:
New Benchmarks
Benchmark with google/Cirq and qiskit default simulator is added. We thank Juan Gómez from IBM for advice on our benchmark on qiskit. Please feel free to point out if we miss anything in the benchmark: quantum-benchmarks, we don’t claim this benchmark is the final/canonical result since all the frameworks included are developed in a fast pace.
JuliaCon 2019
I will give a talk on JuliaCon 2019 about Yao: Yao.jl: Extensible, Efficient Quantum Algorithm Design for Humans. :: JuliaCon 2019 :: pretalx
the other core developer of Yao @1115 is also coming to JuliaCon 2019, please feel free to chat with us! Meet you in Baltimore!