As it was advertised from the very beginning of the QML course, it's really easy and really hard in a really unexpected way. We started our journey on Pennylane in the first week after the first Xanadu lecture. Of course, we went for the codebook without hesitation. We didn't expect much, as we thought it would be the same as other packages or library documentation, full of crammed-up and confusing information, with some complex page layout.
But oh boy we were so wrong.
We were greeted with a simple and friendly design (complemented by the adorable hand-drawn pictures and circuits); all the content was organised into distinguishable sections such as the intro, single qubit gates, circuits, and more. This was a very good impression because from our previous experiences, documentations and tutorials were usually grouped into many simple drop-down menus with complications such as where do we start first and all.
The best part was that the page had a section for new content! Notifying us about what new knowledge we could learn; not to mention right beside it there was a progress system, showing you where in the codebook you were. Amazing feature! Because we kept getting lost where we were in other tutorials.
The lessons were extremely well-designed. The contents of the Introduction section were a breeze, as we learned most of them in previous courses like QBronze. Of course “Introduction to Quantum Computing” was a lot easier than “Single-Qubit Gates” and “Circuits with Many Qubits”, but this continuous learning path helped us to fill some gaps and have a strong foundation. Learning the syntax of Pennylane (or qml) took some time since we had to also initiate extra things like devices, wires, qnodes, etc., but the overall circuit development was pretty much similar to Qiskit and Cirq. This served as a gentle refresher, covering fundamental concepts like qubits, quantum circuits, and unitary matrices. We revisited the basics of quantum operations and representation through unitary matrices, setting a solid foundation for more complex topics.
The section on Single Qubit Gates took us deeper into quantum mechanics, exploring Pauli-X and Hadamard gates, as well as qubit rotations and global phases. We learned how to rotate qubits about the X and Y axes and construct various single-qubit gates from a basic subset. This hands-on approach solidified our understanding of single-qubit operations and their effects on quantum states.
The study of Circuits with Many Qubits introduced us to the complexities of multi-qubit systems and the fascinating realm of quantum entanglement. We expanded our gate repertoire with controlled gates and tackled the multi-qubit gate challenge, which required us to apply our knowledge in new and intricate ways. This section pushed the boundaries of our understanding and demonstrated the power of quantum circuits in more extensive systems.
The layout of the pages where the left-hand side was coding exercises and the right-hand theoretical, made it very easy on the eyes and navigatable. Another plus for Pennylane is the ability to apply arbitrary unitaries we design, which makes circuit design much easier.
Other lessons (various gates, quantum mechanics, algorithms, etc.) were just implementing what we knew from Qiskit and Cirq, but with Pennylane; so everything we learned went perfectly smoothly. We also loved that there were well-structured articles about different layers and ansatz which helped us a lot during our project. The various pre-defined templates, usage samples, article links, and many other useful features gave us a memorable and fun experience we will cherish as we progress in this field :D
Overall, our journey through Pennylane has been a mix of revisiting familiar concepts and discovering new depths in quantum mechanics. The structured approach, combined with practical coding exercises, has equipped us with the skills needed to tackle complex quantum problems and contribute effectively to our QARS project.
Thank you Womanium and Pennylane! :D